Site 2.0 follow-up: the placed full-core figures (about 1.5x to 2x on the same node, MODELLED) with the coexistence verdict beside them; the plan's success-condition sentence, the revised hybrid sentence and the market-structure line; the 2.0 devnet's facts (chain id 4465, node 4cdcc488, digest be5f4068, the verifier on from block zero, 18 decimals, the emission constant with its file and line, the proving payment behind its constant) on the manifest, /build, /metamask, /faucet, the light client and the facts page; the five served labels and the wording ladder on the facts page; the never-served gate check; the ledger's D5 restated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
b5667776f5
commit
758faf1a5d
45 changed files with 201 additions and 138 deletions
4
docs/build/build.md
vendored
4
docs/build/build.md
vendored
|
|
@ -16,7 +16,7 @@ This file is the source of [igneum.network/build](https://igneum.network/build).
|
|||
|
||||
| | Igneum 2.0 devnet |
|
||||
|---|---|
|
||||
| Chain id | 4464 (`0x1170`) |
|
||||
| Chain id | 4465 (`0x1171`) |
|
||||
| Network id | `igneum-devnet-4` |
|
||||
| RPC | `https://rpc.devnet.igneum.network` (a node you run serves `http://127.0.0.1:26790`) |
|
||||
| Coins | no value, resets without notice |
|
||||
|
|
@ -61,7 +61,7 @@ cast send 0xDEPLOYED "increment()" --rpc-url $RPC --private-key $PK
|
|||
cast call 0xDEPLOYED "number()(uint256)" --rpc-url $RPC
|
||||
```
|
||||
|
||||
The call answers `1`. Paste the transaction hash into [the explorer](/explorer). Hardhat, ethers and viem work the same way: chain id 4464, the RPC above.
|
||||
The call answers `1`. Paste the transaction hash into [the explorer](/explorer). Hardhat, ethers and viem work the same way: chain id 4465, the RPC above.
|
||||
|
||||
## The RPC the node serves
|
||||
|
||||
|
|
|
|||
8
docs/build/first-contract.md
vendored
8
docs/build/first-contract.md
vendored
|
|
@ -1,6 +1,6 @@
|
|||
# Your first contract on the devnet, in five minutes
|
||||
|
||||
With Foundry. Tested end to end on a build box; the pass line and the exact output are at the end. Hardhat, ethers and viem work the same way: chain id 4464 and the RPC below.
|
||||
With Foundry. Tested end to end on a build box; the pass line and the exact output are at the end. Hardhat, ethers and viem work the same way: chain id 4465 and the RPC below.
|
||||
|
||||
## 0. What you need
|
||||
|
||||
|
|
@ -10,7 +10,7 @@ With Foundry. Tested end to end on a build box; the pass line and the exact outp
|
|||
|
||||
```
|
||||
export RPC=https://rpc.devnet.igneum.network
|
||||
cast chain-id --rpc-url $RPC # 4464
|
||||
cast chain-id --rpc-url $RPC # 4465
|
||||
```
|
||||
|
||||
## 1. A key, for the devnet only
|
||||
|
|
@ -82,7 +82,7 @@ cast receipt 0xTXHASH --rpc-url $RPC
|
|||
|
||||
## The test record
|
||||
|
||||
Run on a build box against its own devnet node (the box that also fronts the public RPC and runs the faucet), with Foundry 1.8.5 and a fresh key, through `docs/build/first-contract-test.sh`. The pass line is appended below by the run.
|
||||
Run on a build box against its own devnet node (the box that also fronts the public RPC and runs the faucet), with Foundry 1.8.5 and a fresh key, through `docs/build/first-contract-test.sh`. The pass line is appended below by the run (the lines below are historical records of earlier devnets, chain ids 4463 and 4464; the Igneum 2.0 devnet answers 4465).
|
||||
|
||||
```
|
||||
PASS 10:17:23Z: devnet chain id 4463, faucet drip 0x8620e9d894484e824e4ac33002946a00e2f75823ea6db0da0ad29f1af142e8f2, deployed Counter at 0x6345265C6Db0b3713eb6645d795d0B52FE0a4201 (tx 0xcf77b4822d51f3c60ecdf6d7dbbe67524d42071f06c76e1cf9b0511d64783574), increment then setNumber(41) read back 41, receipt status 1 (success), block 27055, 24 s end to end, Foundry 1.8.5
|
||||
|
|
@ -90,7 +90,7 @@ PASS 10:17:23Z: devnet chain id 4463, faucet drip 0x8620e9d894484e824e4ac3300294
|
|||
|
||||
Through the public endpoints, `https://rpc.devnet.igneum.network` and `https://faucet.igneum.network`, from the box: the first faucet drip and the first reader-path deploy on the devnet.
|
||||
|
||||
After the class v5 floor moved the chain id to 4464 the same afternoon, from a second box:
|
||||
Historical record (an earlier devnet, chain id 4464 after its class v5 floor; the Igneum 2.0 devnet answers 4465), from a second box:
|
||||
|
||||
```
|
||||
PASS 12:38:39Z: devnet chain id 4464, faucet drip 0xa54fdb7e964dab095aaccaab36ea548fc3fa8727acb809b593c2d4d1359c233f, deployed Counter at 0x7de503a4F39feEBCE8c4ABbAcC04282EE75120Fe (tx 0x6ccdbb4f6393fcf09e58ba2f4de1af98c547eeab6f02d93eacfebae883200dc6), increment then setNumber(41) read back 41, receipt status 1 (success), block 29878, 12 s end to end, Foundry 1.8.5
|
||||
|
|
|
|||
4
docs/build/rpc.md
vendored
4
docs/build/rpc.md
vendored
|
|
@ -9,9 +9,9 @@ Transport: HTTP POST, JSON-RPC 2.0, one request per call, no batches tested. The
|
|||
| Method | Note |
|
||||
|---|---|
|
||||
| `web3_clientVersion` | `igneumd/<version>/execution-layer-v3` |
|
||||
| `net_version` | the chain id as a decimal string, `"4464"` |
|
||||
| `net_version` | the chain id as a decimal string, `"4465"` |
|
||||
| `net_listening`, `net_peerCount` | |
|
||||
| `eth_chainId` | `0x1170` (4464) on the Igneum 2.0 devnet. Read it, never fix it |
|
||||
| `eth_chainId` | `0x1171` (4465) on the Igneum 2.0 devnet. Read it, never fix it |
|
||||
| `eth_blockNumber` | the executed chain tip |
|
||||
| `eth_syncing` | `false` when the executor is at the tip |
|
||||
| `eth_mining` | `false` from the RPC's point of view: mining is the miner's, not the node's |
|
||||
|
|
|
|||
|
|
@ -4,6 +4,10 @@
|
|||
|
||||
## The six labels
|
||||
|
||||
Every row's Status cell opens with one of five served labels from the 2.0 plan: TEAM-REPORTED (measured or exercised by the project, procedure and version named), MODELLED (a model's figure, never a measurement), PROPOSED (a design or a decision, no code or chain behind it yet), PENDING (built, awaiting the chain event or the row that activates it) or EXCLUDED (a claim the project does not make). The status word follows it.
|
||||
|
||||
The public wording ladder, and what supports each rung: "designed for GPU competitiveness" (the objective only); "team-tested" (a procedure, a version and a result on the record); "independently reproduced" (an unaffiliated operator's run); "independently reviewed" (a scoped review with its unresolved findings); "top-tier contender" (comparative evidence plus the operator proposition); "category leader" (never claimed without sustained adoption, and never with a number). Today nothing on this site stands above team-tested, and every chip row is modelled.
|
||||
|
||||
| Label | Meaning |
|
||||
|---|---|
|
||||
| designed | A decision in the design document, the plan or the specification. No code carries it, or the code is a stub |
|
||||
|
|
@ -27,13 +31,13 @@ Versions in the table: "the release manifest" is `site/release-manifest.json`, s
|
|||
|
||||
| # | Claim | Where it is made | Status | Version or commit | Reproducible test | Result, date, machine | Independent verification |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 1 | The Igneum 2.0 devnet (`igneum-devnet-4`): started fresh on 8 October 2026 from the release cut; chain id 4464; the release manifest (/release.json) carries its commits and is regenerated at its first block | This page; the live page | designed (starting) | the release manifest (/release.json) | `docs/plans/igneum-2.0.md` (the 2.0 reset: the network restarts as the 2.0 devnet); the row moves to activated when a node's own line shows the first block and the manifest is regenerated from it | 8 October 2026: no first block yet (designed); chain id 4464 (designed) | none yet |
|
||||
| 2 | Proof verification is enforced in consensus before the no-rescue exercise (D5's prerequisite). Today the rule is off: every producer verifies proofs off the consensus path, and a block carrying a matching statement without a valid proof is not refused by consensus | `docs/plans/igneum-2.0.md` D5; this page | implemented (switched off on the devnet) | node fork `f8da7515`: the switch is `proving_consensus_verify_daa` in `consensus/core/src/config/params.rs` (the plan names it `verifier_in_consensus` and `proof_rule_active_from`), the rule `check_carried_proofs` in `consensus/src/pipeline/body_processor/body_validation_in_context.rs`, the gate `proof_rule_applies` in `consensus/core/src/proving.rs` | Read the devnet parameters at that commit: `proving_consensus_verify_daa: u64::MAX` (never) in the devnet's parameters, which the 2.0 devnet inherits; the pass condition is the switch set to an activation height on the exercise network and a node's line naming it | 8 October 2026: read from the node source, not measured; the switch reads never on the devnet (implemented, not activated) | none yet |
|
||||
| 3 | The 64-register window per lane costs a GPU under 1 percent of rate at stock, and at most 5 percent per load with the liveness chain | The litepaper (class v6); `docs/plans/igneum-2.0.md` D1 (the placed 64-register rows) | tested by the team | `docs/analysis/class-v6/connected-state.md` section 4; `docs/design/class-v6-rotating-family.md` section 10.0e | The class v5 nvcc harness and the kit worker, both packs on the same card minutes apart, 250 batches of 2^24, nvidia-smi at 1 Hz, vectors PASS on every row (`connected-state.md` section 4); the per-load rows of the full chain against the base (`class-v6-rotating-family.md` 10.0e) | 8 October 2026, rented RTX 5090 (575 W cap) and RTX 4090 (450 W cap) at stock: energy per hash +0.6 percent on the RTX 5090 and -0.9 percent on the RTX 4090, inside the run-to-run noise; under 1 percent of rate; 80 to 87 registers per thread, no spill (all measured). Per load: RTX 5090 16.7 nJ base, 17.6 nJ full chain; RTX 4090 26.0 nJ, 27.0 nJ (measured). The lock row on the project's own rigs is owed | none yet |
|
||||
| 4 | Reorganising the same work around live state (the connected-state variant, experiment D2(a)) does not reduce a specialised chip's edge: KILL as a class | `docs/plans/igneum-2.0.md` D2(a); this page | tested by the team (a published failure) | `docs/analysis/class-v6/connected-state.md` (the verdict, section 6) | The census, liveness and GPU rows in `connected-state.md` sections 2 to 4; the chip side priced on the drawn program by synthesis (a model, never a lower bound) | 8 October 2026, verdict 17:25 UK: the window is necessary (63 of 64 registers live at every address, measured) but only its width reaches the chip, +1.2 pJ per lane-op at N5 (synthesised); the window moves the chip's edge 1.10x node for node against a 1.25x gate (modelled); the GPU side +0.6 percent energy per hash on the RTX 5090, -0.9 percent on the RTX 4090 at stock (measured). Rearranging the dependency graph of the same operations moves neither side | none yet |
|
||||
| 5 | "A GPU-secured network for Ethereum-compatible applications and verifiable computation." served on every page | Every page | designed (served) | `docs/plans/igneum-2.0.md` (the objective: the positioning line) | `node tools/ci/ledger-text-check.mjs`: the sentence pinned (R0) on the home page, the litepaper and this page | 8 October 2026: on this page; the home page and the litepaper carry it as their 2.0 text lands (designed) | none yet |
|
||||
| 6 | The chip claim as served: "Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes." Under it the three statements, separate: energy (the modelled range 2.5x to 3.0x a node ahead and 2.1x to 2.6x node for node, the placed row to narrow it; the strongest modelled design, a hybrid board with the hottest half of the dataset in SRAM beside DRAM, reads 2.69x node for node, 2.20x to 3.03x, modelled, and is being scored in the coexistence model), economic and response capability, rotation an optional improvement. Class v5 derives the dataset from chain state; whether that excludes a specialised design is under evaluation (Deliverable 3), since a design that tracks state is not excluded by staleness. The energy ratio is not the pass criterion: the coexistence model ([docs/analysis/class-v6/coexistence-model.md](https://git.igneum.network/igneum-network/igneum/src/branch/master/docs/analysis/class-v6/coexistence-model.md)) is, and its first run's result is served with its conditions: The test is whether a specialised supplier can earn a normal return while ordinary GPUs stay close enough in total cost, obtainable and useful outside mining that new entrants still compete. On today's modelled rows that holds for the chip anyone can build, a stored-dataset board on commodity DRAM, at a productive life of one to three years: its cost per accepted unit of work sits within the range of the best GPU owner and entrant, and a fleet of it holds a minority of the network with GPU entrants still setting the price. It fails for the SRAM-store die once that die exists with its development paid: no electricity price keeps a GPU owner level with it, and a modest fleet takes most of the network. What holds the die is the investment decision, not the hash; every chip figure here is modelled, not measured, and the chip's hardware cost per unit of work is approximate within 2x. | The litepaper (the chip model) | designed (the bracket modelled; the GPU side tested by the team) | `docs/design/class-v6-rotating-family.md` section 10 (10.0h to 10.0n, 8 October 2026); `docs/plans/igneum-2.0.md` D3 and D4 | the scoring rule in the close (the minimum over workloads of the maximum over free adversarial designs of the GPU's joules per hash over the adversary's, under the 10 percent GPU-cost budget at the lock, the verifier limit, cross-vendor correctness and hardware accessibility); the placed rows are D3's | the GPU side measured: the RTX 5080 at its 1,100 MHz lock 2.06 microjoules per hash and the RTX 5090 at its 1,300 MHz lock 2.33 (8 October 2026, the project's own rigs and rented pods); the chip side synthesised and claimed, its placed gated row pending | none yet |
|
||||
| 7 | Mining and proving together on one card needs a 16 GB card at the 5.5 GiB dataset floor: the miner holds about 6.1 GiB and a compressed shard proof peaks at about 7.5 GiB, so 8 GB and 12 GB cards time-share (the app pauses the miner for the proof). NVIDIA proves; AMD and Apple mine | The litepaper (Proving, vs RandomX); the miner page | tested by the team | `docs/analysis/class-v6/coexist-rows.md` (the 5.5 GiB ds55 miner beside igneum-prove-host-0317, compressed at threshold 2^26, the served sm_86 and sm_89 floors) | the RESULT rows in that file, verbatim from the runs | rented RTX 3060 12 GB: 26.82 MH/s at 117.4 W with 6,129 MiB resident; the compressed shard 13.2 s, peak 7,525 MiB (6,129 + 7,525 = 13,654 MiB against 12,288); rented RTX 4060 8 GB: 18.84 MH/s, 6,116 MiB resident; the shard 8.2 s, peak 7,532 MiB; 8 October 2026 | none yet |
|
||||
| 1 | The Igneum 2.0 devnet (`igneum-devnet-4`): genesis 7c36b833 stamped 8 October 2026, chain id 4465 (eth_chainId 0x1171), 18 decimals, every upgrade on from block zero (class v5, the era VDF, finality v3, calibrated fees, enforced proving); the release manifest (/release.json) carries its commits and is regenerated at its first block | This page; the live page; /build | PENDING; designed (starting): the first block of the re-cut node is pending | the release manifest (/release.json): node 4cdcc488 on release-2.0.0-node, igneum-pow 1c420786, digest be5f4068 | the node's own start line (the node lane's read of build-1's seed); the row moves to activated at the first block | 8 October 2026: an earlier object of the same genesis minted at the wrong decimals and is dead; the re-cut restarts the chain from the same genesis on wiped datadirs | none yet |
|
||||
| 2 | Proof verification is enforced in consensus on the Igneum 2.0 devnet from block zero (Deliverable 5's prerequisite): the node's start line reads "consensus proof verification from DAA score 0 (verifier_in_consensus set)" and names the shard program id and the aggregator id; a block carrying a statement without a valid proof is refused | `docs/plans/igneum-2.0.md` D5; this page; the litepaper (Proving) | PENDING; implemented, activated at the 2.0 devnet's first block | node 4cdcc488 on release-2.0.0-node (the manifest); the program ids are the ELF manifest's (`proving/igneum-prove/elf/manifest.json`) | the node's own start line; the no-rescue exercise itself (D5) is Open | 8 October 2026: on from block zero in the 2.0 devnet's object; the earlier devnet ran with the rule off | none yet |
|
||||
| 3 | The 64-register window per lane costs a GPU under 1 percent of rate at stock, and at most 5 percent per load with the liveness chain | The litepaper (class v6); `docs/plans/igneum-2.0.md` D1 (the placed 64-register rows) | TEAM-REPORTED; tested by the team | `docs/analysis/class-v6/connected-state.md` section 4; `docs/design/class-v6-rotating-family.md` section 10.0e | The class v5 nvcc harness and the kit worker, both packs on the same card minutes apart, 250 batches of 2^24, nvidia-smi at 1 Hz, vectors PASS on every row (`connected-state.md` section 4); the per-load rows of the full chain against the base (`class-v6-rotating-family.md` 10.0e) | 8 October 2026, rented RTX 5090 (575 W cap) and RTX 4090 (450 W cap) at stock: energy per hash +0.6 percent on the RTX 5090 and -0.9 percent on the RTX 4090, inside the run-to-run noise; under 1 percent of rate; 80 to 87 registers per thread, no spill (all measured). Per load: RTX 5090 16.7 nJ base, 17.6 nJ full chain; RTX 4090 26.0 nJ, 27.0 nJ (measured). The lock row on the project's own rigs is owed | none yet |
|
||||
| 4 | Reorganising the same work around live state (the connected-state variant, experiment D2(a)) does not reduce a specialised chip's edge: KILL as a class | `docs/plans/igneum-2.0.md` D2(a); this page | TEAM-REPORTED; tested by the team (a published failure) | `docs/analysis/class-v6/connected-state.md` (the verdict, section 6) | The census, liveness and GPU rows in `connected-state.md` sections 2 to 4; the chip side priced on the drawn program by synthesis (a model, never a lower bound) | 8 October 2026, verdict 17:25 UK: the window is necessary (63 of 64 registers live at every address, measured) but only its width reaches the chip, +1.2 pJ per lane-op at N5 (synthesised); the window moves the chip's edge 1.10x node for node against a 1.25x gate (modelled); the GPU side +0.6 percent energy per hash on the RTX 5090, -0.9 percent on the RTX 4090 at stock (measured). Rearranging the dependency graph of the same operations moves neither side | none yet |
|
||||
| 5 | "A GPU-secured network for Ethereum-compatible applications and verifiable computation." served on every page | Every page | PROPOSED; designed (served) | `docs/plans/igneum-2.0.md` (the objective: the positioning line) | `node tools/ci/ledger-text-check.mjs`: the sentence pinned (R0) on the home page, the litepaper and this page | 8 October 2026: on this page; the home page and the litepaper carry it as their 2.0 text lands (designed) | none yet |
|
||||
| 6 | The chip claim as served: "Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes." Under it the three statements, separate: energy ("Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x." MODELLED: the GPU side measured, the chip's core placed and routed, the rest of the machine modelled, no chip measured, hardware cost approximate within 2x), economic and response capability, rotation an optional improvement. Class v5 derives the dataset from chain state; whether that excludes a specialised design is under evaluation (Deliverable 3), since a design that tracks state is not excluded by staleness. The energy ratio is not the pass criterion: the coexistence model ([docs/analysis/class-v6/coexistence-model.md](https://git.igneum.network/igneum-network/igneum/src/branch/master/docs/analysis/class-v6/coexistence-model.md)) is, and its first run's result is served with its conditions: A specialised supplier may earn a normal return; ordinary GPUs remain sufficiently close in total cost, widely obtainable and useful outside mining that new operators can still compete. On today's modelled rows that holds for the chip anyone can build, a stored-dataset board on commodity DRAM, at a productive life of one to three years: its cost per accepted unit of work sits within the range of the best GPU owner and entrant, and a fleet of it holds a minority of the network with GPU entrants still setting the price. It fails for the SRAM-store die once that die exists with its development paid: no electricity price keeps a GPU owner level with it, and a modest fleet takes most of the network. A third design, a DRAM board with the hottest half of the dataset in on-board SRAM, sits between the two: it coexists only in a growing network at cheap GPU electricity and fails the cost conditions in a flat or shrinking one, and the dataset's size floor is a real lever on it where it was none on the SRAM die. What holds the die is the investment decision, not the hash; every chip figure here is modelled, not measured, and the chip's hardware cost per unit of work is approximate within 2x. | The litepaper (the chip model) | MODELLED; designed (the bracket modelled; the GPU side tested by the team) | `docs/design/class-v6-rotating-family.md` section 10 (10.0h to 10.0n, 8 October 2026); `docs/plans/igneum-2.0.md` D3 and D4 | the scoring rule in the close (the minimum over workloads of the maximum over free adversarial designs of the GPU's joules per hash over the adversary's, under the 10 percent GPU-cost budget at the lock, the verifier limit, cross-vendor correctness and hardware accessibility); the placed rows are D3's | the GPU side measured: the RTX 5080 at its 1,100 MHz lock 2.06 microjoules per hash and the RTX 5090 at its 1,300 MHz lock 2.33 (8 October 2026, the project's own rigs and rented pods); the chip side synthesised and claimed, its placed gated row pending | none yet |
|
||||
| 7 | Mining and proving together on one card needs a 16 GB card at the 5.5 GiB dataset floor: the miner holds about 6.1 GiB and a compressed shard proof peaks at about 7.5 GiB, so 8 GB and 12 GB cards time-share (the app pauses the miner for the proof). NVIDIA proves; AMD and Apple mine | The litepaper (Proving, vs RandomX); the miner page | TEAM-REPORTED; tested by the team | `docs/analysis/class-v6/coexist-rows.md` (the 5.5 GiB ds55 miner beside igneum-prove-host-0317, compressed at threshold 2^26, the served sm_86 and sm_89 floors) | the RESULT rows in that file, verbatim from the runs | rented RTX 3060 12 GB: 26.82 MH/s at 117.4 W with 6,129 MiB resident; the compressed shard 13.2 s, peak 7,525 MiB (6,129 + 7,525 = 13,654 MiB against 12,288); rented RTX 4060 8 GB: 18.84 MH/s, 6,116 MiB resident; the shard 8.2 s, peak 7,532 MiB; 8 October 2026 | none yet |
|
||||
|
||||
## Count by status
|
||||
|
||||
|
|
|
|||
|
|
@ -112,6 +112,8 @@ Pin: D4, first, fifth to seventh boxes and the pass condition.
|
|||
|
||||
Status: Conceded (8 October 2026): consensus does not enforce proofs today; the switch is in the node and reads never on the devnet. Pass when proof verification is enforced in consensus, live on the exercise network.
|
||||
|
||||
Status: Fixed (8 October 2026, 17:0x UK): the Igneum 2.0 devnet's node enforces proof verification in consensus from block zero (verifier_in_consensus set, node 2.0.0 4cdcc488 on release-2.0.0-node, the node's own start line); the no-rescue exercise itself stays Open and is the pass condition. Was: Conceded, the rule off on the earlier devnet.
|
||||
|
||||
Answer: Every producer verifies proofs off the consensus path today, so the network demonstrates proving activity rather than enforcing a permissionless proving economy. The rule and its activation switch exist in the node fork and are off on the devnet. Enforcement in consensus is the prerequisite of the no-rescue exercise, and node 2.0.0 follows it.
|
||||
|
||||
Evidence: the facts page row 2 (`docs/evidence.md`); `docs/plans/igneum-2.0.md` (D5, first box; Versioning).
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Generated by `tools/ledger/export-public.mjs` from `docs/fud-ledger-2.0.md`; a gate check fails when the two drift. One row per item: the claim or criticism, its status, what was done, and the evidence. Internal identifiers, times of day and team-member names are left out on purpose; the full ledger is published with the repository.
|
||||
|
||||
26 items. By status: Open 12; Decided 8; Conceded 6.
|
||||
26 items. By status: Open 12; Decided 8; Conceded 5; Fixed 1.
|
||||
|
||||
| Id | Claim or criticism | Status | What was done | Evidence |
|
||||
|---|---|---|---|---|
|
||||
|
|
@ -15,7 +15,7 @@ Generated by `tools/ledger/export-public.mjs` from `docs/fud-ledger-2.0.md`; a g
|
|||
| D2 | Reorganising the work will not stop a specialist | Conceded | The connected-state variant, D2(a), is a KILL as a class; the memory-sharing attack, D2(b), is Open. | [docs/analysis/class-v6/connected-state.md](../docs/analysis/class-v6/connected-state.md) |
|
||||
| D3 | Chips do not expire on schedule | Conceded | "Every chip dies within a family epoch" is out of the baseline economic model, and chip-arrival percentages are not published. | [docs/plans/igneum-2.0.md](../docs/plans/igneum-2.0.md) |
|
||||
| D4 | The capex wall is a fiction | Open | Pass when the five-year coexistence model, whose mandatory stress case has development already paid for, names credible conditions for commodity participation and where they fail. | [docs/plans/igneum-2.0.md](../docs/plans/igneum-2.0.md) |
|
||||
| D5 | Proofs are not a protocol guarantee yet | Conceded | Consensus does not enforce proofs today; the switch is in the node and reads never on the devnet. | [docs/evidence.md](../docs/evidence.md) |
|
||||
| D5 | Proofs are not a protocol guarantee yet | Fixed | The Igneum 2.0 devnet's node enforces proof verification in consensus from block zero (verifier_in_consensus set, node 2.0.0 a commit on release-2.0.0-node, the node's own start line); the no-rescue exercise itself… | [docs/evidence.md](../docs/evidence.md) |
|
||||
| P1 | A pool controls its miners' votes | Open | Pass when the member's retained voting key is committed into its work at protocol level, payment aggregation is separate and verifiable, and pool identity substitution is resisted. | [docs/plans/igneum-2.0.md](../docs/plans/igneum-2.0.md) |
|
||||
| P2 | Pools take custody and home miners lose to latency | Open | Pass on non-custodial payouts with practical minimums, local work verification and low-bandwidth participation, and on a published measurement of the accepted-work penalty for home internet against datacentre… | [docs/plans/igneum-2.0.md](../docs/plans/igneum-2.0.md) |
|
||||
| P3 | Firo's miner is the bar | Open | Pass when Ember reaches good operating points without third-party software and its optimisation work, compiler settings and safe tuning logic are published beside a comparison. | [docs/plans/igneum-2.0.md](../docs/plans/igneum-2.0.md) |
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ How to read the licence column. "Verified" means the LICENSE file or the crate's
|
|||
| BLS12-381 | Curve by Barreto, Lynn and Scott; blst by Supranational. Licence approximate: Apache-2.0. https://github.com/supranational/blst (not yet cloned) | Unchanged, credited. The header carries the BLAKE2b hash of a G1 compressed public key (48 bytes); every voter signs every 30-s checkpoint; signatures aggregate | Finality rule v2 needs one aggregate signature per checkpoint from thousands of keys | Spec section 3.1 (W1) and 2.4; `sim/results_v2.md` for the rule itself. Signature cost not yet measured |
|
||||
| Hashing in the node | rusty-kaspa `crypto/hashes`, ISC, verified. Crates linked by the fork, licences read from the local cargo registry: blake2b_simd 1.0.2 (MIT), blake3 1.8.3 (CC0-1.0 or Apache-2.0), sha2 0.10.8 (MIT or Apache-2.0), keccak 0.1.6 (Apache-2.0 or MIT); sha3 0.10.8 not in the local registry, approximate: MIT or Apache-2.0 | Unchanged, credited. BLAKE2b with domain separation for block, transaction and PoW pre-hashes (`BlockHash`, `TransactionHash`, ...), BLAKE3 keyed for the sequencing-commitment and payload hashers, SHA-256 for ECDSA signing hashes, cSHAKE256 (Keccak) in the kHeavyHash stub that stays as the default engine and for pruning-proof block levels | The chain's hash for everything except the lottery is the one the forked commit uses (spec 0.6), so nothing unverified enters consensus | `hash_override_nonce_time` gained one field (fork-divergence row 1); every header-hash test vector was regenerated and the four genesis hashes re-derived |
|
||||
| Address format | Bitcoin BIP 173 character set (bech32, Pieter Wuille and Greg Maxwell; BIP licence approximate: BSD-2-Clause) with the CashAddr polymod checksum of Bitcoin Cash (the source cites bch.info), as implemented in rusty-kaspa `crypto/addresses/src/bech32.rs`, ISC, verified | Prefixes only: `igneum`, `igneumtest`, `igneumsim`, `igneumdev` (Kaspa: `kaspa`, `kaspatest`, `kaspasim`, `kaspadev`). The script public key behind an address is unchanged | No Igneum address string may parse as a Kaspa address on any network | Fork-divergence row 9; test vectors in `addresses` and `txscript` regenerated and passing |
|
||||
| The EVM | Ethereum (Yellow Paper and ethereum/execution-specs, CC0 approximate). Cancun opcode set, precompiles 0x01 to 0x09 | Semantics on a DAG: `block.number` is selected-chain height, `block.timestamp` is non-decreasing by a max rule, `prevrandao` is the VDF epoch seed, chain id 4464 on the devnet and 4461 reserved for mainnet (the current id is in /release.json); 0x0a absent; gas has a second dimension | Blocks on a DAG have no single parent and no header state root; proving cost is a second resource; the random beacon must be unbiasable | Spec section 7.1 (normative table); devnet measurement R9 for timestamp drift; `ethereum/tests` replay in the differential plan |
|
||||
| The EVM | Ethereum (Yellow Paper and ethereum/execution-specs, CC0 approximate). Cancun opcode set, precompiles 0x01 to 0x09 | Semantics on a DAG: `block.number` is selected-chain height, `block.timestamp` is non-decreasing by a max rule, `prevrandao` is the VDF epoch seed, chain id 4465 on the Igneum 2.0 devnet (4463 and 4464 on earlier devnets) and 4461 reserved for mainnet (the current id is in /release.json); 0x0a absent; gas has a second dimension | Blocks on a DAG have no single parent and no header state root; proving cost is a second resource; the random beacon must be unbiasable | Spec section 7.1 (normative table); devnet measurement R9 for timestamp drift; `ethereum/tests` replay in the differential plan |
|
||||
| kHeavyHash (kept as a stub) | Kaspa, rusty-kaspa `crypto/hashes/src/pow_hashers.rs` and `consensus/pow/src/matrix.rs`, ISC, verified | Kept untouched as `HeavyHashEngine`, the default engine when the `igneum-pow` feature is off, and the block-level source for pruning proofs until seeds are threaded through | Lets the devnet run and lets upstream pow changes merge cleanly | Fork-divergence rows 14 and 15; open item in the same file (pruning-proof block levels) |
|
||||
|
||||
## What is new in Igneum
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ main{flex:1}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ table{min-width:560px}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -257,7 +257,7 @@ table{min-width:560px}
|
|||
<p><strong>The EVM you already know.</strong> Solidity deploys unchanged. Standard JSON-RPC, EIP-1559 transactions, the chain id in the signature, <code>cancun</code> as the EVM version. Gas has two dimensions on Igneum, execution and proving, and the node folds the second into the price it quotes, so <code>eth_estimateGas</code> and <code>eth_gasPrice</code> work as they do on Ethereum.</p>
|
||||
</section>
|
||||
<section class="doc-section"><h2 id="networks">Networks</h2>
|
||||
<div class="tbl"><table><thead><tr><th></th><th>Igneum 2.0 devnet</th></tr></thead><tbody><tr><td>Chain id</td><td>4464 (<code>0x1170</code>)</td></tr><tr><td>Network id</td><td><code>igneum-devnet-4</code></td></tr><tr><td>RPC</td><td><code>https://rpc.devnet.igneum.network</code> (a node you run serves <code>http://127.0.0.1:26790</code>)</td></tr><tr><td>Coins</td><td>no value, resets without notice</td></tr><tr><td>Symbol, decimals</td><td>IGN, 18</td></tr><tr><td>Machine-readable</td><td><a href="/release.json">/release.json</a>: the chain id, the source commits and fingerprints, the mining class, the finality rule, the proof program ids, the fee schedule and the current version per platform, with a generated date</td></tr></tbody></table></div>
|
||||
<div class="tbl"><table><thead><tr><th></th><th>Igneum 2.0 devnet</th></tr></thead><tbody><tr><td>Chain id</td><td>4465 (<code>0x1171</code>)</td></tr><tr><td>Network id</td><td><code>igneum-devnet-4</code></td></tr><tr><td>RPC</td><td><code>https://rpc.devnet.igneum.network</code> (a node you run serves <code>http://127.0.0.1:26790</code>)</td></tr><tr><td>Coins</td><td>no value, resets without notice</td></tr><tr><td>Symbol, decimals</td><td>IGN, 18</td></tr><tr><td>Machine-readable</td><td><a href="/release.json">/release.json</a>: the chain id, the source commits and fingerprints, the mining class, the finality rule, the proof program ids, the fee schedule and the current version per platform, with a generated date</td></tr></tbody></table></div>
|
||||
<p>The devnet is where you build today. It is a developer network: it resets without notice and its coins have no value. Its public RPC takes the read methods, <code>eth_sendRawTransaction</code> and a wRPC websocket at <code>/ws</code>, at 20 requests a second per address. Read the chain id with <code>eth_chainId</code> rather than fixing it, since a transaction signed for the wrong id is refused.</p>
|
||||
<p>Mainnet has not started and has no date. Its chain id, 4461 (<code>0x116d</code>), is reserved in the node.</p>
|
||||
</section>
|
||||
|
|
@ -277,7 +277,7 @@ forge create src/Counter.sol:Counter --rpc-url $RPC --private-key $PK --broadcas
|
|||
<p><code>forge create</code> prints <code>Deployed to: 0x...</code>. Call it:</p>
|
||||
<pre>cast send 0xDEPLOYED "increment()" --rpc-url $RPC --private-key $PK
|
||||
cast call 0xDEPLOYED "number()(uint256)" --rpc-url $RPC</pre>
|
||||
<p>The call answers <code>1</code>. Paste the transaction hash into <a href="/explorer">the explorer</a>. Hardhat, ethers and viem work the same way: chain id 4464, the RPC above.</p>
|
||||
<p>The call answers <code>1</code>. Paste the transaction hash into <a href="/explorer">the explorer</a>. Hardhat, ethers and viem work the same way: chain id 4465, the RPC above.</p>
|
||||
</section>
|
||||
<section class="doc-section"><h2 id="the-rpc-the-node-serves">The RPC the node serves</h2>
|
||||
<p>Read from a devnet node, not from a spec. <code>web3_clientVersion</code> answers <code>igneumd/2.1.0/execution-layer-v3</code>. The full list, served and not served, with the probe that produced it: <a href="https://git.igneum.network/igneum-network/igneum/src/branch/master/docs/build/rpc.md" rel="noopener">docs/build/rpc.md</a>.</p>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -247,7 +247,7 @@
|
|||
<div class="derived"><p>Here are the limits, stated before anyone else states them.</p>
|
||||
<ul>
|
||||
<li><strong>A proof in seconds.</strong> Not at launch. Proving a full block today needs a cluster of 100 to 200 consumer GPUs, approximate, so Igneum launches with proofs within about a minute and tightens as hardware improves. Users still see their transaction land in one second.</li>
|
||||
<li><strong>A chip is impossible.</strong> No. Igneum assumes a chip exists. A programmable chip is not stopped by the moving target: everything it needs is public at genesis and every drawn parameter is firmware to it (an address permute, a rotator, an immediate table), so the defence against it is the latency-shadow work (class v4) and the price per joule, not the schedule (the chip and economy analysis of 6 October 2026, section 5.4; ledger M32). Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Current modelling estimates a 2.5x to 3.0x energy-efficiency advantage for the strongest specialised designs assessed against the GPU tier (2.1x to 2.6x on the GPU's own node). The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The labels: the bracket modelled, approximate and provisional (the GPU side measured on the RTX 5080 and RTX 5090 at their core locks under class v4, 8 October 2026; the chip core synthesised on ASAP7 and scaled to N3, claimed, its placed gated row pending; its memory modelled). Class v5 makes the dataset the chain’s own state, so a chip that stores it or recomputes it is wrong on every item (designed, 7 October 2026; under evaluation (Deliverable 3), not counted as a defence until justified or dropped). The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090 (the published model, 5 October 2026: 0.92x per unit of silicon with a 3x fixed-function allowance, approximate). Sources: the class v6 close, section 10 (8 October 2026); the ASIC history’s Ethash rows; the chip model analysis (6 October 2026). No hash has stayed free of chips forever; Igneum does not claim to. Monero’s RandomX has held its miners on commodity hardware for about seven years: one chip shipped against it, Bitmain’s Antminer X5 (September 2023), an observed comparison, not a ceiling; the one announced beyond it, the Antminer X9, was withdrawn in mid-May 2026 before any unit shipped, its claimed core never measured; RandomX v2 was released on 25 March 2026 with its activation pending. That record says nothing about the price of a chip with the 256 MB cache on its die; that price is a cost model, not a measurement.</li>
|
||||
<li><strong>A chip is impossible.</strong> No. Igneum assumes a chip exists. A programmable chip is not stopped by the moving target: everything it needs is public at genesis and every drawn parameter is firmware to it (an address permute, a rotator, an immediate table), so the defence against it is the latency-shadow work (class v4) and the price per joule, not the schedule (the chip and economy analysis of 6 October 2026, section 5.4; ledger M32). Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x. The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The labels: the bracket modelled, approximate and provisional (the GPU side measured on the RTX 5080 and RTX 5090 at their core locks under class v4, 8 October 2026; the chip core synthesised on ASAP7 and scaled to N3, claimed, its placed gated row pending; its memory modelled). Class v5 makes the dataset the chain’s own state, so a chip that stores it or recomputes it is wrong on every item (designed, 7 October 2026; under evaluation (Deliverable 3), not counted as a defence until justified or dropped). The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090 (the published model, 5 October 2026: 0.92x per unit of silicon with a 3x fixed-function allowance, approximate). Sources: the class v6 close, section 10 (8 October 2026); the ASIC history’s Ethash rows; the chip model analysis (6 October 2026). No hash has stayed free of chips forever; Igneum does not claim to. Monero’s RandomX has held its miners on commodity hardware for about seven years: one chip shipped against it, Bitmain’s Antminer X5 (September 2023), an observed comparison, not a ceiling; the one announced beyond it, the Antminer X9, was withdrawn in mid-May 2026 before any unit shipped, its claimed core never measured; RandomX v2 was released on 25 March 2026 with its activation pending. That record says nothing about the price of a chip with the 256 MB cache on its die; that price is a cost model, not a measurement.</li>
|
||||
<li><strong>A guaranteed income floor.</strong> No. External proving is a small market today. Igneum's miners' electricity cost in it is close to power, but the price they must charge is the subsidy they forgo, which falls as one over network hash: an edge at scale and nothing more.</li>
|
||||
<li><strong>A memory-hard prototype on every vendor.</strong> Not yet. The 256 MB cache closed the shortcut on Apple silicon (computing items runs 4.8x slower than loading them, measured 3 October 2026). The same ratio on NVIDIA and on a discrete AMD card is Open.</li>
|
||||
<li><strong>Finality in the first month.</strong> No. No checkpoint locks until the 30-day window has 30 days of history. The first month of mainnet is proof of work with a 12-hour depth, and the text above says so wherever a day count appears.</li>
|
||||
|
|
@ -258,7 +258,7 @@
|
|||
<li><strong>A chain you can debug today.</strong> Not yet. The node does not serve debug_traceTransaction, eth_subscribe or eth_getProof. The explorer, the faucet and the reference apps run on the devnet; the tracing and subscription RPCs are still owed.</li>
|
||||
<li><strong>A veto on job results.</strong> No. A segment proof is checked against every node's own execution; a proving job for another chain is not, because no full node can re-run an arbitrary program, so a soundness bug in the proof system in force reaches the requesting contract. A job output can mint nothing and touch no system contract, and an app that acts irreversibly on a job result keeps its own fallback.</li>
|
||||
<li><strong>A delay function that outlives a quantum computer.</strong> No. The class-group delay between a locked checkpoint and the next program seed falls to the same machine that would forge the vote keys; it is flagged in the specification, not yet sized, and the fallback is a hash-chain delay behind the same version byte that moves the signature scheme, so both flip in one class change. A grindable hourly seed is a liveness nuisance against the lottery, not a break of finality.</li>
|
||||
<li><strong>Proof verification in consensus.</strong> Not yet. Today, under proving v0, every producer verifies off the consensus path, and consensus checks the record's statement against native execution. Enforcement in consensus (verifier_in_consensus, proof_rule_active_from) is Open, and it is the prerequisite of the no-rescue network exercise (Deliverable 5) and of the proving economy being a protocol guarantee.</li>
|
||||
<li><strong>Proof verification in consensus.</strong> On the Igneum 2.0 devnet, yes, from block zero (verifier_in_consensus set, the node's own start line, 8 October 2026; PENDING its first block). It is the prerequisite of the no-rescue network exercise (Deliverable 5), which is still owed; an earlier devnet ran with the rule off.</li>
|
||||
<li><strong>Proving on every card.</strong> No. NVIDIA proves; AMD and Apple mine. The proving stack is judged on the full pipeline: inputs, proving, aggregation, verification, payment, memory and the mining income forgone.</li>
|
||||
<li><strong>What proofs do not give.</strong> Proven execution is not finality. EVM compatibility is not Ethereum security. ZK is not privacy.</li>
|
||||
<li><strong>A ranking.</strong> No. Igneum makes no leading or number-one claim. Benchmarks against Ravencoin's KAWPOW, Ergo and Firo's reference miner are owed work; no result exists yet.</li>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -211,7 +211,7 @@
|
|||
<section class="page-hero"><div class="container">
|
||||
<div class="breadcrumb"><a href="/">Igneum</a><span>/</span><span>Economics</span></div>
|
||||
<h1>The economics, as the node encodes them.</h1>
|
||||
<p class="lead">Every number below is read from the node’s source at one commit, with the file and the line, and the constants the chain runs on are the <a href="/release.json">release manifest</a>’s, filled at build time (node <span data-rm="source.node.commit">f8da7515</span>, <span data-rm="read_at_short">read 8 October 2026, 15:50 UK</span>). No price of IGN appears and nothing is projected: this page says what the code pays, to whom, and from what.</p>
|
||||
<p class="lead">Every number below is read from the node’s source at one commit, with the file and the line, and the constants the chain runs on are the <a href="/release.json">release manifest</a>’s, filled at build time (node <span data-rm="source.node.commit">4cdcc488</span>, <span data-rm="read_at_short">read 8 October 2026, 17:0x UK</span>). No price of IGN appears and nothing is projected: this page says what the code pays, to whom, and from what.</p>
|
||||
</div></section>
|
||||
<section class="section"><div class="container">
|
||||
<p class="src"><b>Source:</b> the node fork at commit <code>e0644958</code> (the devnet cut of 8 October 2026), confirmed by the node lane on 8 October 2026; every line number is that commit’s. The devnet runs the devnet parameters (<code>consensus/core/src/config/params.rs</code> 2173 and 2207).</p>
|
||||
|
|
@ -221,11 +221,11 @@
|
|||
<div class="tbl"><table>
|
||||
<thead><tr><th>Field</th><th><code>CURRENT</code> (the devnet today, mainnet)</th><th>Where</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Launch rate</td><td class="num"><span data-rm="fees.emission.launch_rate_base_units_per_daa_second">3,168,808,781</span> base units a DAA second (10<sup>9</sup> IGN x 10<sup>8</sup> / 31,557,600, floored: one billion IGN in year one)</td><td><code>emission.rs</code> 85 to 123; <code>igneum.rs</code> 34</td></tr>
|
||||
<tr><td>Launch rate</td><td class="num"><span data-rm="fees.emission.launch_rate_base_units_per_daa_second">31,688,087,810,000,000,000</span> base units a DAA second at 18 decimals (the literal 3,168,808,781 of <code>emission.rs</code> 104, 10<sup>9</sup> IGN x 10<sup>8</sup> / 31,557,600 floored, widened by <code>rescaled(DEVNET_DECIMALS, EVM_DECIMALS)</code> at <code>emission.rs</code> 129 in the devnet4 parameters: one billion IGN in year one, the same rate as mainnet)</td><td><code>emission.rs</code> 85 to 123; <code>igneum.rs</code> 34</td></tr>
|
||||
<tr><td>Ramp</td><td class="num">2,592,000 s (30 days) from 10 percent</td><td><code>igneum.rs</code> 76 <code>launch_ramp</code></td></tr>
|
||||
<tr><td>Step</td><td class="num">63,115,200 s (two years), the rate halved each step (decay 2<sup>31</sup> of 2<sup>32</sup>)</td><td><code>emission.rs</code> 85 to 123</td></tr>
|
||||
<tr><td>Tail</td><td class="num">none: the curve runs to zero and the sum is the hard cap, 4,000,000,000 IGN</td><td><code>emission.rs</code> 69 to 71</td></tr>
|
||||
<tr><td>Where each runs</td><td>The devnet (8 decimals); mainnet (rescaled to 18)</td><td><code>params.rs</code> 2158, 1764</td></tr>
|
||||
<tr><td>Where each runs</td><td>The Igneum 2.0 devnet (18 decimals, the rescaled schedule); mainnet (18)</td><td><code>params.rs</code> 2158, 1764</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>The schedule is a genesis parameter: the devnet digest does not move when a network installs another (<code>params.rs</code> 2095, the test). The live devnet’s block reward at its current DAA score is on <a href="/income">the income page</a>, computed from the <code>CURRENT</code> rule.</p>
|
||||
|
|
@ -247,14 +247,14 @@
|
|||
<tbody>
|
||||
<tr><td>Base fee, execution gas</td><td>burned in full: gas used times the execution base fee, debited and credited to no one</td><td>in the code on the devnet</td><td><code>igneum/exec/src/executor.rs</code> 320 to 371 (327 and 357, 328 and 360)</td></tr>
|
||||
<tr><td>Priority fee (the tip)</td><td><span data-rm="fees.priority_fee.miner_percent">80</span> percent to the block’s miner; <span data-rm="fees.priority_fee.developer_percent">20</span> percent to the developer registrations of the contracts whose code ran, pro rata by each frame’s gas; an unregistered frame’s part is credited to nobody, which is a burn</td><td>in the code on the devnet</td><td><code>executor.rs</code> 335 to 339; <code>igneum/exec/src/pgas.rs</code> 290; <code>igneum/exec/src/config.rs</code> 76 (<code>DEVELOPER_SHARE_PERCENT = 20</code>)</td></tr>
|
||||
<tr><td>The proving payment</td><td>pgas used times the proving base fee, the congestion price of proving capacity: 90 percent to the block’s proving pool, paid per shard to its provers by consensus proving cost; 10 percent burned</td><td>designed, not in the code: on the devnet the whole proving base fee is still burned, the routing pinned behind an activation constant</td><td>spec 05 sections 5.1 and 5.3; <code>docs/design/proving-payment.md</code> (8 October 2026)</td></tr>
|
||||
<tr><td>The proving payment</td><td>pgas used times the proving base fee, the congestion price of proving capacity: 90 percent to the block’s proving pool, paid per shard to its provers by consensus proving cost; 10 percent burned</td><td>designed, in the code behind the constant (<code>Params::proving_payment_activation_daa</code>, never on every object, on the fork branch proving-payment); the shard guest’s mirror of the split is owed before any height; on the 2.0 devnet the proving charge burns in full</td><td>spec 05 sections 5.1 and 5.3; <code>docs/design/proving-payment.md</code> (8 October 2026)</td></tr>
|
||||
<tr><td>External proving jobs</td><td>90 percent to the provers who delivered, 10 percent burned, once jobs settle in IGN</td><td>designed, not in the code: no constant exists; at launch a job is paid on the customer’s own chain</td><td>spec 05 section 5.4; the litepaper’s Proving section</td></tr>
|
||||
<tr><td>The provers’ part of the tip</td><td>none: no part of the tip reaches the provers; the tip stays whole to the block (spec O-5.7 closed at zero, 8 October 2026)</td><td>in the code</td><td><code>docs/design/proving-payment.md</code>; <code>executor.rs</code> 335 to 339</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
||||
<h2>The proving-fee market</h2>
|
||||
<p>A card’s second income is the proving pool: 20 percent of every block, paid per shard against a valid proof record, plus 90 percent of every block’s proving payment, which users pay at the congestion price of proving capacity (designed; on the devnet that payment is still burned in full). Nothing from the priority fee, which stays whole to the block. The price a prover must charge an outside customer is the subsidy it forgoes while it proves, which falls as one over the network’s hash rate; the market itself is designed and not built. The hard cap and the absence of any development fund are unchanged.</p>
|
||||
<p>A card’s second income is the proving pool: 20 percent of every block, paid per shard against a valid proof record, plus 90 percent of every block’s proving payment, which users pay at the congestion price of proving capacity (designed; on the devnet that payment is still burned in full). Nothing from the priority fee, which stays whole to the block. The reason the design routes the proving charge to the provers: the operator simulation reads a fixed internal pool as a subsidy, not a price, and only the congestion-priced user-funded fee restores service after a lasting proving spike (35 periods against never; modelled). The price a prover must charge an outside customer is the subsidy it forgoes while it proves, which falls as one over the network’s hash rate; the market itself is designed and not built. The hard cap and the absence of any development fund are unchanged.</p>
|
||||
|
||||
<h2>The client fee and the fund it fills</h2>
|
||||
<div class="tbl"><table>
|
||||
|
|
@ -279,7 +279,7 @@
|
|||
<h3>What reaches provers under the schedule, modelled</h3>
|
||||
<p>Low fees and no external demand, which is the chain today: the pool is a fifth of the subsidy and nothing else. The table holds today’s shard count and key count constant and walks the halvings. No price of IGN appears; whether a row covers a card’s electricity depends on the price, which this page does not state.</p>
|
||||
<!-- proving-model:start -->
|
||||
<div class="tbl"><table><thead><tr><th>When</th><th>Subsidy per block, IGN</th><th>Pool per block, IGN</th><th>Pool per day, IGN</th><th>Per planned shard, IGN</th><th>Per prover key per hour, IGN</th><th>Basis</th></tr></thead><tbody><tr><td>Today, inside the launch ramp</td><td class="num">3.894</td><td class="num">0.779</td><td class="num">67,286</td><td class="num">1.66</td><td class="num">96.7</td><td>DAA 65,900, 12.3 percent of the full rate; modelled; the measured payout is in the row above</td></tr><tr><td>Full rate (years 1 to 2)</td><td class="num">31.688</td><td class="num">6.338</td><td class="num">547,570</td><td class="num">13.52</td><td class="num">786.7</td><td>period 0 of the schedule; from day 30</td></tr><tr><td>After the first halving (years 3 to 4)</td><td class="num">15.844</td><td class="num">3.169</td><td class="num">273,785</td><td class="num">6.76</td><td class="num">393.4</td><td>period 1 of the schedule</td></tr><tr><td>After the second (years 5 to 6)</td><td class="num">7.922</td><td class="num">1.584</td><td class="num">136,893</td><td class="num">3.38</td><td class="num">196.7</td><td>period 2 of the schedule</td></tr><tr><td>After the third (years 7 to 8)</td><td class="num">3.961</td><td class="num">0.792</td><td class="num">68,446</td><td class="num">1.69</td><td class="num">98.3</td><td>period 3 of the schedule</td></tr><tr><td>After the fourth (years 9 to 10)</td><td class="num">1.981</td><td class="num">0.396</td><td class="num">34,223</td><td class="num">0.84</td><td class="num">49.2</td><td>period 4 of the schedule</td></tr><tr><td>After the fifth (years 11 to 12)</td><td class="num">0.990</td><td class="num">0.198</td><td class="num">17,112</td><td class="num">0.42</td><td class="num">24.6</td><td>period 5 of the schedule</td></tr></tbody></table></div>
|
||||
<div class="tbl"><table><thead><tr><th>When</th><th>Subsidy per block, IGN</th><th>Pool per block, IGN</th><th>Pool per day, IGN</th><th>Per planned shard, IGN</th><th>Per prover key per hour, IGN</th><th>Basis</th></tr></thead><tbody><tr><td>Today, inside the launch ramp</td><td class="num">3.169</td><td class="num">0.634</td><td class="num">54,757</td><td class="num">1.35</td><td class="num">78.7</td><td>DAA 0, 10.0 percent of the full rate; modelled; the measured payout is in the row above</td></tr><tr><td>Full rate (years 1 to 2)</td><td class="num">31.688</td><td class="num">6.338</td><td class="num">547,570</td><td class="num">13.52</td><td class="num">786.7</td><td>period 0 of the schedule; from day 30</td></tr><tr><td>After the first halving (years 3 to 4)</td><td class="num">15.844</td><td class="num">3.169</td><td class="num">273,785</td><td class="num">6.76</td><td class="num">393.4</td><td>period 1 of the schedule</td></tr><tr><td>After the second (years 5 to 6)</td><td class="num">7.922</td><td class="num">1.584</td><td class="num">136,893</td><td class="num">3.38</td><td class="num">196.7</td><td>period 2 of the schedule</td></tr><tr><td>After the third (years 7 to 8)</td><td class="num">3.961</td><td class="num">0.792</td><td class="num">68,446</td><td class="num">1.69</td><td class="num">98.3</td><td>period 3 of the schedule</td></tr><tr><td>After the fourth (years 9 to 10)</td><td class="num">1.981</td><td class="num">0.396</td><td class="num">34,223</td><td class="num">0.84</td><td class="num">49.2</td><td>period 4 of the schedule</td></tr><tr><td>After the fifth (years 11 to 12)</td><td class="num">0.990</td><td class="num">0.198</td><td class="num">17,112</td><td class="num">0.42</td><td class="num">24.6</td><td>period 5 of the schedule</td></tr></tbody></table></div>
|
||||
<p class="src"><b>Modelled</b> from <code>emission.rs</code> (the schedule as <code>site/lib/emission.mjs</code> carries it) and the release manifest at build time, with today's measured shard count (40,502 planned in 24 hours) and key count (29) held constant; the per-shard figure is the pool's credit per planned shard, the per-key figure the pool per day divided by the keys and by 24. More shards or more keys lower both; a block's unproven shards leave their credit in the escrow.</p>
|
||||
<!-- proving-model:end -->
|
||||
<h3>Per card, per hour, now and at each halving</h3>
|
||||
|
|
@ -294,11 +294,11 @@
|
|||
<div class="tbl"><table>
|
||||
<thead><tr><th>Network</th><th>Consensus side</th><th>EVM side</th><th>Where</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>The devnet (today)</td><td class="num">8 decimals (base units of 10<sup>-8</sup> IGN)</td><td class="num">18 decimals, through a bridge of 10<sup>10</sup> wei per unit</td><td><code>params.rs</code> 2120; <code>consensus/core/src/unit.rs</code>; <code>igneum/exec/src/config.rs</code> 51</td></tr>
|
||||
<tr><td>The Igneum 2.0 devnet</td><td class="num">18 decimals (base units of 10<sup>-18</sup> IGN)</td><td class="num">18 decimals, one to one</td><td><code>params.rs</code> 2120; <code>consensus/core/src/unit.rs</code>; <code>igneum/exec/src/config.rs</code> 51</td></tr>
|
||||
<tr><td>Mainnet</td><td class="num">18 decimals</td><td class="num">18 decimals</td><td><code>params.rs</code> 1724</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>The symbol is IGN on every network. A wallet shows 18 decimals everywhere; on the devnet the chain pays in 8 and the bridge shows the same amount at 18.</p>
|
||||
<p>The symbol is IGN on every network. A wallet shows 18 decimals everywhere; the 2.0 devnet pays in 18, one to one (an earlier devnet paid in 8 through a bridge of 10<sup>10</sup>); the same amount at 18.</p>
|
||||
|
||||
<h2>What this page does not do</h2>
|
||||
<p>It names no price and models no market; the proving model above walks the subsidy schedule at today’s measured shard and key counts and states no price. The <a href="/income">income page</a> turns these rules into IGN a day for a card you pick, and money a day only at a price you type. Devnet IGN has no value.</p>
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ td.mono{font-family:var(--f-mono);font-size:12.5px;min-width:180px}td.iv{color:v
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -265,15 +265,15 @@ td.mono{font-family:var(--f-mono);font-size:12.5px;min-width:180px}td.iv{color:v
|
|||
<div class="tbl"><table id="claims">
|
||||
<thead><tr><th data-col="0" data-num="1">#</th><th data-col="1">Claim</th><th data-col="2" data-status="1">Status</th><th data-col="3">Version or commit</th><th data-col="4">Reproducible test</th><th data-col="5">Result, date, machine</th><th data-col="6">Independent verification</th></tr></thead>
|
||||
<tbody>
|
||||
<tr data-status="designed"><td class="n">1</td><td class="claim">The Igneum 2.0 devnet (<code>igneum-devnet-4</code>): started fresh on 8 October 2026 from the release cut; chain id 4464; the release manifest (/release.json) carries its commits and is regenerated at its first block<div class="where">This page; the live page</div></td><td><span class="st st-0">designed (starting)</span></td><td class="mono">the release manifest (/release.json)</td><td><code>docs/plans/igneum-2.0.md</code> (the 2.0 reset: the network restarts as the 2.0 devnet); the row moves to activated when a node's own line shows the first block and the manifest is regenerated from it</td><td>8 October 2026: no first block yet (designed); chain id 4464 (designed)</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="implemented"><td class="n">2</td><td class="claim">Proof verification is enforced in consensus before the no-rescue exercise (D5's prerequisite). Today the rule is off: every producer verifies proofs off the consensus path, and a block carrying a matching statement without a valid proof is not refused by consensus<div class="where"><code>docs/plans/igneum-2.0.md</code> D5; this page</div></td><td><span class="st st-1">implemented (switched off on the devnet)</span></td><td class="mono">node fork <code>f8da7515</code>: the switch is <code>proving_consensus_verify_daa</code> in <code>consensus/core/src/config/params.rs</code> (the plan names it <code>verifier_in_consensus</code> and <code>proof_rule_active_from</code>), the rule <code>check_carried_proofs</code> in <code>consensus/src/pipeline/body_processor/body_validation_in_context.rs</code>, the gate <code>proof_rule_applies</code> in <code>consensus/core/src/proving.rs</code></td><td>Read the devnet parameters at that commit: <code>proving_consensus_verify_daa: u64::MAX</code> (never) in the devnet's parameters, which the 2.0 devnet inherits; the pass condition is the switch set to an activation height on the exercise network and a node's line naming it</td><td>8 October 2026: read from the node source, not measured; the switch reads never on the devnet (implemented, not activated)</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="tested by the team"><td class="n">3</td><td class="claim">The 64-register window per lane costs a GPU under 1 percent of rate at stock, and at most 5 percent per load with the liveness chain<div class="where">The litepaper (class v6); <code>docs/plans/igneum-2.0.md</code> D1 (the placed 64-register rows)</div></td><td><span class="st st-3">tested by the team</span></td><td class="mono"><code>docs/analysis/class-v6/connected-state.md</code> section 4; <code>docs/design/class-v6-rotating-family.md</code> section 10.0e</td><td>The class v5 nvcc harness and the kit worker, both packs on the same card minutes apart, 250 batches of 2^24, nvidia-smi at 1 Hz, vectors PASS on every row (<code>connected-state.md</code> section 4); the per-load rows of the full chain against the base (<code>class-v6-rotating-family.md</code> 10.0e)</td><td>8 October 2026, rented RTX 5090 (575 W cap) and RTX 4090 (450 W cap) at stock: energy per hash +0.6 percent on the RTX 5090 and -0.9 percent on the RTX 4090, inside the run-to-run noise; under 1 percent of rate; 80 to 87 registers per thread, no spill (all measured). Per load: RTX 5090 16.7 nJ base, 17.6 nJ full chain; RTX 4090 26.0 nJ, 27.0 nJ (measured). The lock row on the project's own rigs is owed</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="tested by the team"><td class="n">4</td><td class="claim">Reorganising the same work around live state (the connected-state variant, experiment D2(a)) does not reduce a specialised chip's edge: KILL as a class<div class="where"><code>docs/plans/igneum-2.0.md</code> D2(a); this page</div></td><td><span class="st st-3">tested by the team (a published failure)</span></td><td class="mono"><code>docs/analysis/class-v6/connected-state.md</code> (the verdict, section 6)</td><td>The census, liveness and GPU rows in <code>connected-state.md</code> sections 2 to 4; the chip side priced on the drawn program by synthesis (a model, never a lower bound)</td><td>8 October 2026, verdict 17:25 UK: the window is necessary (63 of 64 registers live at every address, measured) but only its width reaches the chip, +1.2 pJ per lane-op at N5 (synthesised); the window moves the chip's edge 1.10x node for node against a 1.25x gate (modelled); the GPU side +0.6 percent energy per hash on the RTX 5090, -0.9 percent on the RTX 4090 at stock (measured). Rearranging the dependency graph of the same operations moves neither side</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="designed"><td class="n">5</td><td class="claim">"A GPU-secured network for Ethereum-compatible applications and verifiable computation." served on every page<div class="where">Every page</div></td><td><span class="st st-0">designed (served)</span></td><td class="mono"><code>docs/plans/igneum-2.0.md</code> (the objective: the positioning line)</td><td><code>node tools/ci/ledger-text-check.mjs</code>: the sentence pinned (R0) on the home page, the litepaper and this page</td><td>8 October 2026: on this page; the home page and the litepaper carry it as their 2.0 text lands (designed)</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="designed"><td class="n">6</td><td class="claim">The chip claim as served: "Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes." Under it the three statements, separate: energy (the modelled range 2.5x to 3.0x a node ahead and 2.1x to 2.6x node for node, the placed row to narrow it; the strongest modelled design, a hybrid board with the hottest half of the dataset in SRAM beside DRAM, reads 2.69x node for node, 2.20x to 3.03x, modelled, and is being scored in the coexistence model), economic and response capability, rotation an optional improvement. Class v5 derives the dataset from chain state; whether that excludes a specialised design is under evaluation (Deliverable 3), since a design that tracks state is not excluded by staleness. The energy ratio is not the pass criterion: the coexistence model ([docs/analysis/class-v6/coexistence-model.md](https://git.igneum.network/igneum-network/igneum/src/branch/master/docs/analysis/class-v6/coexistence-model.md)) is, and its first run's result is served with its conditions: The test is whether a specialised supplier can earn a normal return while ordinary GPUs stay close enough in total cost, obtainable and useful outside mining that new entrants still compete. On today's modelled rows that holds for the chip anyone can build, a stored-dataset board on commodity DRAM, at a productive life of one to three years: its cost per accepted unit of work sits within the range of the best GPU owner and entrant, and a fleet of it holds a minority of the network with GPU entrants still setting the price. It fails for the SRAM-store die once that die exists with its development paid: no electricity price keeps a GPU owner level with it, and a modest fleet takes most of the network. What holds the die is the investment decision, not the hash; every chip figure here is modelled, not measured, and the chip's hardware cost per unit of work is approximate within 2x.<div class="where">The litepaper (the chip model)</div></td><td><span class="st st-0">designed (the bracket modelled; the GPU side tested by the team)</span></td><td class="mono"><code>docs/design/class-v6-rotating-family.md</code> section 10 (10.0h to 10.0n, 8 October 2026); <code>docs/plans/igneum-2.0.md</code> D3 and D4</td><td>the scoring rule in the close (the minimum over workloads of the maximum over free adversarial designs of the GPU's joules per hash over the adversary's, under the 10 percent GPU-cost budget at the lock, the verifier limit, cross-vendor correctness and hardware accessibility); the placed rows are D3's</td><td>the GPU side measured: the RTX 5080 at its 1,100 MHz lock 2.06 microjoules per hash and the RTX 5090 at its 1,300 MHz lock 2.33 (8 October 2026, the project's own rigs and rented pods); the chip side synthesised and claimed, its placed gated row pending</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="tested by the team"><td class="n">7</td><td class="claim">Mining and proving together on one card needs a 16 GB card at the 5.5 GiB dataset floor: the miner holds about 6.1 GiB and a compressed shard proof peaks at about 7.5 GiB, so 8 GB and 12 GB cards time-share (the app pauses the miner for the proof). NVIDIA proves; AMD and Apple mine<div class="where">The litepaper (Proving, vs RandomX); the miner page</div></td><td><span class="st st-3">tested by the team</span></td><td class="mono"><code>docs/analysis/class-v6/coexist-rows.md</code> (the 5.5 GiB ds55 miner beside igneum-prove-host-0317, compressed at threshold 2^26, the served sm_86 and sm_89 floors)</td><td>the RESULT rows in that file, verbatim from the runs</td><td>rented RTX 3060 12 GB: 26.82 MH/s at 117.4 W with 6,129 MiB resident; the compressed shard 13.2 s, peak 7,525 MiB (6,129 + 7,525 = 13,654 MiB against 12,288); rented RTX 4060 8 GB: 18.84 MH/s, 6,116 MiB resident; the shard 8.2 s, peak 7,532 MiB; 8 October 2026</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="designed"><td class="n">1</td><td class="claim">The Igneum 2.0 devnet (<code>igneum-devnet-4</code>): genesis 7c36b833 stamped 8 October 2026, chain id 4465 (eth_chainId 0x1171), 18 decimals, every upgrade on from block zero (class v5, the era VDF, finality v3, calibrated fees, enforced proving); the release manifest (/release.json) carries its commits and is regenerated at its first block<div class="where">This page; the live page; /build</div></td><td><span class="st st-0">PENDING; designed (starting): the first block of the re-cut node is pending</span></td><td class="mono">the release manifest (/release.json): node 4cdcc488 on release-2.0.0-node, igneum-pow 1c420786, digest be5f4068</td><td>the node's own start line (the node lane's read of build-1's seed); the row moves to activated at the first block</td><td>8 October 2026: an earlier object of the same genesis minted at the wrong decimals and is dead; the re-cut restarts the chain from the same genesis on wiped datadirs</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="implemented"><td class="n">2</td><td class="claim">Proof verification is enforced in consensus on the Igneum 2.0 devnet from block zero (Deliverable 5's prerequisite): the node's start line reads "consensus proof verification from DAA score 0 (verifier_in_consensus set)" and names the shard program id and the aggregator id; a block carrying a statement without a valid proof is refused<div class="where"><code>docs/plans/igneum-2.0.md</code> D5; this page; the litepaper (Proving)</div></td><td><span class="st st-1">PENDING; implemented, activated at the 2.0 devnet's first block</span></td><td class="mono">node 4cdcc488 on release-2.0.0-node (the manifest); the program ids are the ELF manifest's (<code>proving/igneum-prove/elf/manifest.json</code>)</td><td>the node's own start line; the no-rescue exercise itself (D5) is Open</td><td>8 October 2026: on from block zero in the 2.0 devnet's object; the earlier devnet ran with the rule off</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="tested by the team"><td class="n">3</td><td class="claim">The 64-register window per lane costs a GPU under 1 percent of rate at stock, and at most 5 percent per load with the liveness chain<div class="where">The litepaper (class v6); <code>docs/plans/igneum-2.0.md</code> D1 (the placed 64-register rows)</div></td><td><span class="st st-3">TEAM-REPORTED; tested by the team</span></td><td class="mono"><code>docs/analysis/class-v6/connected-state.md</code> section 4; <code>docs/design/class-v6-rotating-family.md</code> section 10.0e</td><td>The class v5 nvcc harness and the kit worker, both packs on the same card minutes apart, 250 batches of 2^24, nvidia-smi at 1 Hz, vectors PASS on every row (<code>connected-state.md</code> section 4); the per-load rows of the full chain against the base (<code>class-v6-rotating-family.md</code> 10.0e)</td><td>8 October 2026, rented RTX 5090 (575 W cap) and RTX 4090 (450 W cap) at stock: energy per hash +0.6 percent on the RTX 5090 and -0.9 percent on the RTX 4090, inside the run-to-run noise; under 1 percent of rate; 80 to 87 registers per thread, no spill (all measured). Per load: RTX 5090 16.7 nJ base, 17.6 nJ full chain; RTX 4090 26.0 nJ, 27.0 nJ (measured). The lock row on the project's own rigs is owed</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="tested by the team"><td class="n">4</td><td class="claim">Reorganising the same work around live state (the connected-state variant, experiment D2(a)) does not reduce a specialised chip's edge: KILL as a class<div class="where"><code>docs/plans/igneum-2.0.md</code> D2(a); this page</div></td><td><span class="st st-3">TEAM-REPORTED; tested by the team (a published failure)</span></td><td class="mono"><code>docs/analysis/class-v6/connected-state.md</code> (the verdict, section 6)</td><td>The census, liveness and GPU rows in <code>connected-state.md</code> sections 2 to 4; the chip side priced on the drawn program by synthesis (a model, never a lower bound)</td><td>8 October 2026, verdict 17:25 UK: the window is necessary (63 of 64 registers live at every address, measured) but only its width reaches the chip, +1.2 pJ per lane-op at N5 (synthesised); the window moves the chip's edge 1.10x node for node against a 1.25x gate (modelled); the GPU side +0.6 percent energy per hash on the RTX 5090, -0.9 percent on the RTX 4090 at stock (measured). Rearranging the dependency graph of the same operations moves neither side</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="designed"><td class="n">5</td><td class="claim">"A GPU-secured network for Ethereum-compatible applications and verifiable computation." served on every page<div class="where">Every page</div></td><td><span class="st st-0">PROPOSED; designed (served)</span></td><td class="mono"><code>docs/plans/igneum-2.0.md</code> (the objective: the positioning line)</td><td><code>node tools/ci/ledger-text-check.mjs</code>: the sentence pinned (R0) on the home page, the litepaper and this page</td><td>8 October 2026: on this page; the home page and the litepaper carry it as their 2.0 text lands (designed)</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="designed"><td class="n">6</td><td class="claim">The chip claim as served: "Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes." Under it the three statements, separate: energy ("Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x." MODELLED: the GPU side measured, the chip's core placed and routed, the rest of the machine modelled, no chip measured, hardware cost approximate within 2x), economic and response capability, rotation an optional improvement. Class v5 derives the dataset from chain state; whether that excludes a specialised design is under evaluation (Deliverable 3), since a design that tracks state is not excluded by staleness. The energy ratio is not the pass criterion: the coexistence model ([docs/analysis/class-v6/coexistence-model.md](https://git.igneum.network/igneum-network/igneum/src/branch/master/docs/analysis/class-v6/coexistence-model.md)) is, and its first run's result is served with its conditions: A specialised supplier may earn a normal return; ordinary GPUs remain sufficiently close in total cost, widely obtainable and useful outside mining that new operators can still compete. On today's modelled rows that holds for the chip anyone can build, a stored-dataset board on commodity DRAM, at a productive life of one to three years: its cost per accepted unit of work sits within the range of the best GPU owner and entrant, and a fleet of it holds a minority of the network with GPU entrants still setting the price. It fails for the SRAM-store die once that die exists with its development paid: no electricity price keeps a GPU owner level with it, and a modest fleet takes most of the network. A third design, a DRAM board with the hottest half of the dataset in on-board SRAM, sits between the two: it coexists only in a growing network at cheap GPU electricity and fails the cost conditions in a flat or shrinking one, and the dataset's size floor is a real lever on it where it was none on the SRAM die. What holds the die is the investment decision, not the hash; every chip figure here is modelled, not measured, and the chip's hardware cost per unit of work is approximate within 2x.<div class="where">The litepaper (the chip model)</div></td><td><span class="st st-0">MODELLED; designed (the bracket modelled; the GPU side tested by the team)</span></td><td class="mono"><code>docs/design/class-v6-rotating-family.md</code> section 10 (10.0h to 10.0n, 8 October 2026); <code>docs/plans/igneum-2.0.md</code> D3 and D4</td><td>the scoring rule in the close (the minimum over workloads of the maximum over free adversarial designs of the GPU's joules per hash over the adversary's, under the 10 percent GPU-cost budget at the lock, the verifier limit, cross-vendor correctness and hardware accessibility); the placed rows are D3's</td><td>the GPU side measured: the RTX 5080 at its 1,100 MHz lock 2.06 microjoules per hash and the RTX 5090 at its 1,300 MHz lock 2.33 (8 October 2026, the project's own rigs and rented pods); the chip side synthesised and claimed, its placed gated row pending</td><td class="iv">none yet</td></tr>
|
||||
<tr data-status="tested by the team"><td class="n">7</td><td class="claim">Mining and proving together on one card needs a 16 GB card at the 5.5 GiB dataset floor: the miner holds about 6.1 GiB and a compressed shard proof peaks at about 7.5 GiB, so 8 GB and 12 GB cards time-share (the app pauses the miner for the proof). NVIDIA proves; AMD and Apple mine<div class="where">The litepaper (Proving, vs RandomX); the miner page</div></td><td><span class="st st-3">TEAM-REPORTED; tested by the team</span></td><td class="mono"><code>docs/analysis/class-v6/coexist-rows.md</code> (the 5.5 GiB ds55 miner beside igneum-prove-host-0317, compressed at threshold 2^26, the served sm_86 and sm_89 floors)</td><td>the RESULT rows in that file, verbatim from the runs</td><td>rented RTX 3060 12 GB: 26.82 MH/s at 117.4 W with 6,129 MiB resident; the compressed shard 13.2 s, peak 7,525 MiB (6,129 + 7,525 = 13,654 MiB against 12,288); rented RTX 4060 8 GB: 18.84 MH/s, 6,116 MiB resident; the shard 8.2 s, peak 7,532 MiB; 8 October 2026</td><td class="iv">none yet</td></tr>
|
||||
</tbody></table></div>
|
||||
<p class="note">Click a column heading to sort; click again to reverse. Versions: the Igneum 2.0 devnet (<code>igneum-devnet-4</code>) is starting; the <a href="/release.json">release manifest</a>, machine-readable, is regenerated at its first block and fills these at build time. As last read it names node <span data-rm="source.node.commit">f8da7515</span> on <span data-rm="source.node.branch">release-0.3.25-node</span>, igneum-pow <span data-rm="source.pow.commit">1c420786</span>, chain id <span data-rm="network.chain_id">4464</span>, <span data-rm="read_at_short">read 8 October 2026, 15:50 UK</span>. The labels stay distinct: a claim never moves up a label without the artefact the next table names. The public reference repository exists (the specifications, the pow crate, the simulators and the test material, at <a href="https://git.igneum.network/igneum-network/igneum">git.igneum.network</a>); the full node, the miner and the proving code open later, so a row that cites them is tested by the team at most until they do. Node fork commits are the node fork’s; a document path is the repository’s. The source of this page is <code>docs/evidence.md</code> in the repository.</p>
|
||||
<p class="note">Click a column heading to sort; click again to reverse. Versions: the Igneum 2.0 devnet (<code>igneum-devnet-4</code>) is starting; the <a href="/release.json">release manifest</a>, machine-readable, is regenerated at its first block and fills these at build time. As last read it names node <span data-rm="source.node.commit">4cdcc488</span> on <span data-rm="source.node.branch">release-2.0.0-node</span>, igneum-pow <span data-rm="source.pow.commit">1c420786</span>, chain id <span data-rm="network.chain_id">4465</span>, <span data-rm="read_at_short">read 8 October 2026, 17:0x UK</span>. The labels stay distinct: a claim never moves up a label without the artefact the next table names. The public reference repository exists (the specifications, the pow crate, the simulators and the test material, at <a href="https://git.igneum.network/igneum-network/igneum">git.igneum.network</a>); the full node, the miner and the proving code open later, so a row that cites them is tested by the team at most until they do. Node fork commits are the node fork’s; a document path is the repository’s. The source of this page is <code>docs/evidence.md</code> in the repository.</p>
|
||||
<h2>What would move a row</h2>
|
||||
<div class="tbl small"><table><thead><tr><th>From</th><th>To</th><th>What it takes</th></tr></thead><tbody>
|
||||
<tr><td>designed</td><td>implemented</td><td>Code with test vectors that pass</td></tr>
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -322,7 +322,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
|
|||
<dt>/api/checkpoint</dt><dd><a href="/api/checkpoint" class="hash">the newest certified checkpoint with its voter table and headers; ?index=N for one</a></dd>
|
||||
<dt>/api/live</dt><dd><a href="/api/live" class="hash">the observer's feed: blocks of the last 90 s, miners, events, finality, proving</a></dd>
|
||||
</dl>
|
||||
<p class="note">Every answer names the network (the Igneum 2.0 devnet) and the chain id the node reports (4464). The RPC itself is at rpc.devnet.igneum.network (read methods and eth_sendRawTransaction, 20 requests per second per address).</p>
|
||||
<p class="note">Every answer names the network (the Igneum 2.0 devnet) and the chain id the node reports (4465). The RPC itself is at rpc.devnet.igneum.network (read methods and eth_sendRawTransaction, 20 requests per second per address).</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -243,7 +243,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
|
|||
<div class="eyebrow"><span class="line"></span>The devnet faucet</div>
|
||||
<h1>10 IGN a day, <span class="accent">for building.</span></h1>
|
||||
<p>Paste an address. The faucet sends 10 IGN of the devnet coin and shows you the transaction hash. Once per address per day, once per connection per day. No account, no sign-in, nothing to install.</p>
|
||||
<p class="notice" id="faucet-state">The Igneum 2.0 devnet, chain id 4464. The coins have no value and the chain resets without notice. <span id="faucet-balance"></span></p>
|
||||
<p class="notice" id="faucet-state">The Igneum 2.0 devnet, chain id 4465. The coins have no value and the chain resets without notice. <span id="faucet-balance"></span></p>
|
||||
</div>
|
||||
<div class="grid">
|
||||
<section class="card" aria-labelledby="ask">
|
||||
|
|
@ -265,7 +265,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
|
|||
<div class="rule"><span class="num">04</span><div><b>What is stored</b><span>The address, the connection's IP, the transaction hash and the time, on the box that runs the faucet, for 24 hours of rate limiting. Nothing else.</span></div></div>
|
||||
</div>
|
||||
<dl>
|
||||
<dt>Chain id</dt><dd>4464 (the Igneum 2.0 devnet)</dd>
|
||||
<dt>Chain id</dt><dd>4465 (the Igneum 2.0 devnet)</dd>
|
||||
<dt>RPC</dt><dd>https://rpc.devnet.igneum.network</dd>
|
||||
<dt>Wallet set-up</dt><dd><a href="/metamask">MetaMask: chain id, RPC, one click</a></dd>
|
||||
<dt>Then</dt><dd><a href="/build">Deploy a contract in five minutes</a></dd>
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ table{min-width:560px}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -261,7 +261,7 @@
|
|||
<div class="home-three rows">
|
||||
<div class="home-row"><span class="n">01</span><div><b>The same card finds the block and proves it.</b><p>Both jobs pay. When you stop, the card still games.</p></div></div>
|
||||
<div class="home-row"><span class="n">02</span><div><b>A fair start.</b><p>Nobody holds a coin before block one. The protocol carries no fee. The one payment to the project is the Ember software’s optional 1% dev fee, like other GPU miners, off with one flag.</p></div></div>
|
||||
<div class="home-row"><span class="n">03</span><div><b>Built for graphics cards.</b><p>Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Against a locked RTX 5090 on the same node, a chip machine on a DRAM board is modelled at about 1.6x per joule (1.4x to 1.8x) and 1.9x a node ahead (1.5x to 2.1x); a board that adds about USD 250 of SRAM for the hottest half of the dataset is modelled at about 2.4x and 2.9x; per dollar of hardware at list price the range is 3x to 9x (modelled on a placed and routed core, no chip measured, hardware cost approximate within 2x). The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The GPU side measured (the RTX 5090 at its lock, 8 October 2026), the chip side modelled on a placed and routed core; a 5090 locked at its knee pays 82 W for the class v4 shadow work (measured, 7 October 2026). <a href="/litepaper#chip-model">Every number with its label, the harness and the scoring rules.</a></p></div></div>
|
||||
<div class="home-row"><span class="n">03</span><div><b>Built for graphics cards.</b><p>Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x. The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. MODELLED: the GPU side measured (the RTX 5090 at its lock, 8 October 2026), the chip’s core placed and routed, the rest of the machine modelled, no chip measured, hardware cost approximate within 2x; the coexistence model finds the DRAM board passes all seven conditions and the SRAM die fails five; a 5090 locked at its knee pays 82 W for the class v4 shadow work (measured, 7 October 2026). <a href="/litepaper#chip-model">Every number with its label, the harness and the scoring rules.</a></p></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -304,9 +304,9 @@ export function verifyBalance(cp, proof, deps) {
|
|||
step('the record\'s statement names the chain and the block whose state it commits', () => {
|
||||
if (Number(st.number) !== Number(record.last)) throw new Error('the statement is not for the segment\'s last block');
|
||||
if (bytesToHex(record.block) !== st.block_hash) throw new Error('the record\'s block hash is not the statement\'s');
|
||||
// the EVM chain id in the statement is the one in force at that block (Devnet 3: 4463 below its class v5 floor, 4464 above);
|
||||
// the record's binding to the chain is the signed message, which names the network by its string ("igneum-devnet-3")
|
||||
const ids = cp.chain_id === 'igneum-devnet-3' ? [4463, 4464] : [Number(proof.account.evm_chain_id)];
|
||||
// the EVM chain id in the statement is the one in force at that block (the Igneum 2.0 devnet: 4465; earlier devnets answered 4463 and 4464);
|
||||
// the record's binding to the chain is the signed message, which names the network by its string ("igneum-devnet-4")
|
||||
const ids = cp.chain_id === 'igneum-devnet-4' ? [4465] : cp.chain_id === 'igneum-devnet-3' ? [4463, 4464] : [Number(proof.account.evm_chain_id)];
|
||||
if (!ids.includes(Number(st.chain_id))) throw new Error(`statement chain id ${st.chain_id} is not ${cp.chain_id}'s (${ids.join(' or ')})`);
|
||||
return `EVM chain id ${st.chain_id}, chain block ${st.number}, post_root ${st.post_root.slice(0, 12)}, ${st.executed} executed, chain_len ${st.chain_len}`;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-2);c
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -252,7 +252,8 @@ blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-2);c
|
|||
<thead><tr><th>Count</th><th>Status</th><th>Meaning</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td class="num">12</td><td><button type="button" class="chip" data-filter="Open">Open</button></td><td>Nothing has settled it yet. The entry names what will</td></tr>
|
||||
<tr><td class="num">6</td><td><button type="button" class="chip" data-filter="Conceded">Conceded</button></td><td>The critic is right. "Stated" means the public text says so; "not yet stated" means it does not yet</td></tr>
|
||||
<tr><td class="num">5</td><td><button type="button" class="chip" data-filter="Conceded">Conceded</button></td><td>The critic is right. "Stated" means the public text says so; "not yet stated" means it does not yet</td></tr>
|
||||
<tr><td class="num">1</td><td><button type="button" class="chip" data-filter="Fixed or built">Fixed or built</button></td><td>A code, spec or text change answers it, with the commit or the page named</td></tr>
|
||||
<tr><td class="num">8</td><td><button type="button" class="chip" data-filter="Closed by rule or decided">Closed by rule or decided</button></td><td>A consensus rule or a decision by the owner answers it, dated</td></tr>
|
||||
<tr><td class="num">26</td><td><button type="button" class="chip" data-filter="">All</button></td><td>Every entry. The sections: <a href="#r">The objective and the four properties</a>, <a href="#d">The five deliverables</a>, <a href="#p">Pools, software and participation</a>, <a href="#a">Architecture and proving</a>, <a href="#b">The three boundaries</a>, <a href="#c">Comparisons and leadership</a></td></tr>
|
||||
</tbody></table></div>
|
||||
|
|
@ -322,10 +323,10 @@ blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-2);c
|
|||
<div class="pin"><b>Pin</b> D4, first, fifth to seventh boxes and the pass condition.</div>
|
||||
<details><summary>The answer as first written</summary><p>The capex wall is replaced. Tariff advantage is shown apart from hardware advantage, and the economics page resolves the tip-share discrepancy with an explicit user-funded proving payment and congestion pricing, burn treated separately, the hard cap and no development tax kept. A profit-maximising operator simulation (mine, prove internally, prove externally, switch off) must show pricing and capacity rules restoring service without an administrator.</p></details>
|
||||
</article>
|
||||
<article class="entry" id="D5" data-bucket="Conceded">
|
||||
<article class="entry" id="D5" data-bucket="Fixed or built">
|
||||
<div class="head"><span class="id">D5</span><h3>Proofs are not a protocol guarantee yet</h3><span class="date">8 October 2026</span></div>
|
||||
<blockquote>Proof verification sits off the consensus path. A modified producer can include a matching statement without the valid proof and collect a payout it did not earn.</blockquote>
|
||||
<div class="status"><span class="badge b-conceded">Conceded</span> <span class="did">8 October 2026): consensus does not enforce proofs today; the switch is in the node and reads never on the devnet. Pass when proof verification is enforced in consensus, live on the exercise network.</span></div>
|
||||
<div class="status"><span class="badge b-fixed-or-built">Fixed</span> <span class="did">8 October 2026, 17:0x UK): the Igneum 2.0 devnet's node enforces proof verification in consensus from block zero (verifier_in_consensus set, node 2.0.0 4cdcc488 on release-2.0.0-node, the node's own start line); the no-rescue exercise itself stays Open and is the pass condition. Was: Conceded, the rule off on the earlier devnet.</span></div>
|
||||
<div class="pin"><b>Pin</b> D5, first box (the prerequisite).</div>
|
||||
<details><summary>The answer as first written</summary><p>Every producer verifies proofs off the consensus path today, so the network demonstrates proving activity rather than enforcing a permissionless proving economy. The rule and its activation switch exist in the node fork and are off on the devnet. Enforcement in consensus is the prerequisite of the no-rescue exercise, and node 2.0.0 follows it.</p></details>
|
||||
</article>
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ body.all .pager{display:none}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -339,7 +339,7 @@ body.all .pager{display:none}
|
|||
<article>
|
||||
<section id="abstract">
|
||||
<h2>Abstract</h2>
|
||||
<p class="lead">A GPU-secured network for Ethereum-compatible applications and verifiable computation. Igneum is a proof-of-work chain built for graphics cards. AMD, Apple and NVIDIA cards mine; NVIDIA cards also prove its blocks with zero-knowledge proofs. Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Against a locked RTX 5090 on the same node, a chip machine on a DRAM board is modelled at about 1.6x per joule (1.4x to 1.8x) and 1.9x a node ahead (1.5x to 2.1x); a board that adds about USD 250 of SRAM for the hottest half of the dataset is modelled at about 2.4x and 2.9x; per dollar of hardware at list price the range is 3x to 9x (modelled on a placed and routed core, no chip measured, hardware cost approximate within 2x). The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. <a href="#chip-model">The chip model</a>: every number labelled measured, modelled or claimed, the harness and the scoring rules beside it.</p>
|
||||
<p class="lead">A GPU-secured network for Ethereum-compatible applications and verifiable computation. Igneum is a proof-of-work chain built for graphics cards. AMD, Apple and NVIDIA cards mine; NVIDIA cards also prove its blocks with zero-knowledge proofs. Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x. The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. <a href="#chip-model">The chip model</a>: every number labelled measured, modelled or claimed, the harness and the scoring rules beside it.</p>
|
||||
<p>It runs the Ethereum virtual machine through revm, so contracts built for Ethereum deploy with familiar tools; the differences (block context, randomness, two-dimensional fees) are documented. Transactions are included in about one second, proven within about a minute at launch, and locked by miners within about two (designed targets). There is no premine, no pre-sale, no treasury taken from emission, no stake anywhere in consensus, and no dependence on any other chain. Mining is built to stay open to anyone with a GPU. The argument rests on the scoring rule's result against placed adversary designs and on the economics, reported separately as energy advantage, economic advantage and response capability. The hourly program is an optional improvement, not the defence. Writing new code, including an emergency fix to the proof system, is the one thing that takes a person, and it activates only on miner signalling.</p>
|
||||
<div class="stats">
|
||||
<div class="stat"><div class="v">1 / s</div><div class="k">blocks, rising to 10 (designed)</div></div>
|
||||
|
|
@ -357,7 +357,7 @@ body.all .pager{display:none}
|
|||
<tbody>
|
||||
<tr><td>A mining program that regenerates itself, for GPUs</td><td>RandomX on Monero since 2019, for CPUs, a program per hash; one chip shipped against it, Bitmain’s Antminer X5 (September 2023), a board of RISC-V chips at 1.46x per joule over a desktop CPU, on silicon believed mining privately from about 2021; the X9 was withdrawn in May 2026 with zero units; RandomX v2 was released on 25 March 2026 with its activation pending. ProgPoW, as KAWPOW on Ravencoin since 2020, changes the maths inside a fixed program shape every few blocks on GPUs (approximate)</td><td>A whole kernel per hour compiled to native code, a daily dataset from a 256 MB cache, a verifiable delay before the seed, era draws from a genesis reserve</td><td>Measured: hourly program swaps on Apple, NVIDIA and AMD cards, 4 October 2026</td></tr>
|
||||
<tr><td>The mining card does paid, useful, verifiable work</td><td>Primecoin's prime chains in 2013 were not useful. Aleo ran proving as consensus and the fastest prover won (both approximate)</td><td>Proving kept apart from the lottery; shards assigned by sortition, not by speed</td><td>Implemented: proving v0 and v1 on the devnet from block zero, on NVIDIA cards. The job market for other chains is Designed</td></tr>
|
||||
<tr><td>A proof-of-work chain where every block is proven</td><td>Proven-execution EVM chains run as rollups on proof-of-stake Ethereum. Conflux has run GPU-mined EVM apps on a DAG since 2020, without proofs (approximate)</td><td>Proven state on a proof-of-work base layer, produced by the miners themselves</td><td>Implemented in part: shards proven and paid on the devnet. Proof verification enforced in consensus is Open</td></tr>
|
||||
<tr><td>A proof-of-work chain where every block is proven</td><td>Proven-execution EVM chains run as rollups on proof-of-stake Ethereum. Conflux has run GPU-mined EVM apps on a DAG since 2020, without proofs (approximate)</td><td>Proven state on a proof-of-work base layer, produced by the miners themselves</td><td>Implemented: shards proven and paid on the devnet; proof verification enforced in consensus from block zero on the Igneum 2.0 devnet (PENDING its first block)</td></tr>
|
||||
<tr><td>Finality held by miners and not moved by hour-long rentals</td><td>Decred votes with stake. Horizen penalises hidden chains. Kaspa limits merge depth (approximate)</td><td>Vote weight is 30 days of blocks per key. Hashrate that appeared today has no vote</td><td>Implemented: rule v3 live on the devnet from block zero. External review is owed at gate 3</td></tr>
|
||||
<tr><td>100% of emission to the people running the hardware</td><td>Kaspa's fair launch. Zcash and Decred fund developers from emission (approximate)</td><td>No fee to any team, foundation or fund in the protocol. The miner software's optional 1% dev fee is the one payment to the project, off with one flag</td><td>Implemented in consensus: the 80/20 coinbase on the devnet</td></tr>
|
||||
<tr><td>A chain your browser verifies by itself</td><td>Light clients trust a committee, as Ethereum's trust a sync committee (approximate)</td><td>At launch, one execution proof plus a certificate the client is given. The consensus proof that makes the checkpoint self-verifying is phase two</td><td>Designed. The home page's card verifies a devnet certificate in the browser today, with the voter list taken from a node</td></tr>
|
||||
|
|
@ -443,7 +443,7 @@ body.all .pager{display:none}
|
|||
</tbody>
|
||||
</table></div>
|
||||
<p class="src"><b>Source:</b> the facts page carries the network row; the block rate and the lock are rows of the evidence table.</p>
|
||||
<p>Two caveats, stated here before anyone else states them. Consensus does not yet verify a carried proof. Today, under proving v0, every producer verifies off the consensus path, and consensus checks the record's statement against native execution and its signature. Open: proof verification enforced in consensus (verifier_in_consensus, proof_rule_active_from) is the prerequisite of the no-rescue network exercise (Deliverable 5) and of the proving economy being a protocol guarantee. And the devnet is the project's own machines, its rented fleet and a few outside laptops. Nothing here has been reproduced by anyone outside the project yet; the evidence page says so row by row.</p>
|
||||
<p>Two caveats, stated here before anyone else states them. Proof verification is enforced in consensus on the Igneum 2.0 devnet from block zero (verifier_in_consensus set, the node's own start line, 8 October 2026; PENDING its first block), which is the prerequisite of the no-rescue network exercise (Deliverable 5) and of the proving economy being a protocol guarantee; the exercise itself is owed, and no block has yet been refused for a false proof on the record. And the devnet is the project's own machines, its rented fleet and a few outside laptops. Nothing here has been reproduced by anyone outside the project yet; the evidence page says so row by row.</p>
|
||||
</section>
|
||||
|
||||
<section id="mining">
|
||||
|
|
@ -464,12 +464,12 @@ body.all .pager{display:none}
|
|||
<p>What carries the chip resistance is the scoring rule's result on the placed adversary rows, plus the economics, reported separately in the chip model below. Three properties feed it. <strong>Rotation is an option, not the defence.</strong> A new program every hour, drawn from the chain, its memory pattern with it, and rules that change on a schedule fixed at launch. These schedule changes defeat a chip wired for one datapath and need no human fork, but against a programmable chip that stores the dataset every drawn parameter is firmware, so the security argument does not rest on them. What meets that chip is the latency-shadow work (class v4) and the price per joule (the chip and economy analysis of 6 October 2026, section 5.4; ledger M32). <strong>It waits on memory, not maths.</strong> Every hash is a chain of random reads into a table too big for a chip to carry. Measured (8 October 2026; lane D’s family harness at the acceptance rule’s own 2^20 sample over 4,900 drawn eras, and the chained-cache pass’s reading of the night before): every hash’s 128 dependent reads land across the whole dataset and the distinct-index floor holds at 0.995 on every accepted program; about half of epochs carry one load site whose address bit at the era’s stride rotation is biased, which prices about 1.6 percent of a hash’s reads to a chip storing half the dataset and nothing to a chip storing all of it; the next class folds the product’s low bits before the rotation, so no era lands a biased bit on an address bit. The wait is the same physics for everyone. <strong>Miners hold the switch.</strong> Spare defences are written into the rules, switched off. A miner signal turns one on, at the class-change threshold: miners signal three things at three thresholds, 60 percent of blue blocks over two weeks for a parameter genesis leaves open, 90 percent for an upgrade (new code), and 95 percent with a floor height for a class change. No fork.</p>
|
||||
<p><strong>The work that waits can grow.</strong> Class v4 adds a block of latency-shadow arithmetic to every hash, about 100,000 integer operations that run while the memory reads are in flight, so a chip that stores the whole dataset still has to pay for a core. That size sits on a ladder fixed at genesis, six rungs from about 100,000 to about 1,000,000 operations, and it moves one rung at a time only when 90 percent of blue blocks in each of seven consecutive days ask for it; it can never move two rungs inside a week and never past a rung the reference verifier cannot check under 10 ms with its sibling thread busy (measured on the build server, 6 October 2026: the first three rungs pass at 8.8, 8.9 and 9.2 ms, the fourth misses by 0.08 ms on a loaded box and stays out until a quiet re-measurement, the two doublings are out at 12.4 and 15.0 ms). What it buys against a chip is scored under the rule in the chip model below. What it costs, per rung, is measured too: the Apple tier gives up 3 points of rate at the first step and 6 more at the second, the RTX 5090 nothing until the second; so the miners who pay for a step are the ones who take it.</p>
|
||||
<h3 id="chip-model">The chip model</h3>
|
||||
<p><b>Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes.</b> Class v6 adopts the 64-register window and retains it across every rotation. Against a locked RTX 5090 on the same node, a chip machine on a DRAM board is modelled at about 1.6x per joule (1.4x to 1.8x) and 1.9x a node ahead (1.5x to 2.1x); a board that adds about USD 250 of SRAM for the hottest half of the dataset is modelled at about 2.4x and 2.9x; per dollar of hardware at list price the range is 3x to 9x (modelled on a placed and routed core, no chip measured, hardware cost approximate within 2x). The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment.</p>
|
||||
<p><b>The labels.</b> Every chip figure is modelled on a placed and routed 8-lane core (the adversary lane, 8 October 2026); no chip is measured, and the chip’s hardware cost is approximate within 2x. The k lane’s own placed row amends the figures if it differs. The GPU side is measured: an RTX 5080 at its 1,100 MHz core lock, 2.06 microjoules per hash, and an RTX 5090 at its 1,300 MHz lock, 2.33 microjoules per hash, both under class v4, on the project’s own rigs and rented pods, 8 October 2026; the card’s cost of the window is measured too (a rented RTX 5090 and RTX 4090 at stock, 8 October 2026: within 5 percent per load with the liveness chain, no register spill). The chip side is synthesised and claimed: the clock-gated sequencer core with the 64-register window on ASAP7, scaled to N3 on the foundry’s headline factors (k about 0.37 at N3 and 0.51 node for node for the base core, the gated window adding about 0.13 of k against an adversary with a flop register file; the window’s liveness measured at 61 of 64 values necessary, its cost to the card measured under 5 percent); the window’s k is synthesis-derived and not a lower bound, and the multi-family adversary lane’s first core (its state in a macro) reads the window’s defence as close to nothing, a disagreement between two models that the placed rows settle. The chip’s memory is modelled: the GDDR7 board of the chip model. The placed gated figure is expected near 2.6x to 3.1x a node ahead and 2.3x to 2.7x node for node (approximate) and is served when its row lands.</p>
|
||||
<p><b>Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes.</b> Class v6 adopts the 64-register window and retains it across every rotation. Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x. The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment.</p>
|
||||
<p><b>The labels.</b> MODELLED. The GPU side is measured (the RTX 5090 at its 1,300 MHz lock on class v4, 8 October 2026). The chip’s core is placed and routed on ASAP7 with SRAM macros and scaled on claimed node factors; the chip’s memory and the rest of the machine (controller, host share, PSU, VRM, cooling) are modelled; no chip is measured, and the chip’s hardware cost is approximate within 2x. Beside it the coexistence verdict: the DRAM board passes all seven of the model’s conditions, the hybrid fails the two dollar conditions, the SRAM die fails five. The k lane’s own placed row amends the figures if it differs. The GPU side is measured: an RTX 5080 at its 1,100 MHz core lock, 2.06 microjoules per hash, and an RTX 5090 at its 1,300 MHz lock, 2.33 microjoules per hash, both under class v4, on the project’s own rigs and rented pods, 8 October 2026; the card’s cost of the window is measured too (a rented RTX 5090 and RTX 4090 at stock, 8 October 2026: within 5 percent per load with the liveness chain, no register spill). The chip side is synthesised and claimed: the clock-gated sequencer core with the 64-register window on ASAP7, scaled to N3 on the foundry’s headline factors (k about 0.37 at N3 and 0.51 node for node for the base core, the gated window adding about 0.13 of k against an adversary with a flop register file; the window’s liveness measured at 61 of 64 values necessary, its cost to the card measured under 5 percent); the window’s k is synthesis-derived and not a lower bound, and the multi-family adversary lane’s first core (its state in a macro) reads the window’s defence as close to nothing, a disagreement between two models that the placed rows settle. The chip’s memory is modelled: the GDDR7 board of the chip model. The placed gated figure is expected near 2.6x to 3.1x a node ahead and 2.3x to 2.7x node for node (approximate) and is served when its row lands.</p>
|
||||
<p>Three statements, kept separate. The baseline is the hash as it stands under the scoring rule; rotation is an optional improvement to that baseline, not the mechanism the claim rests on.</p>
|
||||
<div class="tbl"><table><thead><tr><th>Statement</th><th>What it says</th><th>Label and date</th></tr></thead><tbody>
|
||||
<tr><td>Energy resistance</td><td>The figures above: a DRAM-board chip machine about 1.6x per joule on the GPU’s own node and 1.9x a node ahead; the SRAM-assisted board about 2.4x and 2.9x; 3x to 9x per dollar of hardware at list price. The strongest modelled design is that hybrid board, the hottest half of the dataset in SRAM beside DRAM; it is being scored in the coexistence model. The honest tier moves to the next node with every GPU generation; a chip must tape out again. Whole machine per tier (synthesis with the SRAM band and node factors, claimed; placed rows to follow): the complete GDDR7 machine about 1.8x the RTX 5090 at its lock per joule node for node and 2.1x a node ahead; 1.6x and 1.9x the RTX 5080; 2.8x and 3.3x the Ada, Ampere and RX 9070 XT cohort; about 1.5x the Apple tier, reported, never headlined.</td><td>modelled on a placed and routed core against the measured RTX 5090 lock row, 8 October 2026, no chip measured; the per-tier line claimed, 8 October 2026</td></tr>
|
||||
<tr><td>Economic resistance</td><td>Whether a chip gets built depends on development cost, deployment economics and productive hardware lifetime. The first cut of the profitability surface: the price at which a project pays scales as the project cost over its share of the chain times its discounted life, and moves by under 5 percent with the per-joule edge; a fixed-lane chip under rotation needs 4x the price a programmable one needs. No threshold is the headline: the five-year coexistence model (Deliverable 4; its first run is <code>docs/analysis/class-v6/coexistence-model.md</code>, every row modelled) replaces any capex wall: the GDDR7 board passes all six of its success conditions at a one to three year life; an N2 SRAM die fails five once it exists with development sunk, and the only condition holding it is that nobody pays to build it; the larger half of a chip's edge is capital cost per accepted hash, not joules. The result, as the model words it: The test is whether a specialised supplier can earn a normal return while ordinary GPUs stay close enough in total cost, obtainable and useful outside mining that new entrants still compete. On today's modelled rows that holds for the chip anyone can build, a stored-dataset board on commodity DRAM, at a productive life of one to three years: its cost per accepted unit of work sits within the range of the best GPU owner and entrant, and a fleet of it holds a minority of the network with GPU entrants still setting the price. It fails for the SRAM-store die once that die exists with its development paid: no electricity price keeps a GPU owner level with it, and a modest fleet takes most of the network. What holds the die is the investment decision, not the hash; every chip figure here is modelled, not measured, and the chip's hardware cost per unit of work is approximate within 2x.</td><td>modelled, the coexistence model's first run, 8 October 2026</td></tr>
|
||||
<tr><td>Energy resistance</td><td>The figures above, on the placed full 18-family core (routed 8 October 2026); the per-tier rows against the RTX 5080 and the Ada, Ampere and RX 9070 XT cohort follow from the same core and are served when the adversary lane states them. The honest tier moves to the next node with every GPU generation; a chip must tape out again. Whole machine per tier (synthesis with the SRAM band and node factors, claimed; placed rows to follow): the complete GDDR7 machine about 1.8x the RTX 5090 at its lock per joule node for node and 2.1x a node ahead; 1.6x and 1.9x the RTX 5080; 2.8x and 3.3x the Ada, Ampere and RX 9070 XT cohort; about 1.5x the Apple tier, reported, never headlined.</td><td>MODELLED: placed and routed core energies against the measured RTX 5090 lock row, 8 October 2026, no chip measured</td></tr>
|
||||
<tr><td>Economic resistance</td><td>Whether a chip gets built depends on development cost, deployment economics and productive hardware lifetime. The first cut of the profitability surface: the price at which a project pays scales as the project cost over its share of the chain times its discounted life, and moves by under 5 percent with the per-joule edge; a fixed-lane chip under rotation needs 4x the price a programmable one needs. No threshold is the headline: the five-year coexistence model (Deliverable 4; its first run is <code>docs/analysis/class-v6/coexistence-model.md</code>, every row modelled) replaces any capex wall: the GDDR7 board passes all six of its success conditions at a one to three year life; an N2 SRAM die fails five once it exists with development sunk, and the only condition holding it is that nobody pays to build it; the larger half of a chip's edge is capital cost per accepted hash, not joules. The result, as the model words it: A specialised supplier may earn a normal return; ordinary GPUs remain sufficiently close in total cost, widely obtainable and useful outside mining that new operators can still compete. On today's modelled rows that holds for the chip anyone can build, a stored-dataset board on commodity DRAM, at a productive life of one to three years: its cost per accepted unit of work sits within the range of the best GPU owner and entrant, and a fleet of it holds a minority of the network with GPU entrants still setting the price. It fails for the SRAM-store die once that die exists with its development paid: no electricity price keeps a GPU owner level with it, and a modest fleet takes most of the network. A third design, a DRAM board with the hottest half of the dataset in on-board SRAM, sits between the two: it coexists only in a growing network at cheap GPU electricity and fails the cost conditions in a flat or shrinking one, and the dataset's size floor is a real lever on it where it was none on the SRAM die. What holds the die is the investment decision, not the hash; every chip figure here is modelled, not measured, and the chip's hardware cost per unit of work is approximate within 2x. The model holds under every market structure for the DRAM board (private supply, hardware sales, multiple suppliers, with no single supplier above a quarter of the network), and the SRAM die under none but private supply in a growing network; the thresholds live in the model's sensitivity workbook (<code>docs/analysis/class-v6/coexistence-workbook.md</code>), never on a page.</td><td>MODELLED, the coexistence model's first run, 8 October 2026</td></tr>
|
||||
<tr><td>Response capability</td><td>Rotation is an optional improvement, not the mechanism. A passed rotation boundary proves the rotation works, not that hardware dies. The schedule: a new program every hour, a parameter era every week, a family epoch every 180 days, an emergency vote when miners call one. Rotation costs a chip versatility, not life: the family bank is firmware plus about 43 percent of core cells, and no transition carries an obsolescence credit (modelled).</td><td>measured per boundary, 8 October 2026; the family-bank cost modelled, 8 October 2026</td></tr>
|
||||
</tbody></table></div>
|
||||
<p>What a miner sees from this. Class v4 costs a 5090 145 W more unlocked, 88 W more at a 1,400 MHz core lock and 82 W at the best operating points (class v4 at 1,200 MHz, class v3 at 1,300; the knee is 1,300 MHz on both), for 0.2 percent more rate (measured, 7 October 2026; the 80 W read on 6 October was at the app's tuned cap); an M5 Max 16 W more for 1.5 percent, an RX 9070 XT and an RTX 4070 nothing (measured, 6 October 2026). The ladder that sets how much work rides in the shadow starts at rung 0 at genesis and climbs by miner signal; its third rung is inadmissible today because a server core verifies it in 10.85 ms, over the gate (measured, 7 October 2026). The devnet runs class v4 from its first block. Classes rotate on findings and at least yearly; a class change is a release activated by block height. Class v5 is built to cross by height; its dataset keyed by the chain's own state is under evaluation (Deliverable 3) and is not counted as a defence until justified. Class v6 is the design in progress (opened 8 October 2026), with four layers as its spine: per-era draws of the parameters a release now fixes, a dataset whose size tracks the chain state (under evaluation, Deliverable 3), scheduled family epochs by height, and the acceptance floor generalised to every era’s draw. The next test of the model is an internal adversarial pass, not an independent review: three lanes that have never worked on the hash code attack the mixer, the chained cache and the acceptance rule with only what an outsider has (the public kit, the frozen object, the spec, the harnesses) and publish the break or the bound they reach. No outside review has run yet.</p>
|
||||
|
|
@ -593,7 +593,7 @@ body.all .pager{display:none}
|
|||
<thead><tr><th>Share</th><th>Goes to</th><th>Why</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td class="num">80%</td><td>The miner who wins the block</td><td>Pays the hashrate that secures the chain</td></tr>
|
||||
<tr><td class="num">20%</td><td>The proving pool: shard provers and aggregators</td><td>For a standing prover population that does not have to hash. On the devnet today the coinbase's 20% output goes to an unspendable script tagged <code>igneum-proving-pool-v0</code> and is burned there. Provers are paid from a separate escrow in the execution state, credited by rule with the same 20% of each blue block's subsidy and released per shard against valid proof records (Implemented, proving v0, since 5 October 2026). Caveat: consensus does not yet verify the carried proof, it checks the record's statement against native execution and its signature, so today a block producer could claim shard pay with a false proof (ledger P21; the in-consensus verifier is built; its enforcement, verifier_in_consensus and proof_rule_active_from, is Open and is the prerequisite of the no-rescue network exercise, Deliverable 5). Note: unclaimed pool credit is today stranded in the escrow, no rule returns it; the fix rolls an unproven shard's credit into the next proven segment's pool (designed). Open: the single coinbase payout that replaces the burn, and whether it reclaims the share burned so far</td></tr>
|
||||
<tr><td class="num">20%</td><td>The proving pool: shard provers and aggregators</td><td>For a standing prover population that does not have to hash. On the devnet today the coinbase's 20% output goes to an unspendable script tagged <code>igneum-proving-pool-v0</code> and is burned there. Provers are paid from a separate escrow in the execution state, credited by rule with the same 20% of each blue block's subsidy and released per shard against valid proof records (Implemented, proving v0, since 5 October 2026). On the Igneum 2.0 devnet consensus verifies the carried proof from block zero (verifier_in_consensus set), so a block carrying a statement without a valid proof is refused; an earlier devnet checked only the record's statement against native execution, where a producer could claim shard pay with a false proof (the no-rescue network exercise, Deliverable 5, is still owed). Note: unclaimed pool credit is today stranded in the escrow, no rule returns it; the fix rolls an unproven shard's credit into the next proven segment's pool (designed). Open: the single coinbase payout that replaces the burn, and whether it reclaims the share burned so far</td></tr>
|
||||
<tr><td class="num">0%</td><td>Treasury, foundation, team or stake</td><td>There is no coin-holder class in consensus and no tax on emission</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
|
@ -758,7 +758,7 @@ body.all .pager{display:none}
|
|||
<tr><td>2. Prove the proving</td><td class="num">Under way; closes at its gate</td><td>Mining program prototype on GPU and CPU, shard proving benchmark on consumer cards. So far: an RTX 5090 proves a shard in 10.9 s compressed; a CPU verifies a warp in 0.61 ms (class v2) to 2.1 ms (class v3). A mid-range card has not been measured</td><td>A mid-range GPU proves a shard in under 20 s and a CPU verifies a hash in 10 ms</td></tr>
|
||||
<tr><td>3. Devnet</td><td class="num">Under way; closes at its gate</td><td>BlockDAG node with the new mining program and EVM execution, every upgrade on from block zero: class v4, the era VDF, difficulty v2, finality v3, proving v0 and v1, the ladder at rung 0, calibrated fees, Ember on every machine. The devnet's proof lag and proven share are read from the observer as the fleet publishes them</td><td>1 block a second held with proofs under 60 s behind the tip</td></tr>
|
||||
<tr><td>4. Finality and job market</td><td class="num">Closes when the finality design passes external review and one external customer pays for repeat proving jobs</td><td>Sustained-mining finality, external proving jobs, miner client with auto-switching</td><td>Finality design passes external review and one external customer pays for repeat jobs of its exact workload</td></tr>
|
||||
<tr><td>5. No-rescue network exercise</td><td class="num">Open; starts once proof verification is enforced in consensus</td><td>No founder-operated mining, proving, aggregation or distribution. Epoch boundaries crossed, signing interrupted, the network partitioned, major operators removed, hostile proof submissions, independently written clients, a withholding prover replaced. One-click miner, HiveOS, pools, no coin yet</td><td>Specified behaviour with no emergency algorithm change and no privileged intervention; 1,000 independent miners run 30 days</td></tr>
|
||||
<tr><td>5. No-rescue network exercise</td><td class="num">Open; its prerequisite, proof verification enforced in consensus, is on from block zero on the 2.0 devnet</td><td>No founder-operated mining, proving, aggregation or distribution. Epoch boundaries crossed, signing interrupted, the network partitioned, major operators removed, hostile proof submissions, independently written clients, a withholding prover replaced. One-click miner, HiveOS, pools, no coin yet</td><td>Specified behaviour with no emergency algorithm change and no privileged intervention; 1,000 independent miners run 30 days</td></tr>
|
||||
<tr><td>6. Mainnet fair launch</td><td class="num">After phase 5 has passed its gate</td><td>Genesis with no premine, 30-day ramp. No listing is arranged, promised or sought by the project</td><td></td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
|
@ -831,7 +831,7 @@ body.all .pager{display:none}
|
|||
<p>Here are the limits, stated before anyone else states them.</p>
|
||||
<ul>
|
||||
<li><strong>A proof in seconds.</strong> Not at launch. Proving a full block today needs a cluster of 100 to 200 consumer GPUs, approximate, so Igneum launches with proofs within about a minute and tightens as hardware improves. Users still see their transaction land in one second.</li>
|
||||
<li><strong>A chip is impossible.</strong> No. Igneum assumes a chip exists. A programmable chip is not stopped by the moving target: everything it needs is public at genesis and every drawn parameter is firmware to it (an address permute, a rotator, an immediate table), so the defence against it is the latency-shadow work (class v4) and the price per joule, not the schedule (the chip and economy analysis of 6 October 2026, section 5.4; ledger M32). Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Against a locked RTX 5090 on the same node, a chip machine on a DRAM board is modelled at about 1.6x per joule (1.4x to 1.8x) and 1.9x a node ahead (1.5x to 2.1x); a board that adds about USD 250 of SRAM for the hottest half of the dataset is modelled at about 2.4x and 2.9x; per dollar of hardware at list price the range is 3x to 9x (modelled on a placed and routed core, no chip measured, hardware cost approximate within 2x). The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The labels: the bracket modelled, approximate and provisional (the GPU side measured on the RTX 5080 and RTX 5090 at their core locks under class v4, 8 October 2026; the chip core synthesised on ASAP7 and scaled to N3, claimed, its placed gated row pending; its memory modelled). Class v5 makes the dataset the chain’s own state, so a chip that stores it or recomputes it is wrong on every item (designed, 7 October 2026; under evaluation (Deliverable 3), not counted as a defence until justified or dropped). The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090 (the published model, 5 October 2026: 0.92x per unit of silicon with a 3x fixed-function allowance, approximate). Sources: the class v6 close, section 10 (8 October 2026); the ASIC history’s Ethash rows; the chip model analysis (6 October 2026). No hash has stayed free of chips forever; Igneum does not claim to. Monero’s RandomX has held its miners on commodity hardware for about seven years: one chip shipped against it, Bitmain’s Antminer X5 (September 2023), an observed comparison, not a ceiling; the one announced beyond it, the Antminer X9, was withdrawn in mid-May 2026 before any unit shipped, its claimed core never measured; RandomX v2 was released on 25 March 2026 with its activation pending. That record says nothing about the price of a chip with the 256 MB cache on its die; that price is a cost model, not a measurement.</li>
|
||||
<li><strong>A chip is impossible.</strong> No. Igneum assumes a chip exists. A programmable chip is not stopped by the moving target: everything it needs is public at genesis and every drawn parameter is firmware to it (an address permute, a rotator, an immediate table), so the defence against it is the latency-shadow work (class v4) and the price per joule, not the schedule (the chip and economy analysis of 6 October 2026, section 5.4; ledger M32). Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x. The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The labels: the bracket modelled, approximate and provisional (the GPU side measured on the RTX 5080 and RTX 5090 at their core locks under class v4, 8 October 2026; the chip core synthesised on ASAP7 and scaled to N3, claimed, its placed gated row pending; its memory modelled). Class v5 makes the dataset the chain’s own state, so a chip that stores it or recomputes it is wrong on every item (designed, 7 October 2026; under evaluation (Deliverable 3), not counted as a defence until justified or dropped). The strongest recompute chip we can price, holding the whole 256 MiB cache on-die, reaches under 1x per chip against an RTX 5090 (the published model, 5 October 2026: 0.92x per unit of silicon with a 3x fixed-function allowance, approximate). Sources: the class v6 close, section 10 (8 October 2026); the ASIC history’s Ethash rows; the chip model analysis (6 October 2026). No hash has stayed free of chips forever; Igneum does not claim to. Monero’s RandomX has held its miners on commodity hardware for about seven years: one chip shipped against it, Bitmain’s Antminer X5 (September 2023), an observed comparison, not a ceiling; the one announced beyond it, the Antminer X9, was withdrawn in mid-May 2026 before any unit shipped, its claimed core never measured; RandomX v2 was released on 25 March 2026 with its activation pending. That record says nothing about the price of a chip with the 256 MB cache on its die; that price is a cost model, not a measurement.</li>
|
||||
<li><strong>A guaranteed income floor.</strong> No. External proving is a small market today. Igneum's miners' electricity cost in it is close to power, but the price they must charge is the subsidy they forgo, which falls as one over network hash: an edge at scale and nothing more.</li>
|
||||
<li><strong>A memory-hard prototype on every vendor.</strong> Not yet. The 256 MB cache closed the shortcut on Apple silicon (computing items runs 4.8x slower than loading them, measured 3 October 2026). The same ratio on NVIDIA and on a discrete AMD card is Open.</li>
|
||||
<li><strong>Finality in the first month.</strong> No. No checkpoint locks until the 30-day window has 30 days of history. The first month of mainnet is proof of work with a 12-hour depth, and the text above says so wherever a day count appears.</li>
|
||||
|
|
@ -842,7 +842,7 @@ body.all .pager{display:none}
|
|||
<li><strong>A chain you can debug today.</strong> Not yet. The node does not serve debug_traceTransaction, eth_subscribe or eth_getProof. The explorer, the faucet and the reference apps run on the devnet; the tracing and subscription RPCs are still owed.</li>
|
||||
<li><strong>A veto on job results.</strong> No. A segment proof is checked against every node's own execution; a proving job for another chain is not, because no full node can re-run an arbitrary program, so a soundness bug in the proof system in force reaches the requesting contract. A job output can mint nothing and touch no system contract, and an app that acts irreversibly on a job result keeps its own fallback.</li>
|
||||
<li><strong>A delay function that outlives a quantum computer.</strong> No. The class-group delay between a locked checkpoint and the next program seed falls to the same machine that would forge the vote keys; it is flagged in the specification, not yet sized, and the fallback is a hash-chain delay behind the same version byte that moves the signature scheme, so both flip in one class change. A grindable hourly seed is a liveness nuisance against the lottery, not a break of finality.</li>
|
||||
<li><strong>Proof verification in consensus.</strong> Not yet. Today, under proving v0, every producer verifies off the consensus path, and consensus checks the record's statement against native execution. Enforcement in consensus (verifier_in_consensus, proof_rule_active_from) is Open, and it is the prerequisite of the no-rescue network exercise (Deliverable 5) and of the proving economy being a protocol guarantee.</li>
|
||||
<li><strong>Proof verification in consensus.</strong> On the Igneum 2.0 devnet, yes, from block zero (verifier_in_consensus set, the node's own start line, 8 October 2026; PENDING its first block). It is the prerequisite of the no-rescue network exercise (Deliverable 5), which is still owed; an earlier devnet ran with the rule off.</li>
|
||||
<li><strong>Proving on every card.</strong> No. NVIDIA proves; AMD and Apple mine. The proving stack is judged on the full pipeline: inputs, proving, aggregation, verification, payment, memory and the mining income forgone.</li>
|
||||
<li><strong>What proofs do not give.</strong> Proven execution is not finality. EVM compatibility is not Ethereum security. ZK is not privacy.</li>
|
||||
<li><strong>A ranking.</strong> No. Igneum makes no leading or number-one claim. Benchmarks against Ravencoin's KAWPOW, Ergo and Firo's reference miner are owed work; no result exists yet.</li>
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ details.tablebar summary{display:flex;align-items:center}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -250,7 +250,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
|
|||
<p>The public RPC answers at rpc.devnet.igneum.network; the Igneum Miner app also runs a full node on your machine and serves the Ethereum RPC on it, and the wallet can point at either. The devnet is a developer network: it resets without notice and its coins have no value.</p>
|
||||
<dl>
|
||||
<dt>Network name</dt><dd>Igneum 2.0 devnet</dd>
|
||||
<dt>Chain id</dt><dd id="dev-chain">4464 (0x1170)</dd>
|
||||
<dt>Chain id</dt><dd id="dev-chain">4465 (0x1171)</dd>
|
||||
<dt>RPC URL</dt><dd>https://rpc.devnet.igneum.network (a node you run serves http://127.0.0.1:26790)</dd>
|
||||
<dt>Symbol</dt><dd>IGN</dd>
|
||||
<dt>Decimals</dt><dd>18</dd>
|
||||
|
|
@ -266,7 +266,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
|
|||
<ol>
|
||||
<li>Network name: Igneum 2.0 devnet.</li>
|
||||
<li>RPC URL: the one on the card.</li>
|
||||
<li>Chain id: 4464 for the devnet.</li>
|
||||
<li>Chain id: 4465 for the devnet.</li>
|
||||
<li>Currency symbol: IGN. Decimals: 18.</li>
|
||||
</ol>
|
||||
|
||||
|
|
@ -275,7 +275,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
|
|||
<pre>await window.ethereum.request({
|
||||
method: 'wallet_addEthereumChain',
|
||||
params: [{
|
||||
chainId: '0x1170', // 4464, Igneum 2.0 devnet
|
||||
chainId: '0x1171', // 4465, Igneum 2.0 devnet
|
||||
chainName: 'Igneum 2.0 devnet',
|
||||
nativeCurrency: { name: 'Igneum', symbol: 'IGN', decimals: 18 },
|
||||
rpcUrls: ['https://rpc.devnet.igneum.network'],
|
||||
|
|
@ -287,7 +287,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
|
|||
<h2 id="app-wallet">The app and the Igneum Wallet</h2>
|
||||
<p class="note">The Igneum Ember app (still labelled Igneum Miner in its window) makes an address for your earnings and shows you its seed phrase once. That address is an ordinary Ethereum account: import the seed into MetaMask and the balance is there. <a href="/wallet">Igneum Wallet</a> is out for macOS and verifies finality itself; its Apps tab is in the roadmap. MetaMask works today and is the way in on Windows and Linux.</p>
|
||||
|
||||
<p class="asof">Coin for testing: <a href="/faucet">the faucet</a> sends 10 IGN per address per day on the devnet. Chain id 4461 is reserved for mainnet, which has not started. The devnet answers 4464, and eth_chainId on the public RPC is the answer to trust.</p>
|
||||
<p class="asof">Coin for testing: <a href="/faucet">the faucet</a> sends 10 IGN per address per day on the devnet. Chain id 4461 is reserved for mainnet, which has not started. The devnet answers 4465, and eth_chainId on the public RPC is the answer to trust.</p>
|
||||
</main>
|
||||
<!-- footer:start -->
|
||||
<footer class="site-footer">
|
||||
|
|
@ -362,11 +362,11 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
|
|||
(function(){
|
||||
// one request per button; the wallet shows the chain to the user and decides. No key, no seed, no signature here.
|
||||
var CHAINS = {
|
||||
devnet: { chainId: '0x1170', chainName: 'Igneum 2.0 devnet', nativeCurrency: { name: 'Igneum', symbol: 'IGN', decimals: 18 }, rpcUrls: ['https://rpc.devnet.igneum.network'], blockExplorerUrls: ['https://igneum.network/explorer'] }
|
||||
devnet: { chainId: '0x1171', chainName: 'Igneum 2.0 devnet', nativeCurrency: { name: 'Igneum', symbol: 'IGN', decimals: 18 }, rpcUrls: ['https://rpc.devnet.igneum.network'], blockExplorerUrls: ['https://igneum.network/explorer'] }
|
||||
};
|
||||
function status(name, text) { var el = document.querySelector('[data-status="' + name + '"]'); if (el) el.textContent = text; }
|
||||
// the devnet's chain id is read from the public RPC at load, for the entry and the card's figure;
|
||||
// the pinned 0x1170 is the answer when the RPC does not reply.
|
||||
// the pinned 0x1171 is the answer when the RPC does not reply.
|
||||
fetch('https://rpc.devnet.igneum.network', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'eth_chainId', params: [] }) })
|
||||
.then(function (r) { return r.json(); })
|
||||
.then(function (d) {
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ pre b{color:var(--molten-text);font-weight:500}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -294,7 +294,7 @@ pre b{color:var(--molten-text);font-weight:500}
|
|||
<div class="download-platform"><span class="osmark" data-os="hive" title="HiveOS"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linejoin="round" stroke-linecap="round"><path d="M12 2.6 20.2 7.3v9.4L12 21.4 3.8 16.7V7.3z"/><path d="M12 7.4 16 9.7v4.6L12 16.6 8 14.3V9.7z"/><path d="M12 7.4V2.6M16 9.7l4.2-2.4M16 14.3l4.2 2.4M12 16.6v4.8M8 14.3l-4.2 2.4M8 9.7 3.8 7.3"/></svg></span><div><h3>Ember for Linux and HiveOS</h3><p>a tarball for rigs and Hive flight sheets</p></div></div>
|
||||
<p class="download-note">For the rig people. One tarball, the miner and the node inside, the same signed manifest as the desktop apps.</p>
|
||||
<a data-dl="miner-hive" href="https://dl.igneum.network/public/igneum-miner-hive.tar.gz" class="btn primary"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m-5-5 5 5 5-5M5 16v4h14v-4"/></svg>Download the tarball <span data-dl-meta="miner-hive" style="font-weight:400;opacity:.85">v0.3.22 · 28.8 MB</span></a>
|
||||
<p class="fair" id="versions">Current build: Windows <span data-rm="versions.miner-windows.version">0.3.20</span>, macOS <span data-rm="versions.miner-mac.version">0.3.20</span>, HiveOS <span data-rm="versions.miner-hive.version">0.3.22</span>, the wallet <span data-rm="versions.wallet-mac.version">0.1.5</span>, <span data-rm="read_at_short">read 8 October 2026, 15:50 UK</span>. The machine-readable list, with every file’s SHA-256, is <a href="/release.json">/release.json</a>.</p>
|
||||
<p class="fair" id="versions">Current build: Windows <span data-rm="versions.miner-windows.version">0.3.20</span>, macOS <span data-rm="versions.miner-mac.version">0.3.20</span>, HiveOS <span data-rm="versions.miner-hive.version">0.3.22</span>, the wallet <span data-rm="versions.wallet-mac.version">0.1.5</span>, <span data-rm="read_at_short">read 8 October 2026, 17:0x UK</span>. The machine-readable list, with every file’s SHA-256, is <a href="/release.json">/release.json</a>.</p>
|
||||
<div class="hive-sheet" id="hive"><b>HiveOS Flight Sheet.</b> Miner: <b>Custom</b>. Installation URL: <code data-dl-url="miner-hive">https://dl.igneum.network/dl/public/igneum-hive-0.3.22.tar.gz</code>. Miner name <code>igneum</code>, wallet and worker <code>0x<your 40-hex payout address>.%WORKER_NAME%</code>. Hive itself is untested on our side: tell us what breaks.</div>
|
||||
<p class="sha">sha256 <span data-dl-sha="miner-hive">8ad6dcef9edc57dcd33e8d5a97cbef5cdda0e384a6e56d3f62f8903029c4c764</span></p>
|
||||
</div>
|
||||
|
|
@ -332,7 +332,7 @@ pre b{color:var(--molten-text);font-weight:500}
|
|||
</tbody>
|
||||
</table></div>
|
||||
<p class="fair"><b>Graphics cards only.</b> A new mining program every hour, so no chip is built for it. 80% of every block to the card that finds it, 20% to the cards that prove it. No premine, no stake, no fee to any team. Every number above has a row in <a href="/miners">the bench table</a>.</p>
|
||||
<p class="fair">Your card against the strongest chip we can price. Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Against a locked RTX 5090 on the same node, a chip machine on a DRAM board is modelled at about 1.6x per joule (1.4x to 1.8x) and 1.9x a node ahead (1.5x to 2.1x); a board that adds about USD 250 of SRAM for the hottest half of the dataset is modelled at about 2.4x and 2.9x; per dollar of hardware at list price the range is 3x to 9x (modelled on a placed and routed core, no chip measured, hardware cost approximate within 2x). The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The GPU side is measured: the RTX 5090 at its 1,300 MHz lock, 2.33 microjoules per hash on class v4, the window’s cost within 5 percent per load (8 October 2026); the chip side is modelled on a placed and routed 8-lane core, no chip measured, its hardware cost approximate within 2x; its memory the DRAM board of the chip model, modelled. Under class v5 the chip is wrong on every item because the dataset is the chain’s own state (designed). <a href="/litepaper#chip-model">Every number with its label, the harness and the scoring rules</a>.</p>
|
||||
<p class="fair">Your card against the strongest chip we can price. Igneum remains competitive on accessible commodity GPUs even when specialised mining hardware is assumed to exist, remain compatible and seek profit; its security does not rely on identifying that hardware or retiring it through emergency changes. Class v6 adopts the 64-register window and retains it across every rotation. Current modelling places the specialised designs assessed as complete machines at about 1.5x to 2x the energy efficiency of a locked RTX 5090 on the same node: a chip machine on a DRAM board about 1.5x per joule (1.3x to 1.7x), the same board with SRAM holding the hottest half of the dataset about 1.9x (1.65x to 2.1x), a node ahead 1.8x to 2.4x; per dollar of hardware at list price 3x to 6x. The long-program and select-tree proposals were rejected. Economic resistance depends on development cost, deployment economics and productive hardware lifetime; family transitions receive an obsolescence benefit only where a loss of competitiveness is demonstrated; programmable multi-epoch designs are included in the assessment. The GPU side is measured: the RTX 5090 at its 1,300 MHz lock, 2.33 microjoules per hash on class v4, the window’s cost within 5 percent per load (8 October 2026); the chip’s core is placed and routed on ASAP7 with SRAM macros and scaled on claimed node factors; its memory and the rest of the machine (controller, host share, PSU, VRM, cooling) are modelled; no chip is measured and the chip’s hardware cost is approximate within 2x (MODELLED). Under class v5 the chip is wrong on every item because the dataset is the chain’s own state (designed). <a href="/litepaper#chip-model">Every number with its label, the harness and the scoring rules</a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ table{min-width:560px}
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
@ -257,7 +257,7 @@
|
|||
<section class="card" aria-labelledby="deployed">
|
||||
<h2 id="deployed">On Sepolia</h2>
|
||||
<div class="kv" data-oracle-kv>
|
||||
<div class="k">Oracle</div><div class="mono" data-oracle-address>0x3ad71d4660d8a8d2f92248b9c286392dd76a3ab6 <small>IgneumStateOracle, deployed 8 October 2026 on the shared verifier (tx 0x16312cf8…4e2a, block 11870855); its trust() names the two unchecked items below; accepts statements with chain id 4463 or 4464.</small></div>
|
||||
<div class="k">Oracle</div><div class="mono" data-oracle-address>0x3ad71d4660d8a8d2f92248b9c286392dd76a3ab6 <small>IgneumStateOracle, deployed 8 October 2026 on the shared verifier (tx 0x16312cf8…4e2a, block 11870855); its trust() names the two unchecked items below; accepts statements with chain id 4463 or 4464 (the earlier devnet it was deployed against; a redeploy against the 2.0 devnet, chain id 4465, is owed).</small></div>
|
||||
<div class="k">Verifier</div><div class="mono" data-verifier-address>0xAf74f3F512081291D663Bb1d6b6d37E99e37D744 <small>the shared IgneumCertificateVerifier (the DEX lane's, a real BLS12-381 check on chain through the EIP-2537 precompiles, voter table installed at checkpoint 2127), set by setVerifier on 8 October 2026 (tx 0xd679bb65…db8e); the stand-in 0xa197ef31…a6f6 served until then</small></div>
|
||||
<div class="k">Chain</div><div>Sepolia, chain id 11155111; the Igneum 2.0 devnet (igneum-devnet-4), no value</div>
|
||||
<div class="k">Proven roots</div><div class="mono">Certificate 2232 (0xf056c26e…, 29 voters, signed weight 4,988 of 7,164) recorded on the shared verifier with a real BLS check, tx 0x1794b785…1e8a, 792,677 gas. Devnet chain block 28439, post_root 0x6e6d2fc8… stored on this oracle with a 6-header path, tx 0xcdb24dbc…ee5fc, 1,624,984 gas; provenBalance read 721.451608 IGN for 0xcaed79d8…c087 on Sepolia, equal to the devnet node's eth_getProof.</div>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -116,7 +116,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -1,26 +1,27 @@
|
|||
{
|
||||
"format": "igneum-release-manifest-v1",
|
||||
"generated": "2026-10-08T15:55:00Z",
|
||||
"read_at": "regenerated at the Igneum 2.0 devnet's first block",
|
||||
"generated": "2026-10-08T16:10:00Z",
|
||||
"read_at": "read 8 October 2026, 17:0x UK, from the node lane's line on build-1's seed (the re-cut node 4cdcc488); the first block of the re-cut pending",
|
||||
"labels": {
|
||||
"measured": "read from a running node, a binary or a record",
|
||||
"designed": "in the specification or the design document, not yet carried by code on the live chain",
|
||||
"modelled": "a model's figure",
|
||||
"claimed": "stated by a third party, not measured here"
|
||||
"claimed": "stated by a third party, not measured here",
|
||||
"served": "every served claim also carries one of TEAM-REPORTED, MODELLED, PROPOSED, PENDING or EXCLUDED (the 2.0 plan)"
|
||||
},
|
||||
"network": {
|
||||
"id": "igneum-devnet-4",
|
||||
"name": "Igneum 2.0 devnet",
|
||||
"kind": "developer network: resets without notice, its coins have no value",
|
||||
"chain_id": 4464,
|
||||
"chain_id_hex": "0x1170",
|
||||
"chain_id_note": "the Igneum 2.0 devnet; the manifest is regenerated at its first block",
|
||||
"chain_id": 4465,
|
||||
"chain_id_hex": "0x1171",
|
||||
"chain_id_note": "4465 from genesis on the Igneum 2.0 devnet (eth_chainId 0x1171); earlier devnets answered 4463 and 4464 and are history",
|
||||
"rpc": "https://rpc.devnet.igneum.network",
|
||||
"explorer": "https://igneum.network/explorer",
|
||||
"faucet": "https://faucet.igneum.network",
|
||||
"decimals": 8,
|
||||
"decimals": 18,
|
||||
"block_target_seconds": 1,
|
||||
"label": "measured",
|
||||
"label": "measured at the node's start line; the first block pending",
|
||||
"others": [
|
||||
{
|
||||
"id": "igneum-mainnet",
|
||||
|
|
@ -29,18 +30,25 @@
|
|||
"state": "not started",
|
||||
"decimals": 18
|
||||
}
|
||||
]
|
||||
],
|
||||
"genesis": {
|
||||
"hash": "7c36b83374a673e990213be462509dcb08bcfc85144306aa9517cf3ad66faf6e",
|
||||
"stamped_utc": "2026-10-08T15:00:00Z",
|
||||
"first_block": "pending: the chain restarts from this genesis on the re-cut node 4cdcc488 on wiped datadirs (an earlier object minted at the wrong decimals and is dead)",
|
||||
"note": "every upgrade on from block zero: class v5, the era VDF, finality v3, calibrated fees, enforced proving"
|
||||
},
|
||||
"vote_domain": "igneum-vote-v1/igneum-devnet-4",
|
||||
"consensus_digest": "be5f406802cec1227a5ef50d42181ab42444f79af170775b22c85cb9a917273b"
|
||||
},
|
||||
"source": {
|
||||
"repository": "https://git.igneum.network/igneum-network/igneum",
|
||||
"repository_note": "the public reference repository: the specifications, the igneum-pow crate, the simulators and the test material; the full node, the miner and the proving code open later",
|
||||
"node": {
|
||||
"fork_of": "rusty-kaspa v2.1.0 (01b532e8)",
|
||||
"branch": "release-0.3.25-node",
|
||||
"commit": "f8da7515",
|
||||
"version_string": "igneumd/2.1.0-f8da7515",
|
||||
"pin": "c9ad753a (the move of 8 October 2026, 15:25 UK)",
|
||||
"pending": "acaf08b0, cut 15:43 UK, gates running, its move not yet named",
|
||||
"branch": "release-2.0.0-node",
|
||||
"commit": "4cdcc488",
|
||||
"version_string": "igneumd/2.0.0-4cdcc488",
|
||||
"note": "the re-cut of 8 October 2026, 17:03 UK (the emission literal widened to 18 decimals); c04674fe is dead",
|
||||
"label": "measured"
|
||||
},
|
||||
"pow": {
|
||||
|
|
@ -50,8 +58,8 @@
|
|||
"freeze": "class-v5-freeze 2026-10-07",
|
||||
"tree_fingerprint": "cbc5bd0aa10585c8576e71e37a8ee47a045ae51754e9ddf749d0c21e6a535f88",
|
||||
"binary_line": "igneum-pow fingerprint cbc5bd0aa10585c8 (the freeze)",
|
||||
"below_floor": "017e7037 (class v4 sub-version 3, the audit-freeze-2026-10-07 tag) paired below the class v5 floor",
|
||||
"label": "measured"
|
||||
"label": "measured",
|
||||
"note": "the class v5 freeze, paired from genesis"
|
||||
},
|
||||
"app": {
|
||||
"name": "Ember",
|
||||
|
|
@ -61,9 +69,9 @@
|
|||
},
|
||||
"mining": {
|
||||
"class": "v5",
|
||||
"class_since_daa": 68400,
|
||||
"class_at_genesis": "v4",
|
||||
"class_note": "class v4 (the latency shadow, about 100,000 integer ops per hash at the ladder's rung 0) from block zero; class v5 (the dataset keyed by the chain's own state) from DAA 68,400",
|
||||
"class_since_daa": 0,
|
||||
"class_at_genesis": "v5",
|
||||
"class_note": "class v5 (the dataset keyed by the chain's own state, the class v4 latency shadow inside it) from block zero",
|
||||
"block_version": 1538,
|
||||
"program": {
|
||||
"epoch_daa": 3600,
|
||||
|
|
@ -80,14 +88,14 @@
|
|||
"size": "1 GiB on the devnets (2^24 items at the genesis size)",
|
||||
"keyed_by": "the execution state after the epoch's reference block (class v5)",
|
||||
"cache": "256 MiB day cache (class v3 lineage)",
|
||||
"growth": "no growth step is set on the devnet; the genesis-fixed schedule of spec 1.13.3 is a mainnet matter; class v6's step schedule (5.5 / 8.5 / 11.5 GiB) is a design on its branch, not live"
|
||||
"growth": "no growth step is set on the Igneum 2.0 devnet; the dataset schedule (5.5 / 8.5 / 11.5 GiB) is Deliverable 3's to score per step"
|
||||
},
|
||||
"ladder": {
|
||||
"rung": 0,
|
||||
"ops_per_hash": "about 100,000",
|
||||
"move_rule": "90 percent of blue blocks in each of seven consecutive days, one rung at a time"
|
||||
},
|
||||
"label": "measured; the dataset growth line designed"
|
||||
"label": "measured at the node's start line"
|
||||
},
|
||||
"finality": {
|
||||
"rule": "v3",
|
||||
|
|
@ -102,13 +110,13 @@
|
|||
"aggregators": 8,
|
||||
"ban_daa": 7200,
|
||||
"certificate_fold_daa": 3,
|
||||
"frozen_table": "the weight table is frozen at the last certified checkpoint on the selected chain (spec 03 Q5), active for every checkpoint from DAA 0 on the devnet",
|
||||
"node_line": "Finality v2 (the devnet): interval 30 depth 20 window 7200 DAA dust 5 presence 20 aggregators 8 ban 7200 fold 3; rule v3 from checkpoint DAA 0",
|
||||
"frozen_table": "the weight table is frozen at the last certified checkpoint on the selected chain (spec 03 Q5), active from checkpoint DAA 0",
|
||||
"node_line": "Finality v2 (igneum-devnet-4): interval 30 depth 20 window 7200 DAA dust 5 presence 20 aggregators 8 ban 7200 fold 3; rule v3 (frozen table, certificate fold) from checkpoint DAA 0",
|
||||
"label": "measured"
|
||||
},
|
||||
"proving": {
|
||||
"verifier_in_consensus": "off",
|
||||
"verifier_note": "proving v0: every producer verifies off the consensus path; consensus checks the record's statement against native execution and its signature; the in-consensus verifier switches on when the proven share of blocks reads one (ledger P21)",
|
||||
"verifier_in_consensus": "on",
|
||||
"verifier_note": "consensus proof verification from DAA score 0 (verifier_in_consensus set) on the Igneum 2.0 devnet: the node's start line names the shard program id and the aggregator id; Deliverable 5's prerequisite is met on the devnet, the exercise itself is owed",
|
||||
"shard_market": "on from DAA 0: segment records of 8 blocks, unproven after 600 DAA, aggregator share 1,000 bps",
|
||||
"proof_system": "SP1",
|
||||
"sp1_circuit_version": "v6.1.0",
|
||||
|
|
@ -121,7 +129,8 @@
|
|||
"aggregator_elf_sha256": "0x143d9c243dd12e87e90be71f6b8cd42353e513bf8ce78903ef6f972f1bc9aa7b",
|
||||
"aggregator_vk_sha256": "0xad17bc1ae5be816554dbb13cb5b4d242678adfb8e1a4f7247ceb8b5ba9001b9f",
|
||||
"manifest_file": "proving/igneum-prove/elf/manifest.json",
|
||||
"label": "measured"
|
||||
"label": "measured at the node's start line",
|
||||
"verifier_since_daa": 0
|
||||
},
|
||||
"fees": {
|
||||
"subsidy_split": {
|
||||
|
|
@ -142,7 +151,8 @@
|
|||
"proving_fee_ceiling": {
|
||||
"value": 90000,
|
||||
"multiple": 4,
|
||||
"note": "the proving-fee ceiling of the live object"
|
||||
"since_daa": 0,
|
||||
"where": "params.rs devnet4_params proving_fee_ceiling_activation_daa: 0"
|
||||
},
|
||||
"external_jobs": {
|
||||
"provers_percent": 90,
|
||||
|
|
@ -157,16 +167,27 @@
|
|||
"where": "igneum/miner/src/main.rs 718"
|
||||
},
|
||||
"emission": {
|
||||
"launch_rate_base_units_per_daa_second": 3168808781,
|
||||
"launch_rate_base_units_per_daa_second": 31688087810000000000,
|
||||
"year_one_ign": 1000000000,
|
||||
"ramp_seconds": 2592000,
|
||||
"ramp_start_percent": 10,
|
||||
"halving_seconds": 63115200,
|
||||
"cap_ign": 4000000000,
|
||||
"tail": "none",
|
||||
"where": "consensus/core/src/emission.rs 85 to 123; igneum.rs 34, 76"
|
||||
"where": "consensus/core/src/emission.rs 104 (the literal 3,168,808,781 at 8 decimals) widened by rescaled(DEVNET_DECIMALS, EVM_DECIMALS) at emission.rs 129 in params.rs devnet4_params; the identity test asserts the rate equals mainnet's",
|
||||
"decimals": 18
|
||||
},
|
||||
"label": "measured in the code on the devnet; external jobs designed"
|
||||
"label": "measured in the code on the Igneum 2.0 devnet; the proving payment and external jobs designed",
|
||||
"fees_v1": {
|
||||
"since_daa": 0,
|
||||
"where": "params.rs devnet4_params fees_v1_activation_daa: 0"
|
||||
},
|
||||
"proving_payment": {
|
||||
"provers_percent": 90,
|
||||
"burn_percent": 10,
|
||||
"state": "designed, in the code behind Params::proving_payment_activation_daa (never on every object; the fork branch proving-payment at eaddbf83); the shard guest's mirror owed before any height; on the 2.0 devnet the proving charge burns in full",
|
||||
"where": "docs/design/proving-payment.md"
|
||||
}
|
||||
},
|
||||
"versions": {
|
||||
"miner-hive": {
|
||||
|
|
@ -200,18 +221,18 @@
|
|||
},
|
||||
"versions_updated": "2026-10-07T20:43:23Z",
|
||||
"sources": {
|
||||
"network": "docs/build/build.md (the Networks table); the node lane's read of build-1's seed",
|
||||
"node": "docs/plans/release-0.3.22.md and the node lane's read; the version string from igneumd --version",
|
||||
"network": "the node lane's read of build-1's seed (igneum-devnet-4), 8 October 2026",
|
||||
"node": "the node lane's line: release-2.0.0-node 4cdcc488, igneumd/2.0.0-4cdcc488",
|
||||
"pow": "packaging/pow-freeze.txt; the binaries' fingerprint line",
|
||||
"finality": "docs/spec/03-finality.md 3.3; the node's start line",
|
||||
"proving": "proving/igneum-prove/elf/manifest.json; docs/fud-ledger.md P21",
|
||||
"fees": "site/economics.html (the file and line of every constant); site/lib/emission.mjs",
|
||||
"versions": "site/downloads.json (dl.igneum.network's index)"
|
||||
},
|
||||
"read_at_short": "read 8 October 2026, 15:50 UK",
|
||||
"read_at_short": "read 8 October 2026, 17:0x UK",
|
||||
"proving_view": {
|
||||
"read_at": "12:16 UK on 8 October 2026",
|
||||
"read_daa": 65900,
|
||||
"read_daa": 0,
|
||||
"read_daa_note": "approximate: DAA seconds since genesis at 17:06 UTC on 7 October 2026, one a second",
|
||||
"shards_paid_24h": 8209,
|
||||
"ign_paid_24h": "9,913.09",
|
||||
|
|
@ -221,6 +242,7 @@
|
|||
"lag_p50_daa": 514,
|
||||
"lag_p90_daa": 953,
|
||||
"source": "the observer's proof tables through /api/explorer?proving=1, the proving page",
|
||||
"label": "measured"
|
||||
"label": "measured",
|
||||
"note": "the payout rows are the earlier devnet's 24-hour reading of 8 October 2026 (TEAM-REPORTED, history); the model's first row is the 2.0 devnet at DAA 0; the 2.0 devnet's own reading replaces them when its observer serves"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:13px;overflo
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" data-active aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
|
||||
<span class="word">IGNEUM</span>
|
||||
</a>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4464. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="starting">Igneum 2.0 devnet starting</span></span>
|
||||
<div class="nav-groups" id="nav-groups" role="list">
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" data-active aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ no founder name, personal login, earlier business or personal address in any tra
|
|||
every check in tools/ci/checks.txt has its run line here and every run line is listed (a conflict resolution cannot drop a check unseen; self-test first)
|
||||
site build (in a temporary copy here, in place only inside GitHub Actions)
|
||||
internal link check of site/*.html
|
||||
never served: guaranteed chip death, a universal ASIC ceiling, a chip-arrival probability, a guaranteed profit, Ethereum security by compatibility, privacy from ZK, a numerical rank, a workbook threshold (self-test first)
|
||||
the release manifest: site/release-manifest.json parses, its versions are downloads.json's, its proof ids the ELF manifest's, /release.json served, every data-rm span on a committed page carries its value
|
||||
every served page carries the slim bar (mark, Mine, Network, Learn, Download) with every route in its panels and the sheet (self-test, then the tree)
|
||||
vendor marks: site/lib/marks.mjs is brand/marks/vendor-marks.mjs byte for byte (the app and the site draw one set)
|
||||
|
|
|
|||
32
tools/ci/never-served-check.mjs
Normal file
32
tools/ci/never-served-check.mjs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
// Never-served check (the Igneum 2.0 plan, 8 October 2026): the served pages never carry guaranteed chip death, a universal
|
||||
// ASIC-efficiency ceiling, a chip-arrival probability, a guaranteed profit, Ethereum security by compatibility, privacy from
|
||||
// ZK, a numerical rank, or the revenue thresholds the coexistence workbook holds (USD 340 M, USD 23 M, USD 20 to 75 M).
|
||||
// node tools/ci/never-served-check.mjs exit 1 listing every hit (self-test first: a known-failed fixture per pattern)
|
||||
import { readFileSync, readdirSync } from 'node:fs';
|
||||
import { join, dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
const site = join(dirname(fileURLToPath(import.meta.url)), '..', '..', 'site');
|
||||
const RULES = [
|
||||
['guaranteed chip death', /\b(every|each|any) chip (dies|will die|must die)\b|chips? (is|are) guaranteed to (die|expire)|guaranteed (chip|ASIC) death/i],
|
||||
['a universal ASIC-efficiency ceiling', /\buniversal (ASIC|chip)[- ]?(efficiency )?ceiling\b|\bno chip can ever\b/i],
|
||||
['a chip-arrival probability', /\b\d+ percent (chance|probability|odds) (of|that) (a |an )?(chip|ASIC)|\bprobability (of|that) (a |an )?(chip|ASIC) (arrives|arriving|ships|appears)|\bchip-arrival probabilit/i],
|
||||
['a guaranteed profit', /\bguaranteed (profit|profits|return|returns|income|earnings)\b/i],
|
||||
['Ethereum security by compatibility', /\b(inherits|inherit|gets|gives|with) Ethereum'?s? security\b|\bEthereum security (by|through|from) compatibility\b/i],
|
||||
['privacy from ZK', /\b(ZK|zero-knowledge) (makes|keeps|gives|means) (it |transactions |everything )?(private|privacy)\b|\bprivate (by|through) (ZK|zero-knowledge)\b/i],
|
||||
['a numerical rank', /\bnumber one\b|\b(the )?#1\b|\bno\. 1\b/i],
|
||||
['a workbook threshold served as a boundary', /USD 340 ?M\b|USD 23 ?M\b|USD 20 to 75 ?M\b/],
|
||||
];
|
||||
// a quoted challenge on the ledger page (<blockquote>, the entry title) and a limits item that negates the claim ("X. No.") are not the
|
||||
// project's claims: they are stripped before the scan, so the pages may refute a line they never make
|
||||
const text = (html) => html.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>|<blockquote>[\s\S]*?<\/blockquote>|<h3>[^<]*<\/h3>|<strong>[^<]*<\/strong>\s*No\.|<span class="did">[^<]*<\/span>/g, ' ').replace(/<[^>]+>/g, ' ').replace(/&[a-z]+;|&#\d+;/g, ' ');
|
||||
const scan = (name, html) => { const t = text(html); const hits = []; for (const [what, re] of RULES) { const m = re.exec(t); if (m) hits.push(`${name}: ${what} ("${t.slice(Math.max(0, m.index - 40), m.index + m[0].length + 40).replace(/\s+/g, ' ').trim()}")`); } return hits; };
|
||||
// self-test: a known-failed fixture per rule, then a clean one
|
||||
const fixtures = ['every chip dies within a year', 'a universal ASIC-efficiency ceiling of 2x', 'a 30 percent chance of a chip by 2027', 'guaranteed profits for miners', 'the chain inherits Ethereum security', 'ZK makes transactions private', 'the number one GPU chain', 'the capex wall at USD 340 M'];
|
||||
let bad = 0;
|
||||
fixtures.forEach((f, i) => { if (!RULES[i][1].test(f)) { console.error(`self-test: rule ${i} missed "${f}"`); bad++; } });
|
||||
if (scan('clean', '<p>A GPU-secured network for Ethereum-compatible applications and verifiable computation. ZK is not privacy. EVM compatibility is not Ethereum security.</p>').length) { console.error('self-test: the clean fixture was flagged'); bad++; }
|
||||
if (bad) process.exit(1);
|
||||
const hits = [];
|
||||
for (const f of readdirSync(site).filter(f => f.endsWith('.html'))) hits.push(...scan(f, readFileSync(join(site, f), 'utf8')));
|
||||
if (hits.length) { console.error(`never-served check: ${hits.length} hit(s)\n ${hits.join('\n ')}`); process.exit(1); }
|
||||
console.log(`never-served check: ${RULES.length} rules, self-test passed, no hit on the served pages`);
|
||||
|
|
@ -107,6 +107,7 @@ never_push_checks() {
|
|||
tree_checks() {
|
||||
run "site build (in a temporary copy here, in place only inside GitHub Actions)" site_build
|
||||
run "internal link check of site/*.html" node tools/ci/link-check.mjs
|
||||
run "never served: guaranteed chip death, a universal ASIC ceiling, a chip-arrival probability, a guaranteed profit, Ethereum security by compatibility, privacy from ZK, a numerical rank, a workbook threshold (self-test first)" node tools/ci/never-served-check.mjs
|
||||
run "the release manifest: site/release-manifest.json parses, its versions are downloads.json's, its proof ids the ELF manifest's, /release.json served, every data-rm span on a committed page carries its value" node tools/ci/release-manifest-check.mjs
|
||||
run "every served page carries the slim bar (mark, Mine, Network, Learn, Download) with every route in its panels and the sheet (self-test, then the tree)" bash -c 'node tools/ci/site-nav-check.mjs --self-test && node tools/ci/site-nav-check.mjs'
|
||||
run "vendor marks: site/lib/marks.mjs is brand/marks/vendor-marks.mjs byte for byte (the app and the site draw one set)" cmp brand/marks/vendor-marks.mjs site/lib/marks.mjs
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ const fails = [];
|
|||
const m = JSON.parse(readFileSync(join(site, 'release-manifest.json'), 'utf8'));
|
||||
for (const k of ['format', 'generated', 'read_at', 'network', 'source', 'mining', 'finality', 'proving', 'fees', 'versions', 'sources']) if (!(k in m)) fails.push(`manifest: no "${k}" block`);
|
||||
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(m.generated || '')) fails.push('manifest: "generated" is not an ISO UTC date');
|
||||
if (m.network?.chain_id !== 4464 || m.network?.chain_id_hex !== '0x1170') fails.push('manifest: the Igneum 2.0 devnet chain id is 4464 (0x1170)');
|
||||
if (!/two thirds of active weight and at least two thirds of total weight/.test(m.finality?.statement || '')) fails.push('manifest: the finality statement must say two thirds of active and two thirds of total weight');
|
||||
if (m.proving?.verifier_in_consensus !== 'off') fails.push('manifest: the verifier is off in consensus (ledger P21) until that row moves');
|
||||
if (!['on', 'off'].includes(m.proving?.verifier_in_consensus)) fails.push('manifest: proving.verifier_in_consensus is on or off');
|
||||
if (m.proving?.verifier_in_consensus === 'on' && !Number.isInteger(m.proving?.verifier_since_daa)) fails.push('manifest: a verifier that is on names the DAA it is on from');
|
||||
const dl = JSON.parse(readFileSync(join(site, 'downloads.json'), 'utf8'));
|
||||
for (const [k, v] of Object.entries(dl.files)) {
|
||||
const w = m.versions?.[k];
|
||||
|
|
|
|||
Loading…
Reference in a new issue