Missed turns, suspension and expulsion
A seat in the node registry is kept by doing the work. A node that is drawn to make a block and does not deliver it costs the chain 15 seconds and counts a missed turn. Every skipped turn also starts a clock: the node is missing until its next own block, earns nothing and loses participation score. Four misses in a row take it out of the draw (suspension), and a score of zero takes away its seat (expulsion). This page describes that road, as it works from version 0.5.8.
Missed turns
When a block is made, every node that was drawn for an earlier round of that height and did not produce is a skipped producer and counts a miss. The node that made the block has its own miss counter reset.
The reason does not matter. A node that was offline, one that was too slow and one that was online but held its block back are treated alike. A skipped turn is a skipped turn. (Holding a block back is also the only way a producer could try to influence the seed; see block seed (VRF).)
Missing: no income, falling score
From any skipped turn until its next own block, a node is missing. While missing:
- it earns nothing: no coinbase lottery ticket, no fee share and no longevity share;
- its participation score falls by 5 points (out of 100) per unit, spread evenly over the unit's blocks.
The unit is max(n, 2,880 blocks), where n is the number of selectable nodes. Below 2,880 nodes the unit is 2,880 blocks, 12 hours. On a larger registry the unit grows with n, because each node's turn comes round only about once every n blocks. On devnet the unit floor is 120 blocks (30 minutes), so the whole road runs 24 times faster there.
Receipts the node signs and a ping (described below) do not end the missing state. Only its own next block does. So a node that misses one turn and makes its next block soon loses a little income and a sliver of score; a node that stays away keeps losing.
Suspension
At the fourth missed turn in a row, a node is suspended:
- it leaves the producer draw, so its turns stop costing everyone a round;
- it keeps its seat in the registry, but counts as missing, so it earns nothing and its score keeps falling;
- it leaves the seat count of the admission pace and every two-thirds count, except the spine chain's signer list (see two-thirds rules).
A short gap never suspends a node: if it made a block of its own within the last 20 blocks, a fourth miss does not suspend it (the miss is still counted).
To come back, a suspended node's software sends a ping: a liveness attestation from the node's own key, with a fee of 0, at most one per 120-block window, valid only from a suspended node. It is a QueueAttendance transaction (type 59), the same type a queued node sends to show that it is online. The ping returns the node to the draw on probation. It never erases misses or stops the loss of score; that happens only when the node makes a block at one of its next turns.
Expulsion
When a node's score reaches zero, it is expelled. Its seat closes, 90 % of its locked stake returns to its owner and 10 % goes to the longevity pool (ZBC is never burned; see ZBC is never burned). Expulsion never leaves fewer than three active nodes; when that floor applies, "last seen" decides who is spared first. A receipt the node signed that appears in a block marks it as seen; it moves nothing but this "last seen" mark.
Every node starts at 20 %, so the time a silent node lasts depends on its score when it falls silent:
| Score when the node falls silent | Below 2,880 nodes | 5,760 nodes | 10,000 nodes |
|---|---|---|---|
| 20 % (the starting score) | 2 days | 4 days | 6.9 days |
| 60 % | 6 days | 12 days | 20.8 days |
| 100 % | 10 days | 20 days | 34.7 days |
Climbing back is three times slower than falling: below 2,880 nodes, a node that makes all its blocks with their receipts goes from 0 to 100 % in 30 days, and from 20 % to 100 % in 24. Trust is slow to earn and quick to lose.
Related rules
- An owner who removes a node while it is missing or suspended loses 10 % of the stake (see leaving the registry).
- A new node earns nothing until it is mature: 4 units after admission and one block of its own (see maturity and earnings).
- A proven double-sign counts as a miss and makes the producer missing until its next own block (see double-signing (equivocation)).
- Every number on this road (the 5 points, the unit, the starting score) is a genesis parameter of the chain.