5.3 KiB
Morning summary, 4 October 2026
Written overnight for the project lead. Every number below is in docs/bench-log.md with the command that produced it. Failures are listed with the passes.
The headline
The devnet ran all night with your PC mining against its own node. Every piece the design promised now exists in code and has run on a network of our own nodes, and most of them were attacked before you woke up.
| Piece | State | Measured |
|---|---|---|
| Real-hash mining, three vendors | running since yesterday | 5090 at 190 MH/s through its own node; 20,000 plus blocks tonight |
| Finality v2 | built, attacked, fixed | 93 of 93 locks, median lock 0.80 s, 34% minority refused to lock, heal in 30 s |
| EVM execution layer | built, attacked, fixed | 87 of 87 and 98 of 98 checks, state roots identical on three nodes |
| Igneum difficulty rule | built, attacked, hardened | 50x step settles in 62 to 79 s where Kaspa's rule never did; timestamp forging now +1% |
| Compile-ahead swap and prefetch | built | boundaries crossed with no pause, under 1% idle |
| First real proof of a block | measured | SP1 core proof 22.0 s on this Mac's CPU, verified in 0.16 s |
| Browser verifier | live on the homepage | a real BLS certificate verified in the tab in 15 to 66 ms |
| Weak-program census | done | 100,000 programs; a generator change is needed (see decisions) |
| Integration | done | devnet-v4 branch, 628 tests pass, 3-node run with everything together |
Attacks run tonight and what they found
| Suite | Scenarios | Result |
|---|---|---|
| Ordering layer harness | 7 | 6 pass; a 45% withholding miner reached 50.7% of blue blocks once (ledger entry, re-run under the weight lens) |
| Execution layer | 6, 98 checks | all pass; two griefing findings fixed on the branch (over-budget transactions now pay and advance) |
| Finality | 8 | 5 pass; 3 failed and 2 are fixed (sortition by weight, first-month rule); 1 is a decision (the floor, below) |
| Difficulty rule | 7 | timestamp forging broke the rule (rate fell to a fifth); hardened with a sanitised clock, now +1%; flood panic fixed |
| Hostile review round 3 | 7 roles | 0 fatal, 18 serious, 8 minor; public text corrected; cache-build attack fixed (50 junk headers: 10.6 s of rebuilds before, 14 ms after) |
| External review (your ChatGPT run) | 29 points | 13 already answered, 15 new ledger entries, 1 wrong |
Decisions waiting for you
- The finality floor. The 56.7% floor keeps finality alive when up to 43% of weight goes quiet, but across a long partition it lets an equivocating 13.3% of weight create conflicting locks, and a mined-on side can cross the floor after days (9 days at mainnet for a 50/50 split). Raising the floor toward two thirds buys safety against a third at the price of finality pausing whenever under two thirds is connected. Ledger O-3.15. My lean: raise it, and say finality pauses honestly.
- The generator change. 95% of today's programs repeat loads inside a hash. The census proposes a fixed 16 load slots with register provenance so every hash does 128 distinct reads. It changes every test vector and is a gate-1 change. My lean: do it now, before any public vector ships.
- Publish the public repository. Prepared at
~/Projects/igneum-public, scrubbed, zero identity hits, tests passing. Command indocs/plans/public-repo.md. Needs your yes. - Funding and bounty. The funding table and security-budget stress are in
docs/plans/funding.mdanddocs/analysis/security-budget.md; the bounty terms need a fund.
The cut-over to v4
v4 changes the chain's formats, so it starts fresh from genesis and every node moves together. Runbook: docs/plans/cutover-2026-10-04.md. Ten minutes:
- You stop the PC's mining and node windows.
- I cut the Mac over and restart the observer.
- The seed node switches to its staged v4 build.
- You extract
igneum-windows-v4.zipto a fresh folder and start it. - We watch the live page: blocks, then the first lock after the window fills.
Packages (all three rebuilt 08:56 BST with generator v2 and the 2/3 floor, hosted): https://dl.igneum.network/dl/<token>/igneum-windows-v4.zip (your PC, node and miners), igneum-node-windows-v4.zip, and Igneum-Miner-0.2.0.dmg for Sam, which dials the seed node first. The proof run for your 5090: igneum-prove-wsl2.zip, same folder; needs a reboot for WSL2 and twenty minutes of setup.
What went wrong tonight, plainly
- An agent's broad
pkilltook node 1 down for three minutes at 23:21; your PC's node carried the chain. Rule added: no broad kills. - The credits ran out around midnight and killed ten agents mid-task; you topped up and all were resumed.
- The GitHub CLI drifted back to your personal account twice; switched back each time, rule recorded.
- The hash-rate decay was a miner bug, not the card: the miner re-walked the hour's chain for every job. Fixed in v4 together with the spinning CPU threads.
Still open after tonight
- Proving: only one block proven, on a CPU; the GPU run on your PC is the next number, and the end-to-end benchmark standard is written but not run.
- Finality: the floor decision; the unexplained three-node stall seen once; two spec rules not yet enforced (C3, F3 pruning bound).
- Difficulty: the pool hopper's 0.7-point edge over Kaspa; upstream's integration tests not re-run.
- The ledger: 73 open items, each with its experiment, in
docs/fud-fixes.md.