ZooBC 0.5.6 deployed to TestNet and DevNet
The release is on all 22 nodes and both gateways without a relaunch or genesis change. Eleven consensus rules activate at blocks 131,000 and 134,500; 72 forum reports were fixed and closed, while 16 remain scheduled for 0.5.7.
作者:Roberto Capodieci · 发布于
ZooBC 0.5.6 — live on TestNet and DevNet (20 October 2026)
Node 0.5.6+fc84d5bd, gateway cc59fa2, wallet V1.87, explorer 0.0.31, tools f5231c6 (github.com/zoobc/tools). Rolled on all 22 nodes and both gateways on 20 October 2026, about 02:15 UTC. No relaunch, no genesis change, balances and history untouched.
In numbers
| | | |---|---| | Forum reports answered (filed 2–18 October) | 91 | | Fixed and closed today | 72 | | Answered as by design and closed | 3 | | Confirmed, scheduled for 0.5.7 | 16 | | New consensus rules | 11 | | New transaction type | 1 (QueueAttendance, type 59) | | Node fixes without a rule (effective now) | 21 | | Wallet fixes (V1.87) | 6 | | Tools fixes | 3 (proof-of-ownership signing key and ZBC-MSG-v2 in all 10 languages, zbc-cli messages) | | Automated tests in the node build | 221 |
When the rules switch on
The code is on every node now. The eleven new rules switch on at a block height, the same moment for every node:
| Chain | Block | Expected time (UTC) | Bali | |---|---|---|---| | TestNet (zoobc.network) | 131,000 | about 23:00 UTC, 20 October 2026 | 07:00, 21 Oct | | DevNet (socialconnect.network) | 134,500 | about 23:20 UTC, 20 October 2026 | 07:20, 21 Oct |
Times are at the measured pace of 15.3 s/block (TestNet) and 15.0 s/block (DevNet); the block is the switch, not the clock. GET /api/v1/blockchain/rules on either gateway lists the rules with their height. Every fix that does not need a rule is effective since the roll.
A node still on 0.5.5 at its chain's height forks off. Operators: curl -fsSL https://zoobc.network/install | sudo bash -s -- --update --yes (DevNet: socialconnect.network), or let the self-updater follow the registry.
What changed
Liveness: a silent node leaves the draw (rules liveness_miss_rule, skip_penalty_absent_only)
Every active node carries a consecutive-miss counter, reset by a block it produces or a receipt it signs. A node that never produced a block is expelled at its 4th consecutive miss. An established node is suspended at its 4th miss (not drawn, no coinbase, no longevity share), comes back with its first receipt or block, and is expelled after 17,280 silent blocks (3 days). Nothing ever shrinks the active set below 3 nodes; if every node is suspended the chain draws from them again, and a queued node can produce the block that admits it. The previous block's producer is never drawn for the next block. The skipped-turn penalty is charged once per node per block and only to the node that was absent — present nodes were paying for other nodes' slots.
Block production after a stall (rules smith_window_anchor, halt_recovery_param)
Blocksmith rounds anchor on the previous block's timestamp, so a stall no longer pushes the valid window out of reach (the freeze that needed a restart). The 3,600 s recovery limit is a consensus parameter, and a block beyond it is accepted when its producer is the smith the draw expects, instead of splitting the chain for good. Fork choice weighs cumulative difficulty; a peer whose branch was rejected is left alone for a cool-down instead of being retried every 10 seconds.
Registry (rules poown_required, relay_owner_gates, oracle_registered_only, queue_attendance, coinbase_maturity)
Node registration and update require a verified proof of ownership signed by the node key (the parser never checked it, and every tool signed with the wrong key — fixed in all ten languages). A queued node proves it is online once per 5,760-block window with a QueueAttendance transaction paid from its stake; three misses and it is dropped, stake returned; the queue is ordered by stake × time waited. A node registered after genesis earns no coinbase or longevity share until 24 × N blocks after registration (never fewer than 1,440). Relay registration binds only to a gateway the sender owns; oracle attestations come only from registered attesters.
Markets (rules market_deposit_refund, market_min_notional)
The 50 ZBC market creation cost is a deposit, refunded at the 100th trade; orders whose quote amount rounds to zero are refused.
Effective since the roll (no rule needed)
- Zero-cost chain halt via underfunded CreateTrigger / CreateApp: admission checks what the reservation takes, block assembly never selects what a sender cannot pay.
- spendable_balance drift (doubled at every restart, stranded by failed undo, doubled after a reorg): the pool rebuilds its reservations from the balance.
- One sender could stall a node with a few hundred submissions (missing index), and a busy host made the node refuse transactions (host CPU gate): both fixed.
- Ethereum RPC (MetaMask) listens on loopback only; the gateway's
rpc.<domain>serves its own node. Nothing on the fleet answers 8545 from the Internet any more. - Fast sync and snapshot retention: newest manifest by reference height, chain-scoped pruning, the gate that kept every joiner block-by-block, best-peer fallback.
- Block purge clamped to the receipt lookback; executed multisig rows pruned; participation-score ledger written; illegal app moves refused with a reason; one escrow decision per block; archival
locked_balanceincludes liquid-payment holds; a sender can drop its own pending transaction; the node no longer crashes in block broadcast. - Escrow rows report
survives_to_height/longevity_financed; explorer 0.0.31 shows it. - ZBC-MSG-v2: signed messages are bound to the chain's genesis; v1 accepted until 1 December 2026.
Wallet V1.87
Paper-wallet key material wiped on leaving the page; validation in the transaction builders before signing; invoices validated on creation and on rendering; chat shows only messages with a verified encryption envelope; deleted messages reconciled with the chain; one fee basis on the Send form and the Confirm dialog.
Not in this release (confirmed, 0.5.7)
Fee-vote initialisation and governance apply path, escrow instruction bytes untaxed, escrow-request expiry divisor, scheduled transfers vs receive policies, prepaid storage drawdown, the FireDue residual, periodic wedge evaluation, the stale remaining order field, and the snapshot series kept in the network's decentralized storage (which also answers the full-history question). Each has its forum topic open with that status.
Thank you
This release is, in large part, the testers' work. Cebo filed 86 of the 91 reports, on private disposable DevNets with measurements that pointed at the line most of the time — the liveness law, the smith-window freeze, the zero-cost halt, the reservation drift, the snapshot series, and the proof-of-ownership flag that turned out to be dead in the parser and wrong in every one of our tools. Aligot audited the wallet and found the paper-wallet leak, the plaintext chat path, the ghost messages, the negative invoices and the missing validation. The detail in these reports is why 91 topics could be answered in two weeks and why most of them are closed today rather than "under investigation".
Rewards follow the bounty ledger on zoobc.foundation, by the month in which a topic is closed. Keep them coming: the forum is zoobc.pro, full disclosure, payloads welcome.
— ZooBC Foundation, 20 October 2026