Node parameters on mainnet
The values below are mainnet's; testnet uses the same ones. A block comes every 15 seconds, so a day is 5,760 blocks and a week 40,320. 1 ZBC is 100,000,000 atomic units. A score unit (used for liveness and maturity) is max(n, 2,880 blocks), where n is the number of selectable nodes: 12 hours on a network of fewer than 2,880 nodes.
Registry
See node registry and its seats.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Genesis seats | 11 | Seats written at height 0, held by the ZooBC Foundation, with no locked stake |
| Genesis operating balance | 10 ZBC per seat | Credited at genesis to each genesis node's own account |
| Starting score | 20 % | The score every node receives at admission, genesis seats included |
| Score range | 0 to 100 % | Kept internally as an integer from 0 to 10,000,000,000,000 |
| Registration expiry | none | A seat lasts until it is removed, expelled or claimed |
min_registry_size | 7 | Below this many active nodes the admission delay is capped at 7 days; also the fewest seats and distinct owners a registry-wide vote needs |
Registration and the queue
See registering a node and queue.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Queue minimum at launch | 100 ZBC | Starting value of the voted minimum stake |
| Queue minimum vote range | 1 atomic unit to 250 ZBC | Bounds of the seats' votes on the queue minimum |
| Entry minimum | the larger of the queue minimum and half the median queued stake | Checked once, when a node enters the queue |
| Registration fee | 0.025 ZBC plus a bytes charge | The base action fee at fee scale 1.0, plus the charge for the transaction's bytes |
| Proof-of-ownership age | at most 720 blocks (3 hours) | How recent the block named in a proof of ownership must be |
| Queue order | stake × blocks waited | Ties go to the earlier registration height, then the lower node id |
| Attendance window | 5,760 blocks (1 day) | A queued node must show a sign of life once per window; failing any other sign it sends a QueueAttendance, whose fee comes out of the stake and goes to the longevity pool |
| Allowed missed windows | 90 | Over the whole wait, one admission cycle's worth: max(2, maximum delay ÷ 1 day); the 91st miss drops the node, and 90 % of its stake comes back at once |
Admission pace
See admission pace.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Base delay | 600 days | Divided by the counted seats to give the delay between admissions |
| Minimum delay | 7 days | Lower clamp; it binds from 86 counted seats |
| Maximum delay | 90 days | Upper clamp |
| First admission | 7 days after genesis | When the first newcomer can be admitted |
| Admissions per cycle | 1 | Never in the block that queued the node |
| Genesis-seat cap | 11 | Genesis seats count as at most 11 in the pace; suspended seats do not count |
| Small-registry cap | 7 days | The maximum delay while fewer than 7 nodes are active |
Liveness and score
See missed turns, suspension and expulsion and participation score.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Loss while missing | 5 points per unit | Spread over the unit's blocks, from a skipped turn to the node's next own block |
| Climb | about 1.67 points per unit | Average gain with perfect work: 0 to 100 % in 30 days |
| Suspension | 4th missed turn in a row | The node leaves the draw and counts as missing |
| Suspension floor | 20 blocks | A node that made its own block in the last 20 blocks is not suspended by a 4th miss |
| Ping | at most 1 per 120 blocks, fee 0 | A suspended node's liveness attestation; it returns the node to the draw on probation |
| Expulsion | at score 0 | Never if fewer than 3 active nodes would remain |
| Previous producer | demoted to round 10 | The last block's maker stays in the draw, but a turn it is drawn for before round 10 counts as round 10 |
Earnings
| Parameter | Mainnet value | What it means |
|---|---|---|
| Maturity | 4 units and 1 own block | 2 days below 2,880 nodes; nothing is earned before |
| Reward pool | coinbase, all block fees, a longevity slice | Shared in equal shares by a lottery weighted by score |
| Market taker fee | to the block's producer | The one fee not shared by the lottery |
| Interest on the stake | none | The stake is a bond |
Leaving
See leaving the registry.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Exit cool-down | 40,320 blocks (7 days) | Time between a removal, or the owner's own claim, and the automatic return of the stake |
| Stake at risk | 10 % | Lost on expulsion (the other 90 % comes back at once), an exit while missing or suspended, leaving the queue or a queue drop; it goes to the longevity pool |
| Claim delay | 40,320 blocks (7 days) | A claim from any account but the owner's executes after this, unless the owner removes the node first |
| Key rotation | 120 blocks (30 minutes) | Delay before a new node key takes effect |
Updates and new rules
See releases and updates.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Update delay | 11,520 blocks (2 days) | Default wait before a node installs a new release; each node sets its own |
| Update slots | at most 2 nodes per block | Default spread of the nodes' update start times |
| Updater check | every 10 minutes (± 2) | First run 15 minutes after boot; a failed update is retried after 12 hours |
| Activation floor | 5,760 blocks (1 day) | A rule bundle switches on no earlier than this after its release's registration |
| Readiness threshold | two thirds of the seats, rounded up | Counted over registered seats, suspended seats left out |
| Signalling window | max(720 blocks, 5 blocks per node) | Window in which the producers' versions are counted |
| Release veto | two thirds of the seats | Revokes a release at once; 8 of 11 |
| Authority replacement | two thirds, oldest vote a week old | The release authority changes only after a week of votes |
The node process
See running a node.
| Parameter | Mainnet value | What it means |
|---|---|---|
| Peer port | 8001 | The peer-to-peer network |
| API port | 8080 | The HTTP API and the web wallet |
| Ethereum-style RPC | 8545, loopback | The JSON-RPC adapter for MetaMask, on the node's own machine by default |
| Production attempt | every 10 seconds | How often a registered node tries to produce; its selection thread runs every second |
auto_resync | on | A wedged node rebuilds itself from the spine-anchored snapshots |
| Storage | on | Holding file pieces and archive chunks is a duty of the seat; an operator who switches it off only loses the storage rewards |
| Snapshot interval | 172,800 blocks (30 days) | How often every node writes a snapshot of the state |
| Blocks kept | 30 to 60 days | One to two snapshot periods; older blocks are pruned unless keep_all_history is set |