NetZero Chain

Block Header Format

NetZero blocks are standard Ethereum headers. Consensus data is carried in extraData, so any Ethereum tool can parse a block, and a NetZero node can verify one offline.

extraData layout

vanity      32 bytes   free-form (proposer identification)
seat         1 byte    index (0–9) of the proposing validator
validators  10 × 20    only on checkpoint blocks (number % epoch == 0): the seat list for the next epoch
voteCount    1 byte    number of votes carried for the PARENT block
votes       count × 66 each: seat (1 byte) + secp256k1 signature (65 bytes)
seal        65 bytes   proposer signature

The genesis block uses the shorter layout vanity | validators | seal.

Signatures

  • Proposer seal: signs keccak256(RLP(header with extraData minus the seal)). Everything, including the votes, is covered.
  • Vote: each validator signs keccak256("NZC-VOTE-v1" || chainId(32 bytes) || number(8 bytes) || blockHash) over the block it votes for. Votes for block N appear in the header of N+1. The chain ID prevents replay across networks.

Other header fields

FieldNetZero value
coinbaseFee sink 0x…1006 on every block
difficulty2 if the seat was in turn, 1 if out of turn
nonce, mixHashzero
uncleHashempty list hash; uncles are not allowed
baseFeePerGasEIP-1559 value with the 1,000 gwei floor
withdrawalsRootroot of the block's mining shares, carried as amount-0 withdrawals; the empty-list root before block 29,400 or when a block has no shares

Verification order

A node verifies, in this order: extra-data layout, coinbase, difficulty, gas limit and gas used, base fee, parent linkage and timestamp, conflict with the local finalized block, validator set for the height, checkpoint list (if any), proposer signature and turn, recent-seal rule, then each vote's signature against the parent's validator set. If the votes reach quorum, the parent is marked final.

RPC

nzc_votes(blockHash) returns the votes a node has collected for a block; nzc_finalized the highest final block; nzc_validators(number) the seat list that governed a height.