Skip to main content

Module datapath

Module datapath 

Source
Expand description

One verify core: records in, verdict bytes out, in order.

§What it joins

              beats (26 per record)
                   │
              ┌────▼─────┐ header rows, check row ┌────────────┐
              │  loader  ├───────────────────────▶│   hasher   │◀── rows ──┐
              │          │ loaded                 │ (BLAKE3)   │── digits ─┤
              │          ├── nodes, pk_nonce ────────────────────────▶ ┌───┴────┐
              │          │                        └─────┬──────┘       │ chains │
              │          ├── commitment, signature ─▶ ┌─┴─────┐ done   └────────┘
              └──────────┘                            │ certs │◀── Ed25519 answers
                                                      └───┬───┘
     hash retirement (oldest first): done? ──▶ verdict queue (4,096) ──▶ certificate settled? ──▶ verdict byte
  • The loader takes the record’s 26 beats one by one and scatters them: header rows and the check row to the hasher, nodes and pk_nonce to the chain block, the commitment and signature to the certificate cache.
  • A record’s context is its number mod 64; a record may start loading only while fewer than 64 records are in flight.
  • Retirement takes records strictly in order. The oldest leaves when the hasher has both comparisons and its certificate answer is known; its verdict byte goes out and its context is cleared everywhere.

§Where each field of a record goes

BeatBytes usedGoes to
0header 0..16, root 32..64format check; check row; cache (commitment)
1R ‖ Scache (signature)
2index, pk_hash, pk_nonce, nonce 0..14format check; check row; chain block
3nonce 14..16, sibling 0header row 1 (sib0 ‖ pk_hash)
4, 5, 6siblings 1..6header rows 2, 3, 4
6..25chain nodesnode banks (c mod 6), up to four per beat
25messageheader row 0 (pk_hash ‖ nonce ‖ message); record loaded

Structs§

Activity
What a core’s shared resources did this cycle.
Beat
One beat of the record stream.
CertWarm
A certificate announced ahead of its records.
CoreInput
Inputs of a verify core.
CoreOutput
Outputs of a verify core.
Verdict
One verdict leaving the core.
VerifyCore
One verify core.

Constants§

NODE_MAP
Where each node is written: (has, window offset, k / 2) per beat and bank.
PENDING_VERDICTS
Verdicts that may wait for their certificate check (2^12): enough for 143,000 cycles of Ed25519 latency at 35 cycles per record (the check takes 52,000–83,000 cycles, Ed25519 project, native simulation).

Functions§

verify_core_kernel
The core’s logic: the loader, retirement and the wiring between blocks.