Maturity and earnings
You are looking at an old version of this page: revision #48 by zoobc.how, 2026-10-26 20:39 UTC. See the current version
A ZooBC node is not paid for the blocks it makes. Each block's rewards go into a pool that is shared by lottery among the working nodes, and a node's chance in each draw follows its participation score. A node takes part only when it is mature and not missing, and its winnings are paid to its owner's account.
The reward pool of a block
Every block has a reward pool made of three parts:
- the new ZBC that the emission schedule releases for the block's time, called the coinbase (supply and emission);
- all the fees of the block's transactions (fees);
- a per-block slice of the longevity pool, which collects rents and the 10 % stake penalties (pools).
The pool does not go to the block's maker. It is cut into equal shares, and each share is drawn by lottery among the nodes that hold a ticket. Each draw picks a node with a probability proportional to its score: a node at 80 % is twice as likely to win a draw as one at 40 %, and a lucky node can win several draws in the same block. Winnings are paid to the owner account recorded in the registry. How many draws a block makes is explained in coinbase lottery.
One fee follows a different path: the taker fee of a market trade goes to the producer of the block that carries it (markets and orders).
Who holds a ticket
A node holds a ticket in a block's lottery when it is registered, mature and not missing.
- A missing node, one that skipped a turn and has not made its next own block, or one that is suspended, wins nothing: no coinbase, no fee share and no longevity share, until its next own block (missed turns, suspension and expulsion).
- An immature node wins nothing at all, as described below.
The score rises only through real work: the node's own blocks carrying receipts from the peers it relays to (receipts and the network topology). Every node starts at 20 %, and climbing is slow on purpose: on a network of fewer than 2,880 nodes, going from 0 to 100 % takes about 30 days of perfect work. A node does not need a full score to earn, only a ticket.
Maturity
A newly admitted node is immature. It is drawn to make blocks and its score moves from the start, but it holds no lottery ticket, no fee share and no longevity share. A storage-proof reward it earns stays in the storage pool, and if it makes a block, that block's market taker fee goes to the lottery instead of to it.
The node becomes mature when both conditions hold:
- 4 score units have passed since the block that admitted it;
- it has made at least one block of its own.
A score unit is max(n, 2,880 blocks), where n is the number of selectable nodes. On a network of fewer than 2,880 nodes a unit is 2,880 blocks, 12 hours, so maturity takes 2 days.
Both conditions have a reason. A key that never makes a block never earns. And 4 units is exactly how long a new node, starting at 20 % and losing 5 points per unit, would last if it went missing straight away. A key that is registered but never run is therefore expelled without having earned anything.
The stake earns nothing
The stake is a bond, not a deposit. It pays no interest, and a bigger stake brings neither more blocks nor more rewards. There is no fixed pay either.
Storage-proof rewards
Nodes that hold pieces of the decentralised storage and prove it each epoch earn a small extra reward from the storage pool (decentralised storage pool). For each piece it proves, a node earns the active files' rent for the epoch divided by the number of proofs expected. A holder whose proof is outvoted by the other holders loses only that epoch's reward, not score.