Concept
Architecture
How Tenrai is built. Miners produce work blocks in parallel, a validator committee certifies cuts, and every cut is final. The TRAIDAG pipeline in one page.
Tenrai separates two jobs that most chains bind together. Proof of work produces blocks, as many as the network can carry. Proof of stake decides, every 2.5 seconds, which of them count and in which order. The design is called TRAIDAG.
The pipeline
- Miners find work blocks with TenQ. Each block carries up to 10 transactions and names a finalized cut as its anchor. Many miners find blocks at the same time: 50 per second on average across the network, and up to 100 in bursts.
- A cut registers the valid work blocks that reached the network in time.
- Registered blocks are ordered by a fixed rule that every node computes the same way.
- A later cut executes them in that order: it spends and creates outputs and applies staking operations.
- The validator committee signs the cut. With enough signatures the cut is certified.
- A certified cut is final. It is never rolled back.
Why two layers
Tenrai signs with ML-DSA-65, a post-quantum scheme whose signatures are 3,309 bytes each. A committee of 64 produces up to 64 of them per certificate. Certifying every block at 50 blocks per second would mean 50 certificates of about 200 KiB each second. Certifying a cut means one every 2.5 seconds.
So a work block needs no committee signature at all, and the large certificates are spent once per cut.
No fork choice
TRAIDAG has no longest chain and no heaviest branch. Valid work that registers in time is never discarded because another miner was faster, and there is no reorganization that could undo a payment.
Work blocks do reference up to 16 earlier blocks as parents, and a node can draw a graph from them. Those references are hints for propagation and for explorers. They decide nothing: not the order, not the rewards, not the difficulty, not finality.
Who does what
| Role | Runs | Does |
|---|---|---|
| Miner | tenrai-miner, a pool or bridge | Finds work blocks, earns half of emission and fees |
| Validator | tenraid with a validator key | Votes on cuts; with its delegators earns the other half |
| Node | tenraid | Checks everything, stores the chain, relays, serves the API |
| Client | Wallets, explorers, the SDK | Reads the chain and submits transactions |
State
All balances live in unspent outputs, as in Bitcoin. Besides the output set the chain keeps a registry of public keys that have spent before, the validator registry, the stake positions and the accounting of emission. Each is committed by a 48-byte root, and every cut binds all of them into one state commitment. That commitment is what the committee signs.
