You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This directory is the documentation set for QNet Blockchain: the protocol the node implements,
the economics it enforces, how to run a node, and the interfaces applications build against. Every
document here was written against the source tree in this repository. Where a document and the code
disagree, the code is authoritative — report the discrepancy rather than trusting the document.
The system in short
A single elected producer streams microblocks on a one-second slot. Producer rotation happens every
ROTATION_INTERVAL_BLOCKS = 30 blocks. Finality comes from Checkpoint-BFT v2: a checkpoint is taken
every CHECKPOINT_INTERVAL = 30 microblocks and certified by a quorum certificate, and a checkpoint
is committed by the two-chain rule; each MACROBLOCK_INTERVAL = 90-microblock window seals its
macroblock on that commit. Every consensus, identity and gossip signature is ML-DSA-65
(FIPS 204, CRYSTALS-Dilithium3). Bulk block and consensus traffic runs over QUIC; the node
additionally makes HTTP-over-TCP node-to-node calls for block fetch, peer authentication and health
probes, so TCP 9876/9877/8001 are required alongside UDP 10876. State is a flat account model
over 45-character EON addresses, committed in a sparse Merkle tree. The protocol defines two node
types, Light and Super.
The genesis-signed capsule a wallet roots its light-client walk at, a few macroblocks below the certified head: fields, signatures, the node route, client rules, test vectors
Constants are given by their code name and value, for example MACROBLOCK_INTERVAL = 90. If a
document states a constant, that constant exists in the source under that name.
Limits and operating parameters are stated plainly where the mechanism they bound is described.
Credentials, private keys and endpoint addresses are operator-supplied and are referred to by
their variable name only.