igneum/docs/spec/README.md
igneum-labs f69ec95f8f Spec 0.1: lottery hash, consensus delta, finality v2 with the quorum floor, seeds and VDF, fees, open items
docs/spec/01 to 06 and the README index, alongside the existing overview. Section 1 is the normative
definition of the lottery hash with test vectors copied from the igneum-genesis-mh pack (cache fingerprint
48c4f5bf24166b2e, 96 hashes, mixer constants) and every prototype value marked with the measurement that
fixes it at gate 1. Sections 2 to 5 are the design as decided on 3 October 2026, labelled Designed. Section 6
lists 60 open items with the experiment or decision that closes each and its gate.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 17:45:08 +00:00

17 lines
2.6 KiB
Markdown

# Igneum protocol specification, version 0.1
3 October 2026. Written so that a stranger can reimplement a node, a miner and a verifier and reach the same bits. Conventions, number labels (Measured, Implemented, Designed, Target) and the break-submission route are in section 0.
| Section | File | Status | One line |
|---|---|---|---|
| 0 | `00-overview.md` | Designed | Scope, normative language, what is implemented and what is designed, versioning, how to submit a break |
| 1 | `01-lottery-hash.md` | Measured (construction, vectors on three GPU vendors and two CPU references); Designed (header binding, day key, growth, era schedule); Open where marked | Seed words, generator, memory-hard cache and items, 32-lane unit and the wave64 rule, CPU verifier, epoch, day and era schedules, test vectors, determinism, conformance, the prototype-value list |
| 2 | `02-consensus.md` | Designed | The ordering layer as a delta on rusty-kaspa: 1 BPS and the steps, k, merge depth, DAA, header fields, emission, duplicate inclusion |
| 3 | `03-finality.md` | Designed (simulated without a DAG, not implemented, not reviewed) | Weight W1 to W5, checkpoints C1 to C5, quorum Q1 to Q4 with the 56.7% floor and the simulation that justifies it, sortition, fork choice, equivocation, residual risks, the first month, exchange guidance |
| 4 | `04-seeds-and-vdf.md` | Measured (primitive, one machine); Designed (pipeline); Open (fallback) | Class-group Wesolowski VDF, T from a genesis reference rate, 20-minute and 2-hour leads, proof format, who evaluates, fallback options |
| 5 | `05-fees-and-economics.md` | Designed | Base fee burned, 65/15/15/5 with per-frame attribution and the factory rule, proving pool, job market, development fund at 60%, upgrades at 90%, no stake, no treasury |
| 6 | `06-open-items.md` | Open | 60 items, each with the experiment or decision that closes it and its gate |
Prototype values (carried by the implementation today, part of the test vectors, confirmed or replaced at gate 1): seed derivation; 64 instructions x 8 iterations; 8 registers; the op weights including the 25% load weight; the output fold rotations; the 256 MiB cache, 64 lines per segment and ChaCha12; 8 item rounds and the mixer shape; the 1 GiB pack dataset against the 2 GiB genesis size; the 3,600 DAA s epoch; the era length, draw bounds and reserve list; the header binding of the init words. The full table with what fixes each is section 1.16.
Normative code: `igneum-pow/`. Measurements: `docs/bench-log.md`. Criticisms and their status: `docs/fud-ledger.md`. Simulations: `sim/`. Prototypes: `proto-metal/`, `proto-cuda/`, `proto-opencl/`, `proto-vdf/`.