igneum/docs/plans/morning-2026-10-04.md

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

  1. 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.
  2. 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.
  3. Publish the public repository. Prepared at ~/Projects/igneum-public, scrubbed, zero identity hits, tests passing. Command in docs/plans/public-repo.md. Needs your yes.
  4. Funding and bounty. The funding table and security-budget stress are in docs/plans/funding.md and docs/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:

  1. You stop the PC's mining and node windows.
  2. I cut the Mac over and restart the observer.
  3. The seed node switches to its staged v4 build.
  4. You extract igneum-windows-v4.zip to a fresh folder and start it.
  5. 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 pkill took 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.