The two-thirds rules
You are looking at an old version of this page: revision #1090 by zoobc.how, 2026-10-27 00:42 UTC. See the current version
Most of what happens on ZooBC needs no vote at all: one drawn producer signs each block, and every node checks it. But some decisions speak for the whole registry: a checkpoint that makes history final, coins minted for a deposit on another chain, the veto of a faulty release. For these ZooBC uses one bar: two thirds of the registered seats. With 11 seats, that is 8.
Where two thirds applies
| Decision | What is needed |
|---|---|
| storing a spine block | co-signatures from 67 % of the full signer list, rounded up (8 of 11); more than half (6 of 11) only after 3 spine periods without a spine block; never fewer than 5 |
| crediting a bridge deposit, releasing a bridge withdrawal | attestations from two thirds of the registry, each signed with a node key |
| a bridge mint above the daily cap | every seat that is not suspended |
| resolving an oracle fact that triggers payments | two thirds of the active registry attesting the same value |
| vetoing a release | two thirds of the registered seats attesting a veto |
| replacing the release authority | the same two-thirds quorum, counted only once its oldest vote is a week old |
| switching on a bundle of new rules | at least two thirds of the registered producers having made a block with the new version recently |
In more detail:
- Spine blocks. The bar is max(
spine_min_signatures, ceil(n × 67 / 100)), where n is the number of seats on the spine's signer list: 67 % of the list, rounded up. Each signer checks the block's content against its own chain before signing. See spine chain. - The bridge. Its rules are part of the node from version 0.5.8. Keeper programs beside the nodes watch the custody addresses on the other chain and vote with fee-free attestations. A deposit is minted, one for one and with no bridge fee, when two thirds of the counted seats, the registered nodes that are not suspended, attest the same token, amount and recipient. If one day's mints of a coin would pass the larger of one whole coin and 10 % of its supply, every non-suspended seat must agree. The chains relaunch on version 0.5.8 without starting the bridge service. See bridge and wrapped coins.
- Oracle facts. Registered nodes attest events; when two thirds of the active registry attest the same value, the event resolves and pays every pending trigger that names it. See triggers and attestations.
- Releases. A veto attested by two thirds of the seats revokes a release exactly as the release authority's own revocation would. A vote naming a new release authority counts only once its oldest vote is a week (40,320 blocks) old, so the current holder sees it coming. See releases and updates.
- The readiness gate. A bundle of new consensus rules switches on only once at least ceil(2 × R / 3) distinct registered producers have made a block with the new version within a recent window of max(720, 5 × n) blocks, and not before the release has been registered for a day. Here R is the number of registered seats that are not suspended, and n the number of registered nodes.
How suspended seats count
From version 0.5.8, suspended seats (see missed turns, suspension and expulsion) leave every two-thirds count: they neither vote nor count in the total. The spine is the one deliberate exception. It keeps counting every seat on its signer list, suspended or not, so that a spine checkpoint always speaks for two thirds of all seats.
The registry floor
The registry-wide decisions also have a floor: no registry-wide attestation resolves while the registry has fewer than max(3, min_registry_size) seats or distinct owner accounts: 7 on mainnet. Two seats of one operator are one voice for the owner count.
What does not need two thirds
- An ordinary block. One producer, drawn by the seed, signs it, and every node checks it (see draw).
- Votable prices, such as the account rent or the transfer fee. Once per cycle each price moves to the average of the counted seats' votes, each vote first limited to at most 20 % up or half down (see price votes).
Some checks a node makes for itself also use a bar of two thirds, or close to it, but they are local policy, not consensus: a stale node follows the tip that two thirds of a sample of registered peers report; the snapshot check's wider round needs two thirds of the answering peers (see snapshots and fast sync); and a node's fork poll needs at least 0.66 of the voting peers, slightly less than two thirds.
The other side of two thirds
A two-thirds bar means that just over a third of the seats, acting together or simply not voting, can hold a decision back. For the spine this is softened by the fallback to more than half after three idle periods. The readiness gate has no deadline: just over a third of the seats can hold an upgrade back.