Seed nodes are now on v3.0.2Done tonight, 2026-08-09, between 16:02 and 16:15 UTC. Both pools paused for
about ten seconds each while their node restarted. If your miner logged a
reconnect in that window, that was us.
What changedOur three seed nodes had been running a build from July 11 that reported
itself as 3.0.0. That is the same version-reporting bug covered earlier in
this thread. The build already carried the DNS seed and the two IBD trust
anchors that shipped as 3.0.1 — we checked the running binaries rather than
assuming, and the assume-valid hash, the minimum-chainwork value and
seed.bitfinitechain.org were all in there. Only the version string was wrong,
so nobody was peering with a weaker node than advertised.
All three now run the published v3.0.2 binaries, and the installed files
hash to the release checksums exactly.
No reindex, no consensus change, no wallet migration.
Resultseed-1 /BitFinite:3.0.2(EB32.0)/
seed-2 /BitFinite:3.0.2(EB32.0)/
seed-3 /BitFinite:3.0.2(EB32.0)/
All three agree on the same best block hash, no warnings, and none of them
has restarted since. Blocks kept coming through the checks afterward, and
every worker reconnected to both pools. Electrum, the explorer and the block
indexer are all back up.
If your pool stats look odd for a bit, that is expected: ckpool's lifetime
counters (accepted shares, best share) reset when it restarts, and vardiff
starts low and ramps back up as it re-measures each worker. Your actual
hashrate and share rate are unaffected.
If you run your own nodev3.0.2 is a drop-in from 3.0.0 or 3.0.1. Stop, swap the binaries, start.
https://github.com/bitfinitechain/bitfinite-core/releases/tag/v3.0.2e209634baf2acb3eb5395b2954be5ae7e06075b3cac24a48d463ff9407b20eeb bitfinite-v3.0.2-x86_64-linux.tar.gz
18b10a2b0dccc804a6064f6b8a396dc154f7a130c0ded4c325e050d6954b0071 bitfinite-v3.0.2-x86_64-windows.zip
Those match the SHA256SUMS on the release page — verify with
rather than taking the numbers above on trust.
BitFinite
Upstream security sweep, v3.1.0 comingBitFinite forked from Bitcoin Cash Node v27.0.0 in December 2023. BCHN is now on v29.0.0, so we have been missing two and a half years of their fixes. Time to close that.
We went through the whole gap this week — 439 commits, 262 of them non-merge — and pulled out the ones that actually change how a node behaves under load
or under attack. The full ranked list with reasoning is in the repo:
https://github.com/bitfinitechain/bitfinite-core/blob/master/doc/upstream-security-backlog.mdWhat is going into v3.1.0:
* Per-peer bandwidth limits (-peerratelimit)
* Log rate limiting, so a noisy peer cannot fill your disk
* A socket descriptor leak fix, and the crash it eventually causes — this one matters on nodes with long uptime, which ours have
* Several undefined-behaviour fixes on the p2p input path, including a CBloomFilter CVE backport from Bitcoin Core
* DNS seeder thread-safety fixes — that binary runs seed.bitfinitechain.org, so it is worth getting right
* Ignoring timestamps from inbound peers. This one is worth more to us than to BCH: with a handful of peers per node, a couple of hostile inbounds is a meaningful share of the time samples
What is
not going in: the four consensus CHIPs from BCHN v29 (P2S,loops, functions, bitwise). Those are Bitcoin Cash's May 2026 network upgrade.
Adopting them here would be a hard fork needing coordinated activation across miners, so it is a separate conversation. It is not something we would slip into a security release, and it is hard to justify while our blocks are still
empty.
Nothing for you to do right now. When v3.1.0 is out we will post the checksums and the usual stop, swap, start instructions. Same drop-in as v3.0.2.
If you read the list and think we have the priorities wrong, say so.
BitFinite
v3.1.0 is outhttps://github.com/bitfinitechain/bitfinite-core/releases/tag/v3.1.0Drop-in from 3.0.x. Stop the node, swap the binaries, start it again. No reindex, no wallet migration, no consensus change. Our three seeds are running it now.
The DNS seeder was the worst of itTwo bugs we could reproduce by running the old and new seeder side by side against the same failure:
- A seeder that could not bind its DNS port printed "done", reported 0 DNS requests, and kept running while answering nothing. It looked healthy.
- It ignored the stop signal and had to be killed, throwing away every peer it had crawled since the last periodic dump.
Both fixed. That binary serves seed.bitfinitechain.org, so it is worth having right.
Also in- Socket descriptor leak, and the crash it caused once a node ran out of descriptors. Matters if your node stays up for weeks.
- Log rate limiting (-logratelimit, on by default): 1 MiB per hour per message, so a noisy peer cannot fill your disk.
- Control characters stripped from log messages.
- Several undefined-behaviour fixes on the p2p input path.
What did not make itWe said -peerratelimit was coming and it is not in this one. Upstream's version is written against a rewrite of how connections are managed that we have not ported. We could have hand-adapted it, but that means shipping network code in a shape nobody upstream has ever run, and that is not a trade
we wanted on the p2p layer. It is first in line next.
The four May-2026 consensus CHIPs from BCHN are also not in here on purpose. Those would be a hard fork and need miners to coordinate an activation, so they do not belong in a security release.
Verify16aed0716ba7dc6e9a94d5e6648cc25694d1eab77710d4755605edc7ccfa8ead bitfinite-v3.1.0-x86_64-linux.tar.gz
e3a7e962692ae16eda09c92ca5475acf692dbf9fc9551d5c35bac7f740b5955c bitfinite-v3.1.0-x86_64-windows.zip
Check them against the SHA256SUMS on the release page rather than trusting the numbers here.
Background on what else is queued from upstream is in the repo at doc/upstream-security-backlog.md if you want to argue with our priorities.
BitFinite
v3.1.1 — second batch, undefined behaviour on peer-reachable pathshttps://github.com/bitfinitechain/bitfinite-core/releases/tag/v3.1.1Close on the heels of 3.1.0 because these were ready and there was no reason to sit on them. Drop-in, no reindex, seeds are on it.
- CBloomFilter CVE backport from Bitcoin Core, plus a divide-by-zero guard in the filter hash. Those filters are built from data peers send you.
- UB in CNode::ReceiveMsgBytes — the network input path, every message from every peer.
- UB in SocketSendData above 2 GiB, and in AddToCompactExtraTransactions.
- MSG_FILTERED_BLOCK no longer reads a block off disk when the peer set no filter. Any peer could make your node do that work for nothing.
On -peerratelimit, one correction to what we said this morning: it is not just waiting on that one upstream rewrite. We measured it — roughly 30 net-layer commits sit between our base and it, about 840 lines added and 990 removed. So it is a sequenced port, not a cherry-pick.
We have now said "next release" about it twice. Not saying it a third time.
It ships when it ships.
4e36c7f1d79cf99c0dd53e6c8dfb49c45b7e8590acdf3080083a9a55aa818d5e bitfinite-v3.1.1-x86_64-linux.tar.gz
d774703ab6cb7e49abc43b346f604b33e1d462184fddcf5179dab0b2bd0ba8db bitfinite-v3.1.1-x86_64-windows.zip
Check against SHA256SUMS on the release page, not against these.
BitFinite
Small clarification — the Qt GUI wallet is in 3.1.0 and 3.1.1We called it out in the 3.0.2 notes and then stopped mentioning it, so if you assumed it had been dropped, that is on our release notes rather than on you.
bitfinite-qt ships in both the Linux tarball and the Windows zip for 3.1.0 and 3.1.1, same as before. Nothing changed except us forgetting to say so.