Consensus & Finality
NetZero Chain uses proof-of-staked-authority with attestation finality. It is closest to BNB Chain's Parlia with fast finality, with a fixed set of ten seats and single-slot finality.
Roles
| Role | What it does | How you become one |
|---|---|---|
| Validator (seat) | Produces blocks in turn, votes on every block it imports | Ten seats at genesis held by the operating company; one seat per year opens to election from year six (schedule) |
| Miner | Computes proof-of-work shares, earns USDn, forms half of the electorate | Anyone; no balance needed (mining shares) |
| Full node | Verifies everything, serves RPC | Anyone |
Block production
- Slot time 3 seconds. Seats are numbered 0–9; the in-turn seat for block
NisN mod 10. - The in-turn seat builds and signs the block. If it does not appear, other seats may seal out of turn after waiting a full slot plus a random delay. In-turn blocks carry difficulty 2, out-of-turn blocks 1, so an in-turn block always wins a race.
- A seat may not seal two of the last six blocks. This keeps out-of-turn production spread across seats.
- Timestamps must increase by at least 3 seconds per block and may not be more than 2 seconds ahead of a verifier's clock. Validators run NTP.
Finality
Every validator votes for each block it imports as its head: a signature over the chain ID, block number and block hash. Votes travel over a dedicated p2p subprotocol (nzc/1). The proposer of block N+1 includes the votes it has collected for block N in the header of N+1.
- Block N is final when block N+1 carries votes from at least 7 of the 10 seats.
- Nodes remember their highest final block and refuse any header that conflicts with it. A reorg below finality is impossible by rule, not by probability.
eth_getBlockByNumber("finalized")and("safe")return the final block.nzc_finalizedreturns its number and hash;nzc_statusshows the lag between head and finalized (normally 1).
If fewer than seven seats are online, blocks continue but nothing becomes final until quorum returns. The chain prefers to keep running unfinalised over halting; exchanges and bridges should key on the finalized tag, not on block height.
What a quorum of 7 means
| Seats controlled | Can finalise alone | Can veto | Can rewrite history |
|---|---|---|---|
| 7–10 | yes | yes | only by double-signing, which is provable and slashable |
| 4–6 | no | yes | no |
| 1–3 | no | no | no |
Three faulty or offline seats are tolerated. Four colluding seats can stop finality; they cannot produce two final blocks at one height without leaving cryptographic evidence.
Why miners cannot take over
Mining on NetZero Chain has no consensus role. Shares are work that earns USDn; they do not produce blocks and they do not weigh in fork choice. A farm with a million CPUs earns proportionally more USDn from a bounded pool and gains proportionally more weight in seat elections from year six, one seat per year. It never gets to decide which block is canonical.
Header layout
Consensus data lives in the header's extraData; see Block Header Format.
