From 9841fef066afab3fbd51ead1ef799a5849ab6c83 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Sun, 4 Oct 2026 08:08:48 +0000 Subject: [PATCH] Evidence claim 10 carries the 2/3 floor; cut-over runbook and morning summary point at the generator v2 packages Co-Authored-By: Claude Fable 5.1 --- docs/evidence.md | 2 +- docs/plans/cutover-2026-10-04.md | 8 ++++---- docs/plans/morning-2026-10-04.md | 2 +- site/evidence.html | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/evidence.md b/docs/evidence.md index fb09c4665..9cdb3ee6f 100644 --- a/docs/evidence.md +++ b/docs/evidence.md @@ -33,7 +33,7 @@ Versions in the table: `igneum-pow` is the Rust crate at `igneum-pow/Cargo.toml` | 7 | The devnet runs at one block a second | Homepage stats ("1 / s"); litepaper Speed; roadmap phase 3 | tested by the team | repo `9812466`, `e9328c6`; fork worktree `vendor/igneum-node-diff` branch `difficulty` | 3-node CPU devnet, `igneum-miner mine --engine igneum-pow`, 660 s; the dual-lane rule's 3-node test network (ports 26800 to 26821); bench-log "first devnet blocks" and "difficulty controller" | CPU devnet: 1.29 blocks/s over 641 s, 1.03 blocks/s over blocks 610 to 816 after the first retarget, sink identical on 3 nodes at 61 of 64 samples. Kaspa's sampled rule on the overnight devnet did not hold the rate across a hashrate step (5.44 blocks/s for five minutes, 4.7x the schedule for eight minutes). The Igneum dual-lane rule's test network reached 1 block/s within 10% after 132 s, worst gap 7.3 s. 3 October 2026, Apple M5 Max. The phase 3 gate also asks for proofs under 60 s behind the tip; no proof exists (row 15) | none yet | | 8 | Blocks are mined by GPUs on Apple and NVIDIA | Homepage live strip; journey phase 3 ("GPU miners on three vendors") | tested by the team | repo `9812466`, `e9328c6`; fork as row 1 | Metal worker `proto-metal/igneum-bench --serve` driven by `igneum-miner --worker`, 300 s; the overnight devnet record `sim/difficulty/devnet-2026-10-03.csv`; bench-log "first devnet blocks" and "difficulty controller" | Metal: 506 jobs, 5,636 blocks found and accepted, 0 rejected, 0 CPU/GPU mismatches, 28.2 MH/s wall. NVIDIA: the overnight devnet record shows the PC's RTX 5090 mining at 116 MH/s estimated from the blocks, and the finality follower counted eight RTX 5090 identities at 862 to 936 blocks each. 3 October 2026, Apple M5 Max and the Windows PC | none yet | | 9 | Blocks are mined by a GPU on AMD | Journey phase 3 ("three vendors") | implemented | repo `0f1fdaf`; bound kernel `kernel_bound.cl` in the pack | `proto-opencl/host.c --serve` on an AMD device against a devnet node | The bound OpenCL kernel is bit-exact with the crate on Apple OpenCL and the memory-hard pack passes 96/96 on AMD gfx1036, but no block count mined by an AMD device is recorded in the bench log. Until one is, the three-vendor mining claim is two vendors mined plus one vendor verified | none yet | -| 10 | Checkpoints lock every 30 s of chain at two thirds of active weight and at least 56.7% of total, and the floor stops conflicting locks in partitions and eclipses | Litepaper Finality, "What Igneum does not claim"; homepage "locked every 30 seconds" | tested by the team | repo `bbb264a` (simulation), `60b1412` (fork run); fork "Finality: BLS12-381 vote keys ..." through "Miner: BLS identity ..."; spec 3.10 | `sim/finality_v2.py` (results in `sim/results_v2.md`); the 4-miner test network `igneum-devnet-7` with `getFinalityCheckpoints` on three nodes; bench-log "finality rule V2" and "igneum-node devnet v2" | Simulation: 0 conflicting locks in every honest partition and eclipse scenario with the floor; without it both sides of a 50/50 split lock after 60 min. Test network: 72 of 72 determined checkpoints locked on all three nodes, lock latency median 0.80 s, p90 1.08 s, 0 conflicting certificates; an equivocating key stripped at index 43 and excluded; with one voter left (39.6% of total) 0 locks for 749 s, then the heal locked 13 checkpoints within 30 s. 3 October 2026, Apple M5 Max, 53 minutes. Not on the live devnet (its miners do not vote yet); the simulation has no DAG; one unexplained stall of all three nodes in the first run, not reproduced | none yet | +| 10 | Checkpoints lock every 30 s of chain at two thirds of all 30-day weight (raised from 56.7% of total on 4 October 2026), and the floor stops conflicting locks in partitions and eclipses | Litepaper Finality, "What Igneum does not claim"; homepage "locked every 30 seconds" | tested by the team | repo `bbb264a` (simulation), `60b1412` (fork run); fork "Finality: BLS12-381 vote keys ..." through "Miner: BLS identity ..."; spec 3.10 | `sim/finality_v2.py` (results in `sim/results_v2.md`); the 4-miner test network `igneum-devnet-7` with `getFinalityCheckpoints` on three nodes; bench-log "finality rule V2" and "igneum-node devnet v2" | Simulation: 0 conflicting locks in every honest partition and eclipse scenario with the floor; without it both sides of a 50/50 split lock after 60 min. Test network: 72 of 72 determined checkpoints locked on all three nodes, lock latency median 0.80 s, p90 1.08 s, 0 conflicting certificates; an equivocating key stripped at index 43 and excluded; with one voter left (39.6% of total) 0 locks for 749 s, then the heal locked 13 checkpoints within 30 s. 3 October 2026, Apple M5 Max, 53 minutes. Not on the live devnet (its miners do not vote yet); the simulation has no DAG; one unexplained stall of all three nodes in the first run, not reproduced | none yet | | 11 | Hashrate that arrived today has almost no vote: ten days of the whole network's hashrate to reach a third of the weight, twenty for two thirds; 51% never reaches two thirds while honest miners stay | Litepaper Finality; homepage firsts | tested by the team | repo `bbb264a`; `sim/finality_v2.py` | Scenario B of `sim/finality_v2.py`, seeds 7 and 11 | share(t) = (t/30) x a/(1+a) holds to 0.04 points; a renter equal to the whole honest network (a = 1) crosses 1/3 on day 20 and never reaches 2/3; a = 9 crosses 1/3 on day 11.1 and 2/3 on day 22.2. The ten-day figure is a = infinity, honest miners gone. 3 October 2026, Apple M5 Max. A model with 1,000 Pareto keys and no DAG; the harness scenarios against the real node (1b, 3b, 4b) are stubs | none yet | | 12 | The difficulty rule recovers from a hashrate step within about a minute, where Kaspa's sampled rule never settles | Spec 2.3; litepaper Speed (implied); bench page | tested by the team | repo `e9328c6`; fork worktree `vendor/igneum-node-diff` branch `difficulty`; `sim/difficulty/sim.py` | `sim/difficulty/sim.py` on nine profiles plus the devnet record; the 3-node test network with `"difficulty_rule"` in the override file; `cargo test -p kaspa-consensus --lib difficulty` (9 pass); bench-log "difficulty controller" | Simulator, settled seconds: x50 step 62 (Kaspa 1,542), /50 step 657 (Kaspa 12,296), the devnet's 75x step 79 (Kaspa never). Test network: within 10% of 1 block/s after 132 s warm-up, 214 s on a join, 85 s on a leave. 3 October 2026, Apple M5 Max under load 50 to 98. Monero and LWMA baselines reproduced from memory, approximate; no DAG in the simulator; harness scenarios 2b and 7b are stubs | none yet | | 13 | Every node executes the ordered transactions natively and reaches the same state root | Litepaper Proving ("Every node executes ... natively"), Building ("runs on Igneum unchanged") | tested by the team | repo `f5f8c80`; fork worktree `vendor/igneum-node-exec` branch `execution-layer`; revm 43.0.3 | `node tools/evm-smoke/smoke.mjs` against a 3-node `igneumd --simnet`; `igneum-exec-diff seq.json`; bench-log "execution layer devnet v3" | 87 of 87 viem checks; state roots identical on 3 nodes at chain blocks 0, 56, 74 and 78; 57 executed transactions and 19 skipped copies agree with plain revm, 0 mismatches; balances match receipts to the wei. 3 October 2026, Apple M5 Max. Simnet skips proof of work, the prover is a stub, state is rebuilt from genesis at start, no EVM transaction relay between nodes | none yet | diff --git a/docs/plans/cutover-2026-10-04.md b/docs/plans/cutover-2026-10-04.md index 1ab995be5..bfe803710 100644 --- a/docs/plans/cutover-2026-10-04.md +++ b/docs/plans/cutover-2026-10-04.md @@ -9,10 +9,10 @@ a `cd` says otherwise. Times are BST. | Item | Where | What it carries | |---|---|---| -| Windows combined package 0.2.0 | `~/Desktop/igneum-windows-v4.zip` (26,223,837 bytes) | v4 `igneumd.exe` and `igneum-miner.exe` (cross-build of `dc749905`), the three mingw DLLs, the launchers: peers = seed `188.245.5.161:26611` then Mac `192.168.68.64:26611`, appdir `%LOCALAPPDATA%\igneum\devnet-v4`, `MINERS=8` as `--identities 8` on ONE worker per card, `--evm-address` (`PAYOUT_EVM`, else derived from the PC name per vendor), voting on, `--prepare-packs` for the hot swap, `--exit-on-seed-change` kept as the fallback, `PLAIN=1` kept, version in the dashboard header | -| Windows node-only package | `/tmp/igneum-integration/igneum-node-windows-v4.zip` and `~/Desktop/igneum-node-windows-v4.zip` (32,946,401 bytes) | same exes, `src.zip`, `START-NODE.bat` with appdir `devnet-v4` and `EXTRA_ARGS=--addpeer=188.245.5.161:26611 --yes` | -| Mac app 0.2.0 | `packaging/mac/dist/Igneum-Miner-0.2.0.dmg` (19,918,617 bytes) | v4 `igneumd` and `igneum-miner` from `target-integration/release`, the Metal worker rebuilt from the hot-swap source with `-target arm64-apple-macos11` (`prepare 1`), `SEED_PEERS` = seed then Mac, data `~/Library/Application Support/Igneum/devnet-v4`, `--evm-address` and `--identities` | -| Seed node v4 | igneum-seed-1 (188.245.5.161): `/opt/igneum/v4/bin/{igneumd,igneum-miner,run-seed-v4.sh}`, `/var/lib/igneum-v4` (empty), `/etc/igneum/seed-v4.env`, unit `igneumd-v4` installed and DISABLED | built on the VM from `vendor/igneum-node-v4` at `dc749905` plus the working-tree `igneum-pow` (`infra/seed-nodes/stage-v4.sh`; log `infra/seed-nodes/build/stage-v4-igneum-seed-1.log`). The v3 unit `igneumd` keeps running on `/var/lib/igneum` until step (c) | +| Windows combined package 0.2.0 | `~/Desktop/igneum-windows-v4.zip` (26,238,253 bytes, rebuilt 08:56 BST) | v4 `igneumd.exe` and `igneum-miner.exe` (cross-build of `6457ca95`: generator v2 and the 2/3 floor), the three mingw DLLs, the launchers: peers = seed `188.245.5.161:26611` then Mac `192.168.68.64:26611`, appdir `%LOCALAPPDATA%\igneum\devnet-v4`, `MINERS=8` as `--identities 8` on ONE worker per card, `--evm-address` (`PAYOUT_EVM`, else derived from the PC name per vendor), voting on, `--prepare-packs` for the hot swap, `--exit-on-seed-change` kept as the fallback, `PLAIN=1` kept, version in the dashboard header | +| Windows node-only package | `/tmp/igneum-integration/igneum-node-windows-v4.zip` and `~/Desktop/igneum-node-windows-v4.zip` (32,973,919 bytes, rebuilt 08:57 BST from `6457ca95`) | same exes, `src.zip`, `START-NODE.bat` with appdir `devnet-v4` and `EXTRA_ARGS=--addpeer=188.245.5.161:26611 --yes` | +| Mac app 0.2.0 | `packaging/mac/dist/Igneum-Miner-0.2.0.dmg` (19,924,804 bytes, rebuilt 08:56 BST from `6457ca95`; the Metal worker carries the generator v2 port) | v4 `igneumd` and `igneum-miner` from `target-integration/release`, the Metal worker rebuilt from the hot-swap source with `-target arm64-apple-macos11` (`prepare 1`), `SEED_PEERS` = seed then Mac, data `~/Library/Application Support/Igneum/devnet-v4`, `--evm-address` and `--identities` | +| Seed node v4 | igneum-seed-1 (188.245.5.161): `/opt/igneum/v4/bin/{igneumd,igneum-miner,run-seed-v4.sh}`, `/var/lib/igneum-v4` (empty), `/etc/igneum/seed-v4.env`, unit `igneumd-v4` installed and DISABLED | first staged from `dc749905` overnight; RE-STAGED from `6457ca95` (generator v2, 2/3 floor) starting 08:55 BST on 4 October (`stage-v4.sh igneum-seed-1 start`, log `infra/seed-nodes/build/stage-v4-gen2-run.out`); originally built from plus the working-tree `igneum-pow` (`infra/seed-nodes/stage-v4.sh`; log `infra/seed-nodes/build/stage-v4-igneum-seed-1.log`). The v3 unit `igneumd` keeps running on `/var/lib/igneum` until step (c) | | Mac binaries | `vendor/igneum-node/target-integration/release/igneumd` (40,463,680 bytes), `igneum-miner` (7,916,096) | built from `dc749905` | Not staged, by design: the live devnet (node 1 on 26610/26611, the observer peer on 26640/26641/28640, `observer.mjs`, the diff --git a/docs/plans/morning-2026-10-04.md b/docs/plans/morning-2026-10-04.md index b7b47146c..aae69be6a 100644 --- a/docs/plans/morning-2026-10-04.md +++ b/docs/plans/morning-2026-10-04.md @@ -46,7 +46,7 @@ v4 changes the chain's formats, so it starts fresh from genesis and every node m 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: `https://dl.igneum.network/dl/***DL-TOKEN-REMOVED***/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. +Packages (all three rebuilt 08:56 BST with generator v2 and the 2/3 floor, hosted): `https://dl.igneum.network/dl/***DL-TOKEN-REMOVED***/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 diff --git a/site/evidence.html b/site/evidence.html index 81f43f682..c2c9c4f58 100644 --- a/site/evidence.html +++ b/site/evidence.html @@ -91,7 +91,7 @@ footer{border-top:1px solid var(--line);padding-block:32px 48px;font-size:13px;c 7The devnet runs at one block a second
Homepage stats ("1 / s"); litepaper Speed; roadmap phase 3
tested by the teamrepo 9812466, e9328c6; fork worktree vendor/igneum-node-diff branch difficulty3-node CPU devnet, igneum-miner mine --engine igneum-pow, 660 s; the dual-lane rule's 3-node test network (ports 26800 to 26821); bench-log "first devnet blocks" and "difficulty controller"CPU devnet: 1.29 blocks/s over 641 s, 1.03 blocks/s over blocks 610 to 816 after the first retarget, sink identical on 3 nodes at 61 of 64 samples. Kaspa's sampled rule on the overnight devnet did not hold the rate across a hashrate step (5.44 blocks/s for five minutes, 4.7x the schedule for eight minutes). The Igneum dual-lane rule's test network reached 1 block/s within 10% after 132 s, worst gap 7.3 s. 3 October 2026, Apple M5 Max. The phase 3 gate also asks for proofs under 60 s behind the tip; no proof exists (row 15)none yet 8Blocks are mined by GPUs on Apple and NVIDIA
Homepage live strip; journey phase 3 ("GPU miners on three vendors")
tested by the teamrepo 9812466, e9328c6; fork as row 1Metal worker proto-metal/igneum-bench --serve driven by igneum-miner --worker, 300 s; the overnight devnet record sim/difficulty/devnet-2026-10-03.csv; bench-log "first devnet blocks" and "difficulty controller"Metal: 506 jobs, 5,636 blocks found and accepted, 0 rejected, 0 CPU/GPU mismatches, 28.2 MH/s wall. NVIDIA: the overnight devnet record shows the PC's RTX 5090 mining at 116 MH/s estimated from the blocks, and the finality follower counted eight RTX 5090 identities at 862 to 936 blocks each. 3 October 2026, Apple M5 Max and the Windows PCnone yet 9Blocks are mined by a GPU on AMD
Journey phase 3 ("three vendors")
implementedrepo 0f1fdaf; bound kernel kernel_bound.cl in the packproto-opencl/host.c --serve on an AMD device against a devnet nodeThe bound OpenCL kernel is bit-exact with the crate on Apple OpenCL and the memory-hard pack passes 96/96 on AMD gfx1036, but no block count mined by an AMD device is recorded in the bench log. Until one is, the three-vendor mining claim is two vendors mined plus one vendor verifiednone yet -10Checkpoints lock every 30 s of chain at two thirds of active weight and at least 56.7% of total, and the floor stops conflicting locks in partitions and eclipses
Litepaper Finality, "What Igneum does not claim"; homepage "locked every 30 seconds"
tested by the teamrepo bbb264a (simulation), 60b1412 (fork run); fork "Finality: BLS12-381 vote keys ..." through "Miner: BLS identity ..."; spec 3.10sim/finality_v2.py (results in sim/results_v2.md); the 4-miner test network igneum-devnet-7 with getFinalityCheckpoints on three nodes; bench-log "finality rule V2" and "igneum-node devnet v2"Simulation: 0 conflicting locks in every honest partition and eclipse scenario with the floor; without it both sides of a 50/50 split lock after 60 min. Test network: 72 of 72 determined checkpoints locked on all three nodes, lock latency median 0.80 s, p90 1.08 s, 0 conflicting certificates; an equivocating key stripped at index 43 and excluded; with one voter left (39.6% of total) 0 locks for 749 s, then the heal locked 13 checkpoints within 30 s. 3 October 2026, Apple M5 Max, 53 minutes. Not on the live devnet (its miners do not vote yet); the simulation has no DAG; one unexplained stall of all three nodes in the first run, not reproducednone yet +10Checkpoints lock every 30 s of chain at two thirds of all 30-day weight (raised from 56.7% of total on 4 October 2026), and the floor stops conflicting locks in partitions and eclipses
Litepaper Finality, "What Igneum does not claim"; homepage "locked every 30 seconds"
tested by the teamrepo bbb264a (simulation), 60b1412 (fork run); fork "Finality: BLS12-381 vote keys ..." through "Miner: BLS identity ..."; spec 3.10sim/finality_v2.py (results in sim/results_v2.md); the 4-miner test network igneum-devnet-7 with getFinalityCheckpoints on three nodes; bench-log "finality rule V2" and "igneum-node devnet v2"Simulation: 0 conflicting locks in every honest partition and eclipse scenario with the floor; without it both sides of a 50/50 split lock after 60 min. Test network: 72 of 72 determined checkpoints locked on all three nodes, lock latency median 0.80 s, p90 1.08 s, 0 conflicting certificates; an equivocating key stripped at index 43 and excluded; with one voter left (39.6% of total) 0 locks for 749 s, then the heal locked 13 checkpoints within 30 s. 3 October 2026, Apple M5 Max, 53 minutes. Not on the live devnet (its miners do not vote yet); the simulation has no DAG; one unexplained stall of all three nodes in the first run, not reproducednone yet 11Hashrate that arrived today has almost no vote: ten days of the whole network's hashrate to reach a third of the weight, twenty for two thirds; 51% never reaches two thirds while honest miners stay
Litepaper Finality; homepage firsts
tested by the teamrepo bbb264a; sim/finality_v2.pyScenario B of sim/finality_v2.py, seeds 7 and 11share(t) = (t/30) x a/(1+a) holds to 0.04 points; a renter equal to the whole honest network (a = 1) crosses 1/3 on day 20 and never reaches 2/3; a = 9 crosses 1/3 on day 11.1 and 2/3 on day 22.2. The ten-day figure is a = infinity, honest miners gone. 3 October 2026, Apple M5 Max. A model with 1,000 Pareto keys and no DAG; the harness scenarios against the real node (1b, 3b, 4b) are stubsnone yet 12The difficulty rule recovers from a hashrate step within about a minute, where Kaspa's sampled rule never settles
Spec 2.3; litepaper Speed (implied); bench page
tested by the teamrepo e9328c6; fork worktree vendor/igneum-node-diff branch difficulty; sim/difficulty/sim.pysim/difficulty/sim.py on nine profiles plus the devnet record; the 3-node test network with "difficulty_rule" in the override file; cargo test -p kaspa-consensus --lib difficulty (9 pass); bench-log "difficulty controller"Simulator, settled seconds: x50 step 62 (Kaspa 1,542), /50 step 657 (Kaspa 12,296), the devnet's 75x step 79 (Kaspa never). Test network: within 10% of 1 block/s after 132 s warm-up, 214 s on a join, 85 s on a leave. 3 October 2026, Apple M5 Max under load 50 to 98. Monero and LWMA baselines reproduced from memory, approximate; no DAG in the simulator; harness scenarios 2b and 7b are stubsnone yet 13Every node executes the ordered transactions natively and reaches the same state root
Litepaper Proving ("Every node executes ... natively"), Building ("runs on Igneum unchanged")
tested by the teamrepo f5f8c80; fork worktree vendor/igneum-node-exec branch execution-layer; revm 43.0.3node tools/evm-smoke/smoke.mjs against a 3-node igneumd --simnet; igneum-exec-diff seq.json; bench-log "execution layer devnet v3"87 of 87 viem checks; state roots identical on 3 nodes at chain blocks 0, 56, 74 and 78; 57 executed transactions and 19 skipped copies agree with plain revm, 0 mismatches; balances match receipts to the wei. 3 October 2026, Apple M5 Max. Simnet skips proof of work, the prover is a stub, state is rebuilt from genesis at start, no EVM transaction relay between nodesnone yet