Skip to content

A second client

One codebase is one point of failure: a bug in it halts or forks every node at once. This page says what exists toward a second, independent implementation, and what one would need. Master Prompt 15 §3.

  • A written spec, spec/, with rule IDs for encoding, transactions, the transfer state transition, the state root and the fee rules.
  • Conformance vectors, spec/tests/, generated by a reference implementation (crates/spec-ref) that shares no code with the node.
  • An independent verifier, spec/verifier-ts/verify.ts: TypeScript, its own BLAKE3, replays every vector and checks roots, ids, addresses and fees. It is a second opinion, not a node: it trusts each vector’s signature flag.
AreaNeededAvailable to build from
Encodingall wire versions (5–8), blocks, headersspec/01, node code for 6–8
SignaturesML-DSA-65 and SLH-DSA-SHA2-128s from an independent libraryFIPS 204/205 and their ACVP vectors
Stateevery state layer, not only accountsspec/03 ROOT-5 is a gap: node code only
End-of-block passessealed swaps, trading, oracle, governance, invariant guardnode code only
VMWASM execution with the same fuel meteringnode code only; Pulley/Cranelift gas equality is tested
Consensustoday PoW + most-work; target DAG-BFTspec/05 (gaps), crates/dag-bft
Networkinglibp2p + Noise + ML-KEM handshake, gossip topicsspec/07
Storage, syncany; must reproduce rootscrates/state-sync protocol

The honest gap: sections 3 (layers beyond accounts), 5 and the VM are specified by code today. A second team would be reading Rust, which is the failure mode a spec exists to avoid. Closing those spec gaps comes before funding a client, or the second client inherits the first one’s ambiguities.

Go or TypeScript for the verifier path already started; a full node is more likely Go or C++ for performance. The team must not include people who wrote the first client’s consensus code, or both inherit the same misreadings.

After launch, from the treasury by governance grant (crates/governance proposal types): milestone-based, paid on vectors passing, with the conformance suite as the acceptance test. Nothing is allocated today; no treasury exists on any live network.