Merge master 206e73f70 into mhpow-b2 under the master-landing lock

This commit is contained in:
igneum-labs 2026-10-09 09:33:15 +00:00
commit bbaa1131b8
28 changed files with 2783 additions and 889 deletions

View file

@ -0,0 +1,236 @@
# X0: the latest model reconciled with the exact frozen software (the 1.5x programme, 9 October 2026, 10:0x UK)
The adversary lane with the hash lane's pins (its line of 09:58 UK, every closing report staged with its sha256 at
build-1:/srv/artefacts/tas/x0-pins/<job id>.report.txt, SHA256SUMS.txt beside them; the recipe every X lane reads,
build-1:/srv/artefacts/1p5x/gpu-row-recipe.md sha cbab453c). The brief: the founder's
igneum-1p5x-experiment-brief.md (sha256 74ee073286d4a6e2…, landing under docs/plans/igneum-2.0-master/1p5x/). This
file reconciles every served and placed chip figure with the software and the measurements it rests on, names the
assumptions that differ between the served 1.9x to 2.1x hybrid line and the placed 2.4x line, and states the r0 the
programme uses with its range. Nothing here is a new measurement; no PASS is claimed.
## 1. The frozen control, as pinned
| Pin | Value | Read back | Label |
|---|---|---|---|
| The generator tree | class-v6 at 1a938abe4 (on branch class-v6, tip 755c2dbcf), generator 6, ProgramClass::V6, class string mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, layer 8 ON, class_v6_family_flags 0xf, CLASS_V6_FLAG_NOWIN (1<<4) defined and off | the fingerprint recipe run on build-1 at 09:34 UK: 5f4d6dc6199294db89042171004e6420c1e5791e716d4b39b73d375818c10b6f, equal to the brief's | read back |
| The dataset policy | 70a6c703 (4 GiB at genesis, no later step) | F0's dataset row | pinned by F0 |
| The signing id | 2a1d6caab4c24564 at (epoch seed af89be5d, era edc4fa84, day 20730, state abb58003) | F0's freeze-candidate row | pinned by F0 |
| The research pairing (never the freeze) | hl-v6-all, id 0x4de7b836cc40a4ea (the genesis seed over node1's state) and the l8off kit's export 0x9d40978601a7df2a (era edc4fa84, day 20730, the node1 state) | the hash lane's line | pinned |
## 2. The GPU side: every figure, its software, its boundary, its state
Every figure is the three-card Windows rig's RTX 5090 (or 5080) alone through the runner's cards-off; power is
nvidia-smi board power.draw sampled at 1 Hz, the row's watts the sampler's mean from 8 s in to the end of the timed
dispatches, idle NOT subtracted (the microbench rows are the one exception, residency-subtracted); no wall meter
anywhere; fingerprints equal at every state. No GPU figure carries layer-8-off or a result compaction.
| Figure (as served) | Job and report sha256 | Software by sha | Pack | State | Where it is used |
|---|---|---|---|---|---|
| The 5090 at its 1,300 MHz lock: 134.764 MH/s at 312.5 W, 2.319 microjoules per hash (served as 2.33) | run-ca3-pc1-v4-eff-5090-20261007-b (7 Oct 18:40 to 19:16Z), report ead72106… | the installed app's igneum-worker-cuda.exe d7a413c7… (0.3.20); kit igneum-ca3-v4-sub3-pc1-kit.zip 1d441f5a… (program.json a746c924…, program.h 18bca6be…, kernel.cu 80e92839…) | v4-devnet-epoch0, the Devnet 3 epoch 0 class v4 program, fingerprint e370fb2080b7dbb1; 491 batches of 2^24 | the knee | the numerator of every served chip ratio (the "served convention") |
| The class v5 control at the lock: v5-genesis 125.932 MH/s at 299.8 W against v4-genesis 125.924 at 294.0 (+2.0 percent watts) | run-ca3-pc1-v5lock-5090-20261008-b, report 0f444306… | the class v5 kit's worker | v5-genesis, v4-genesis | the knee | denominator.md's +2 percent (the 2.37 row) |
| The class v6 control on the frozen tree at the lock: hl-v6-all 70.306 MH/s at 282.0 W (4.011 microjoules); stock 70.526 at 412.0 (5.842) | run-ca3-pc1-l8off-5090-20261008 (9 Oct 02:52 to 03:00Z), report 05f00bd8… | the l8off kit igneum-ca3-l8off-kit-20261008.zip c20999d1…, CUDA worker 218ca414…; fingerprint 59e6708e46f1e87c; 250 batches | hl-v6-all 0x9d40978601a7df2a (the frozen class at the research pairing) | both | NOT yet in any served chip ratio (section 4) |
| The 5080 at its 1,100 lock: 71.201 MH/s at 146.6 W, 2.059 microjoules | run-ca3-pc1-v4-eff-5080-20261007-d (8 Oct 00:45 to 01:54Z), report 6acec71d… | the same worker d7a413c7…, the same pack | v4-devnet-epoch0, e370fb2080b7dbb1 | the knee | the 5080 column |
| The cohort rows (14 rented card classes, stock only) | the fleet lane's rows.jsonl; denominator.md sha a4ec182a… on master | per row | per row | stock | the cohort column (count-weighted about 3.6 microjoules, approximate) |
| Layer 8 off (register row 18, CLOSED 04:49 UK): hl-v6-all against hl-v6-all-nowin 0xec0c3757f8caef4a: stock 70.526 / 412.0 W against 70.209 / 417.2 (rate -0.4, joules +1.7 percent); lock 70.306 / 282.0 against 66.303 / 275.5 (rate -5.7, joules +3.6); the v5 pair the same way, +5.7 percent at the lock | the same job, report 05f00bd8…; the row document docs/analysis/class-v6/rows/pc1-l8off-ds2g-20261009.md sha fb2d5686… (master ac2f143c) | the l8off kit | the four packs | both | the D2 row: performed and closed, the layer stays ON |
| The microbench per-op rows (int_arx 11.3 pJ stock, 6.2 at the lock; the class v4 draw read as 10.3 pJ per op at the lock from the packs job's 10.8 / 6.4) | run-ca4-pc1-microbench-5090-20261008-c (8 Oct 05:15 to 05:56Z), report 62dbb138…; the 10.3 is counter-asic-4-research.md's reading (sha 82af4424…) | igneum-worker-cuda-ca4mb.exe 49aa60c4… | 20 probes x 60 s at full residency | both | the denominator of every per-family k |
A caveat the hash lane names: since 14:2x UK on 8 October the rig's 5090 reads about 13 percent under the morning
(the enclosure swap), so pairs inside a job are the figures and a job's absolutes are not compared with 7 October's.
The served 2.33 microjoules is a 7 October absolute; the frozen-tree control is a 9 October job. Section 4 carries
what that does to r0.
## 3. The chip side: every figure, its software, its boundary, its node
| Figure | Software by sha | What it is | Boundary | Node scaling |
|---|---|---|---|---|
| The placed 8-lane 18-family core: 9.36 pJ per lane-op on the class v4 draw at ASAP7 (8.6 to 11.1), 6.55 at N5, 4.72 at N3 | class-v6-adversary 43c9f7cd8: tools/chip-model/mf (RTL core_mf.v, the flow, results/table.csv), docs/analysis/class-v6/multi-family-adversary.md (landed e3d0208d) | ORFS on ASAP7 (Yosys 0.68, OpenROAD, the orfs docker image), placed and routed with SPEF, OpenSTA power under a gate-level VCD of a random-input simulation; the register window a FakeRAM2.0 64x256 macro per 8 lanes whose dynamic energy is MODELLED (3.5 pJ per access, 2.0 to 7.0) | the core only: no memory controller, no PHY, no host; the machine terms are board.py's (section 5) | ASAP7 to N5 x0.70, to N3 x0.50 (TSMC's claimed per-node reductions at the same speed) |
| The placed 32-lane 18-family core: 9.54 pJ (8.9 to 11.0), 6.68 at N5 | the same; parasitics from the global route, calibrated within 1 percent of SPEF on the 32-lane genesis core; the detailed route did not converge (the fault, multi-family-adversary.md section 14) | | | the same |
| The program the chip rows execute | the testbench's draw with the class v4 WEIGHTS (add 12, xor 10, mul 8, mad 8, shfl 8, rotl 7, sub 6, mulhi 6, rotr 6, or 4), NOT the frozen tree's drawn program: the chip rows are per-op energies by family under the draw's weights; the frozen program's op counts (102,100 shadow ops, 512 base, 128 loads, W = 1) set the per-hash sum | | | |
| The memory system | chip-model-v3.md 5.3 and 5.5 (the GDDR7 board: 2.0 nJ per random read, 1.5 to 2.6; 21.3 G activates per second, the 5090's 82 percent as the sustained fraction; 20 W static, 15 W controller; USD 320 of devices), the N2 SRAM die (floor lane 3, 0.25 nJ per read at W = 1) | modelled on claimed device figures | the devices, controller and PHY | the memory does not scale with the core's node |
| The hybrid's hit rate | adv-cache-2's window-layer distribution on Devnet 3's programs (the hottest half of the items serves 0.7188 of reads: the p98 program), the hash lane's census reconcile (the mean over programs 0.581, coexistence-model.md line 537), census-packs.md's flat-control ratio 1.1 to 1.7x (sha 146b578c…) | measured on programs of the class v5 and v6 crates, the window model as the null | | |
| The complete machine | tools/chip-model/mf/flow/board.py: PSU 92 percent, VRM 90 percent, cooling 3 percent, one full node per 100 machines (85 W, USD 1,500), board and assembly USD 200, the core die sized to the memory's sustained rate | approximate allowances | the wall of the machine, less the host's share | |
## 4. The reconciliation, line by line
### 4.1 The served 1.9x to 2.1x hybrid against the placed 2.4x hybrid
Both are the stored-half hybrid (1 GiB of SRAM beside the 16 GDDR7 devices) against the 5090 at its lock, same
node. They differ in four assumptions, each named:
| Assumption | The served line (10.0r, "about 2.4x") | This lane's placed line (1.9x to 2.1x) | Which the programme uses |
|---|---|---|---|
| The hit rate of the hottest half | 0.72 (adv-cache-2's p98 program) | 0.581 (the hash lane's reconciled mean over programs) for the 1.93x; 0.72 for the 2.09x | the mean, 0.581: the p98 is the tail, carried beside it |
| The core's energy | the synthesised 8-lane core (4.61 pJ at N5) scaled by the first placed genesis core's factor | the placed 8-lane 18-family core itself, 6.55 pJ at N5 | the placed row |
| The machine terms | the board identity (2.33 over 0.466 + the shadow) with the hybrid's memory term, no power train | the complete machine: PSU, VRM, cooling, the host share, the sustained derate | the complete machine (the review's evidence standard) |
| The node | N5 node-for-node | N5 node-for-node | the same |
So the 2.4x is the synthesised core at the tail hit rate on the board identity, and the 1.9x to 2.1x is the placed
core at the mean and the tail on the complete machine; the two agree once the three assumptions are aligned
(section 13 of multi-family-adversary.md: 1.93x at 0.581 placed, 2.09x at 0.72 placed; 2.69x at 0.72 synthesised
on the board identity, the 10.0q figure). The programme's hybrid r0 is the placed, complete-machine, mean-hit
figure.
### 4.2 The window-conditioned 72 percent against the flat control, as the brief states it
The brief reads: the hottest half serves 72 percent because the window model concentrates traffic, and a flat
distribution would give 50 percent. The record's reading (census-packs.md section 3): the 72 percent is the p98
program on the window-conditioned null, the mean over programs is 0.581, and a flat control sits at 1.1 to 1.7x of
the window model's top-0.1-percent share (printed beside the census, not used). The layer-8-off experiment is
PERFORMED and CLOSED (register row 18): with the windows removed the hit of the hottest half is exactly 0.50 at
every program (multi-family-adversary.md section 13 (5)), and the honest side at the knee loses 5.7 percent of rate
and 3.6 to 5.7 percent of joules, so the layer stays ON. The chip-side arithmetic of the brief's conditional cache
calculation holds (misses 0.50 against 0.419 at the mean, +19 percent of DRAM reads; against 0.28 at the tail, +79
percent) and the placed rows say what it buys: the hybrid at hit 0.50 reads 1.85x against 1.93x at the mean and
2.09x at the tail, 4 percent at the mean, 11 at the tail; the honest side pays more than that at the knee. X1 is the
new-consensus-version form of the same question (a class v7 shape without the fixed windows, everything else
frozen) and its traces replace this arithmetic on the hybrid rows when they land.
### 4.3 Layer-8-off and compaction in any figure
Layer 8 off is in NO served or placed figure (every GPU row and every chip row above carries the windows ON; the
hit-0.50 row is a labelled variant). Result compaction (X2) is in NO figure on either side.
### 4.4 The wall-power boundary, both sides
The GPU side's boundary is the card's board power (nvidia-smi, 1 Hz, idle not subtracted), the card alone through
cards-off: it excludes the host, the PSU's loss and the fans' share beyond the card's own. The chip side's boundary
is the complete machine (the core, the memory, the controller and PHY, PSU and VRM losses, cooling, the host's
share). The two are not the same boundary: the GPU's host, PSU loss and case fans are NOT in its 2.33, while the
chip carries about 21 percent of power-train loss, 3 percent of cooling and 0.85 W of host. The reconciliation the
programme should carry: either add the GPU's own machine terms (a mining rig's PSU at 92 percent and its host share,
about +10 percent on the card's figure, approximate) or read the chip at the board identity; the first is the honest
one and moves every served ratio up by about 0.1x. It is NOT applied in this file's r0 (the served convention is
kept so every row stays comparable); it is the first of the three assumptions below.
### 4.5 The node scaling applied
Every chip row is stated at ASAP7 and scaled by claimed factors: N5 (the 5090's class, "same node") x0.70, N3 ("a
node ahead") x0.50, N2 x0.36. The served sentence's "2.0x on the GPU's own node" is the N5 column; "2.2x to 2.4x"
the N3. The memory terms do not scale. The GPU side is measured at its own node and never scaled.
## 5. The r0 the programme uses
| Opponent (complete machine, placed core, same node N5) | r0 | Range | Source rows |
|---|---|---|---|
| The pure DRAM board | 1.5x | 1.3x to 1.7x (the SRAM access band and the memory band) | multi-family-adversary.md section 6 at the placed energy; the 32-lane core the same |
| The stored-half hybrid at the mean hit 0.581 | 1.93x | 1.65x to 2.12x | section 13 (placed) |
| The stored-half hybrid at the tail hit 0.72 (the 10.0q case) | 2.09x | 1.78x to 2.29x | section 13 (placed) |
| The N2 SRAM die | 2.3x | 2.0x to 2.7x | section 6 at the placed energy |
**The reconciled r0 the programme uses is the worst credible opponent's: the pure DRAM board at 1.5x (1.3x to
1.7x) same-node; the hybrid at 1.93x (1.65x to 2.12x) is the X5 sweep's starting row and X1's target.** The
yardstick from 1.5x to 1.5x is nothing; from the hybrid's 1.93x, a 22 percent GPU cut or a 29 percent specialist
rise. A node ahead: the board 1.8x (1.5x to 2.0x), the hybrid 2.4x (2.05x to 2.63x).
The three assumptions most likely to move r0:
1. The boundary mismatch (4.4): putting the GPU's own PSU loss and host share into its figure moves every ratio up
about 0.1x (the board to about 1.6x, the hybrid to about 2.1x), approximate.
2. The frozen-tree control against the class v4 numerator: the served 2.33 is class v4 on a 7 October job; the
frozen class v6 object reads 4.011 microjoules at the lock on the l8off kit's export at the research pairing (a
9 October job on a card reading 13 percent low). The chip's shadow at class v6's op count is the same core on
102,612 ops; if the honest card's class v6 energy per hash is 4.0 against the chip's 1.53, the board ratio reads
2.6x and the hybrid 3.3x, which is the number the programme must reconcile first: either the class v6 object
costs the 5090 1.7x what class v4 did (then the chip's shadow op count for class v6 must be re-read from the
frozen program, not from class v4's 102,100) or the l8off job's absolute is the enclosure-swap artefact. The
hash lane's paired control (class v4 and class v6 in one session on one card, same kit) decides it; until it
lands r0 stays on the class v4 pair.
3. The SRAM macro's access energy (the one modelled chip term; 2.0 to 7.0 pJ per access gives the band's width) and
the hybrid's hit rate (0.50 with the windows off, 0.581 mean, 0.72 tail).
## 5a. The decider in (the hash lane, 09:59 UK): assumption 2 is real, and what it does to r0
One session on a rented RTX 5090 (Vast 54992886, driver 580.105.08, the gen-6 Linux CUDA worker sha 804a6f7f…, 250 batches of
2^24 per pack, board power at 1 Hz, mean from 8 s in, idle not subtracted, stock only; evidence
build-1:/srv/artefacts/tas/x0-pins/x0-run-fk-5090c/, run-x0.log sha 9bc40685…, smi.csv 7ab9f16f…): class v4 v4-devnet-epoch0
(0xa785001687d8688a, fingerprint e370fb2080b7dbb1) 141.963 MH/s at 500.0 W = 3,522 nJ per hash; the frozen class v6 hl-v6-all
(0x9d40978601a7df2a, 59e6708e46f1e87c) 70.900 at 445.1 W = 6,278 nJ; the signing object hl-v6-all-cs (0x2a1d6caab4c24564,
01f51b9d4805e5e6) 70.650 at 457.1 W = 6,470 nJ. Class v6 over class v4: 1.78x and 1.84x in joules per hash, 2.00x in rate; the
house 5090's own pair 1.68x at stock and 1.73x at the 1,300 MHz knee (2,319 against 4,011 nJ). So the served numerator (2.33
microjoules, class v4) understates the frozen object's card cost by about 1.7x, and the only class v6 lock row is 4.01
microjoules per hash on the house 5090.
What it does to r0: the chip must be paired with the card on the same program. X4's read of the exported texts (10:0x UK)
gives the frozen object 256 loads per hash against class v4's 128, so the card's doubled cost per hash is doubled work, and
the chip's memory term doubles with it while its shadow (carried at class v4's 102,612 ALU ops until the hash lane's count lands)
does not. On the consistent class v6 pair (the card 4.011 microjoules at the knee, the chip at 256 loads) every ratio moves UP,
not down: X5's sweep (section 2, pair B) reads the DRAM board 1.85x (1.5x to 2.1x), the stored-half hybrid 2.53x, the N2 die 4.0x
(3.4x to 4.4x) same-node. The earlier worry (a 1.7x structural card cost the chip does not share) is not what the data say: the
cost is loads, which the chip pays too. The programme's r0 is therefore pair B's, with pair A (the served class v4 convention:
the board 1.5x, the hybrid 1.93x, the die 2.44x) kept as the served convention's row until the ALU count lands:
| Opponent, same node | r0, pair A (class v4: the card 2.319, 128 loads) | r0, pair B (the frozen object: the card 4.011, 256 loads, the shadow at class v4's count) | Source |
|---|---|---|---|
| The pure DRAM board | 1.5x (1.3 to 1.7) | 1.85x (1.5 to 2.1) | X5's sweep on the placed core |
| The stored-half hybrid, mean hit | 1.93x (1.65 to 2.12) | 2.53x | the same |
| The N2 SRAM die (the worst credible design) | 2.44x (2.05 to 2.66) | 4.0x (3.4 to 4.4) | the same |
The hash lane's per-family count (10:11 UK): the frozen object executes 62,120 ALU instructions per hash (loads 256, the base
1,024, the per-load address path 5,376, the shadow 55,296 unchanged, the reg64 init and fold 168); class v4 about 56,300; the card
halves its rate on the read count, which the chip pays too. That settles assumption 2 and opens the largest term of all: every
placed chip row charges the chip 102,612 ops per hash (the record's counted-op convention, from which the card's 0.652
microjoules reads 6.4 pJ per counted op), but the chip executes one instruction per lane-op, so at the instruction count its
shadow energy is 0.36 to 0.41 microjoules instead of 0.67 and every ratio rises by 1.3x to 1.6x (X5 section 2: the board 2.05x
and 2.2x, the die 4.3x and 6.3x same-node on the two pairs). Both counts are carried until the hash lane defines the counted op
(asked 10:1x UK, default 10:45); the instruction count is the chip's physics and the default.
## 5b. The amendment (the coordinator's order, 10:1x UK; every row WITNESS E_D): the frozen object's own numerator, the instruction count, the measured hits
Two facts change every chip ratio. (1) The decider (5a): the frozen class v6 object does twice the random dataset reads per hash of
class v4 (256 against 128) with 9 to 10 percent more ALU (62,120 instructions against about 56,300; the hash lane's per-family
read of the signing object, 10:11 UK); the card pays 1.78x to 1.84x the joules per hash at stock on the rented 5090 and 1.68x at
stock / 1.73x at the knee on the house 5090. (2) The units fault (the hash lane, 10:13 UK, from the record's own units table,
attack-pass/f1-shadow.md section 1 and shadow-k.md section 1): the record's "counted op" is unit B, the GPU's micro-op tally (add
5, rotr 2, shfl 2, every other family 1: 1.83 per shadow instruction), so the 102,100 counted ops per class v4 hash are 55,296
instructions; the chip executes one instruction per lane-op and its k was derived per instruction (algorithm.md 5.3), so every
placed row that multiplied 102,612 counted ops by a per-instruction chip energy (chip-model-v3's re-reads, the design document's
10.0r, this lane's sections 4, 6, 13 of multi-family-adversary.md and X5's first tables) overstated the chip's shadow term by
1.85x. The record's own gate unit is the instruction (unit A); the chip datapath count (unit C, rotates as wiring, the constants
hoisted) is lower still, about 50,100 per class v4 hash.
Recomputed on the placed 8-lane 18-family core's per-family energies (ASAP7 placed with SPEF, N5 x0.70, N3 x0.50, claimed)
weighted by the frozen object's own per-family instruction counts: the chip's ALU energy per hash 0.312 microjoules at N5 (0.280
to 0.388; 0.231 at unit C with the rotates as wiring), 0.225 at N3; 5.05 pJ per instruction at N5 (3.64 at N3). The GPU numerator
is the frozen object's own measured joules per hash: the house 5090 at the 1,300 MHz knee 4.011 microjoules (run-ca3-pc1-l8off-5090-
20261008, hl-v6-all, the only class v6 lock row; the card alone, nvidia-smi board power at 1 Hz, idle not subtracted); at stock
6.470 (the signing object on the rented 5090, x0-run-fk-5090c). The board-power boundary excludes the rig's PSU loss and host,
which the chip's machine carries; the wall-meter column adds 10 percent to the card's figure for them (approximate, unmeasured).
The hybrid's hit rate is the measured one for the hottest half: 0.56 on the signing object, 0.61 the mean over programs (the
quarter and three quarters scaled by the same ratio); 0.72 is the p98 tail and is not used. 256 loads per hash on both sides.
Nothing here is a chip measurement; every row is a modelled witness; no pass and no fail is claimed on these lines.
| Opponent (WITNESS E_D, complete machine) | microjoules per hash, same node (band) | USD per MH/s | Knee, same node, hit 0.56 (signing) | Knee, same node, hit 0.61 (mean) | Knee + the wall-meter term (+10 percent on the card) | Stock, same node | Knee, a node ahead | Stock, a node ahead |
|---|---|---|---|---|---|---|---|---|
| The pure DRAM board | 1.707 (1.516 to 2.112) | 8.91 | 2.35x (1.90 to 2.65) | 2.35x (1.90 to 2.65) | 2.58x (2.09 to 2.91) | 3.79x (3.06 to 4.27) | 2.51x (2.02 to 2.83) | 4.05x (3.26 to 4.57) |
| The hybrid, the hottest quarter | 1.362 (1.222 to 1.679) | 7.02 | 2.86x (2.32 to 3.19) | 2.94x (2.39 to 3.28) | 3.24x (2.63 to 3.61) | 4.75x (3.85 to 5.29) | 3.20x (2.59 to 3.58) | 5.16x (4.18 to 5.77) |
| The hybrid, the hottest half | 1.077 (0.973 to 1.322) | 5.11 | 3.49x (2.84 to 3.86) | 3.73x (3.03 to 4.12) | 4.10x (3.34 to 4.54) | 6.01x (4.89 to 6.65) | 4.15x (3.36 to 4.60) | 6.69x (5.43 to 7.42) |
| The hybrid, the hottest three quarters | 0.894 (0.811 to 1.094) | 3.77 | 4.03x (3.29 to 4.45) | 4.49x (3.67 to 4.95) | 4.94x (4.03 to 5.44) | 7.24x (5.91 to 7.98) | 5.11x (4.16 to 5.64) | 8.25x (6.71 to 9.11) |
| The full SRAM die (one N2 reticle) at 1 kW | 0.513 (0.464 to 0.622) | 0.68 | 7.81x (6.45 to 8.65) | 7.81x (6.45 to 8.65) | 8.60x (7.10 to 9.51) | 12.60x (10.41 to 13.95) | 10.01x (8.22 to 11.13) | 16.15x (13.26 to 17.95) |
| Recomputation | 7.000 (6.459 to 8.238) | 7.74 | 0.51x (0.44 to 0.55) | 0.57x (0.49 to 0.62) | 0.63x (0.54 to 0.68) | 0.92x (0.79 to 1.00) | 0.77x (0.66 to 0.84) | 1.25x (1.06 to 1.35) |
The one sentence: at the frozen object's own numerator and the instruction count, the pure DRAM board as a complete machine sits
ABOVE 1.5x by 0.85x (2.35x same-node at the knee, band 1.90x to 2.65x; 2.58x with the wall-meter term; 3.79x at stock; 2.51x a node
ahead), the stored-half hybrid at the measured hit 3.5x to 3.7x, and the N2 SRAM die, the worst credible design and the
programme's a (0.513 microjoules per hash, 0.464 to 0.622), 7.8x; the earlier 1.5x read was two errors in the honest side's
favour (class v4's numerator against a class v6 chip, and the GPU's micro-op tally charged to the chip), not the chip's cost.
What this means for the yardstick: r_new = r0 x g / a from the board's 2.35x needs a 36 percent GPU cut at a = 1 (a 15 plus 20
split reaches 1.66x); from the die's 7.8x no candidate within the brief's arithmetic reaches 1.5x on energy, which puts the
die's hold where the coexistence model put it (its dollars and its project), and the per-joule target at the board. X5's rows
and X6's blind run follow this line; the served energy sentence should not be re-worded from this file (the panel reads it).
## 6. BLOCKED rows
| Row | Why | Owner |
|---|---|---|
| The class v6 paired control at the lock (the rented pod refuses the clock lock; the stock pair is in, section 5a) | stock done 09:59 UK; the knee pair is the house 5090's 1.73x | the hash lane |
| The definition of the record's "counted op" | CLOSED 10:13 UK: unit B, the GPU's micro-op tally (1.83 per instruction); the chip's unit is the instruction (5b) | the hash lane |
| The chip's op count on the frozen program (the shadow's 55,296 writes in r0..r7, the base program's 512, the loads' 128 at W = 1: read from 1a938abe4's generator, not from class v4) | the chip rows use the class v4 draw's weights; the frozen program's per-family counts are owed | this lane, with the hash lane |
| The GPU's own machine terms (PSU, host) | not measured; approximate +10 percent | the hash lane (a wall meter on the rig) |
## 7. Sources
The hash lane's pin line (09:58 UK) and build-1:/srv/artefacts/tas/x0-pins/; the gpu-row-recipe.md (sha cbab453c…);
docs/analysis/class-v6/multi-family-adversary.md (master e3d0208d); docs/analysis/class-v6/coexistence-model.md (line
537); docs/analysis/class-v6/census-packs.md (sha 146b578c…); docs/design/class-v6-rotating-family.md 10.0h, 10.0i,
10.0q, 10.0r (sha 6eaf43bd…); docs/analysis/counter-asic-4-research.md 15.1a and 20.3 (sha 82af4424…);
docs/analysis/class-v6/floor/denominator.md (sha a4ec182a…); the register rows 18 and 105 to 126.

View file

@ -0,0 +1,168 @@
# X5: the co-optimised full opponent sweep (the 1.5x programme, 9 October 2026; first rows 09:4x UK on the frozen control)
The adversary lane with the floor lanes under it. The sweep: the pure DRAM board, the hybrid at stored fractions 0.25,
0.5 and 0.75, the full SRAM store and recomputation, each as a complete machine (the memory devices, controller and
PHY, the core die sized to the memory's sustained rate, PSU and VRM losses, cooling, the host's share) at the
calibrated node, with its power, area and throughput; the worst credible design retained as the specialist side a.
The tool: `tools/1p5x/x5/sweep.py` (run on build-4 under the lease pool with a pid file; seconds). Every row is a
MODEL on the placed core's measured energies and the record's claimed memory figures; no chip is measured; the
vocabulary is NOT RUN / BLOCKED / FAIL / PASS and this lane never writes PASS. The registry batch for these rows reads
NOT RUN (`tools/ci/batches/adversary-20261009-x5.json`) until X6 runs the model blind.
## 1. Sources by sha
- The core: the placed 8-lane 18-family core, 6.55 pJ per lane-op at N5 on the class v4 draw (6.02 to 7.78), class-v6-adversary
f5a82bf6a `tools/chip-model/mf/results/table.csv` (ASAP7 placed with SPEF, gate-level VCD, the SRAM window a FakeRAM 64x256 macro per 8
lanes with its access energy modelled at 3.5 pJ, 2.0 to 7.0); the node scaling N5 = ASAP7 x0.70, N3 = N5 x0.72 (claimed).
- The frozen control's counts: 102,100 shadow ops, 512 base, 128 loads at W = 1 (X0 section 3; the frozen program's own per-family
counts BLOCKED, X0 section 6).
- The honest card: the 5090 at its 1,300 lock, 2.319 microjoules per hash (X0 section 2, job run-ca3-pc1-v4-eff-5090-20261007-b).
- The memory: chip-model-v3.md 5.3 and 5.5 (GDDR7: 2.0 nJ per random read, 1.5 to 2.6; 21.3 G activates per second, 82 percent
sustained, the high case at the 5090's measured 17.5 G; 20 W static, 15 W controller; USD 320 of devices); the SRAM read at W = 1
0.25 nJ (0.20 to 0.35), floor lane 3 2.1; SRAM USD 250 per GiB and 15 W per GiB static (claimed, approximate); the N2 die USD 500.
- The hit rates (the window layer ON, the frozen control): the hottest half serves 0.581 of reads on the mean program (the hash lane's
reconcile, coexistence-model.md line 537), the quarter 0.341 and the three quarters 0.720 scaled from adv-cache-2's distribution by the
same ratio (approximate); the p98 program's 0.7188 is the tail. X1's traces replace these on the hybrid rows when they land.
- The machine terms: `tools/chip-model/mf/flow/board.py` (PSU 92 percent, VRM 90, cooling 3, one node per 100 machines).
## 2. The rows on the frozen control: two consistent pairs (the first run 09:43 UK; the class v6 pair 10:1x UK, build-4)
The chip side must be paired with the card side on the SAME program. Two consistent pairs exist today: (A) the class v4 pair, the
served convention (the card 2.319 microjoules per hash at the lock, the program 128 loads and 102,612 ALU ops: X0 section 2);
(B) the class v6 pair, the frozen object (the card 4.011 microjoules at the lock, the house 5090's only class v6 lock row, X0 5a;
the program 256 loads per hash, X4's read of the exported texts, with the ALU count carried at 102,612 until the hash lane's
line). Pair A is the first table (09:43 UK, 128 loads); pair B the second. The yardstick's r0 is pair B's, the frozen object's.
Pair A (class v4, 128 loads, the card 2.319), same node (N5), the card over the machine; the band is the SRAM access band and
the memory band together; "credible" is a capital per MH/s under ten times the card's USD 15.9:
| Variant | Sustained MH/s | Machine W | microjoules per hash (band) | Core lanes | Core mm^2 (N5) | Capex USD | USD per MH/s | Ratio (band) | Credible | Retained |
|---|---|---|---|---|---|---|---|---|---|---|
| The pure DRAM board (16 GDDR7 devices) | 136 | 209 | 1.528 (1.380 to 1.851) | 104,960 | 210 | 661 | 4.84 | 1.52x (1.25 to 1.68) | yes | |
| The hybrid, the hottest 25 percent in 0.5 GiB of SRAM (hit 0.341) | 207 | 283 | 1.367 (1.244 to 1.649) | 159,272 | 319 | 825 | 3.98 | 1.70x (1.41 to 1.86) | yes | |
| The hybrid, the hottest 50 percent in 1.0 GiB (hit 0.581) | 326 | 402 | 1.235 (1.128 to 1.483) | 250,502 | 501 | 1,015 | 3.12 | 1.88x (1.56 to 2.06) | yes | |
| The hybrid, the hottest 75 percent in 1.5 GiB (hit 0.720) | 487 | 561 | 1.151 (1.054 to 1.378) | 374,859 | 750 | 1,230 | 2.52 | 2.02x (1.68 to 2.20) | yes | |
| The full SRAM store (one N2 reticle, 2 GiB at W = 1) at a 1 kW budget | 1,419 | 1,350 | 0.951 (0.872 to 1.129) | 1,091,866 | 2,184 | 1,701 | 1.20 | 2.44x (2.05 to 2.66) | yes | the worst credible design on pair A |
| Recomputation: the hottest half in SRAM, the other 42 percent derived on the core, no DRAM | 251 | 1,359 | 5.411 (4.988 to 6.379) | 1,138,480 | 2,277 | 1,285 | 5.11 | 0.43x (0.36 to 0.46) | yes | loses at every point |
Pair B (the frozen class v6 object, 256 loads, the card 4.011 at the knee), same node:
| Variant | Sustained MH/s | Machine W | microjoules per hash (band) | Core lanes | Core mm^2 | Capex USD | USD per MH/s | Ratio, the card over the machine (band) | Credible (USD per MH/s under 10x the card) | Retained |
|---|---|---|---|---|---|---|---|---|---|---|
| the pure DRAM board (16 GDDR7 devices, 64 channels, 32 GB) | 68 | 148 | 2.172 (1.944 to 2.661) | 52,480 | 105 | 623 | 9.13 | 1.85x (1.51 to 2.06) | yes | |
| the hybrid, the hottest 25 percent of items in 0.5 GiB of SRAM beside the DRAM (hit 0.341); SRAM USD 125 claimed | 104 | 192 | 1.850 (1.671 to 2.257) | 79,636 | 159 | 767 | 7.41 | 2.17x (1.78 to 2.40) | yes | |
| the hybrid, the hottest 50 percent of items in 1.0 GiB of SRAM beside the DRAM (hit 0.581); SRAM USD 250 claimed | 163 | 258 | 1.585 (1.440 to 1.924) | 125,251 | 251 | 925 | 5.68 | 2.53x (2.08 to 2.79) | yes | |
| the hybrid, the hottest 75 percent of items in 1.5 GiB of SRAM beside the DRAM (hit 0.720); SRAM USD 375 claimed | 244 | 345 | 1.417 (1.292 to 1.715) | 187,429 | 375 | 1,095 | 4.49 | 2.83x (2.34 to 3.10) | yes | |
| the full SRAM store (one N2 reticle, 2 GiB at W = 1) at a 1 kW budget; the die USD 500 claimed; the reconciled ticket USD 1.0 per MH/s (0.5 to 1.6) | 1358 | 1347 | 0.992 (0.905 to 1.187) | 1,044,425 | 2089 | 1,667 | 1.23 | 4.04x (3.38 to 4.43) | yes | WORST CREDIBLE: a |
| recomputation: the hottest half in SRAM, the other 42% of items derived on the core (1,003,991 extra ops per hash), no DRAM; the core-bound rate at a 1 kW budget | 137 | 1359 | 9.907 (9.132 to 11.681) | 1,137,987 | 2276 | 1,284 | 9.36 | 0.40x (0.34 to 0.44) | yes | |
The retained specialist side: the full SRAM store (one N2 reticle, 2 GiB at W = 1) at a 1 kW budget at 0.992 microjoules per hash (0.905 to 1.187); its ratio from the card's 4.011: 4.04x (3.38 to 4.43).
A node ahead (N3) on pair B: 2.07x (1.68 to 2.32); 2.48x (2.03 to 2.75); 2.97x (2.44 to 3.27); 3.39x (2.79 to 3.72); 5.34x (4.46 to 5.87); 0.55x (0.47 to 0.60).
The op count the chip executes (the hash lane's per-family read of the signing object, 10:11 UK): the frozen object is 62,120
ALU instructions per hash (loads 256, the base 1,024, the per-load address path 5,376, the shadow 55,296 unchanged from class v4,
the reg64 init and output fold 168); class v4 about 56,300. The two tables above carry the record's COUNTED-OP convention
(102,612 per hash, the figure every served chip row rests on, from which the card's 0.652 microjoules reads 6.4 pJ per counted
op); the chip executes one instruction per lane-op, so at the INSTRUCTION count its shadow energy is 0.36 to 0.41 microjoules
per hash instead of 0.67, and every ratio rises. Both counts are carried until the hash lane says what a counted op is (asked
10:1x UK, default 10:45): the instruction count is the chip's physics and the default; the counted-op rows are the record's
convention.
Both pairs at the INSTRUCTION count, same node, the card over the complete machine:
| Variant | Pair A, instructions (56,300; the card 2.319): microjoules (band), ratio | Pair B, instructions (62,120; the card 4.011): microjoules (band), ratio | Pair B a node ahead | USD per MH/s (pair B) |
|---|---|---|---|---|
| The pure DRAM board | 1.129 (1.012 to 1.381), 2.05x (1.68 to 2.29) | 1.823 (1.622 to 2.250), 2.20x (1.78 to 2.47) | 2.39x (1.93 to 2.69) | 8.91 |
| The hybrid, the hottest quarter (hit 0.341) | 0.968 (0.875 to 1.179), 2.40x (1.97 to 2.65) | 1.501 (1.349 to 1.846), 2.67x (2.17 to 2.97) | 2.95x (2.39 to 3.29) | 7.19 |
| The hybrid, the hottest half (hit 0.581) | 0.835 (0.760 to 1.013), 2.78x (2.29 to 3.05) | 1.236 (1.118 to 1.513), 3.25x (2.65 to 3.59) | 3.67x (2.98 to 4.06) | 5.46 |
| The hybrid, the hottest three quarters (hit 0.720) | 0.752 (0.686 to 0.908), 3.09x (2.55 to 3.38) | 1.068 (0.971 to 1.304), 3.76x (3.08 to 4.13) | 4.33x (3.53 to 4.77) | 4.28 |
| The full SRAM store (one N2 reticle) at 1 kW | 0.540 (0.493 to 0.646), 4.29x (3.59 to 4.70) | 0.633 (0.574 to 0.764), 6.34x (5.25 to 6.99) | 8.24x (6.80 to 9.12) | 0.77 |
| Recomputation (the half stored, the rest derived) | 4.998 (4.607 to 5.893), 0.46x (0.39 to 0.50) | 9.547 (8.799 to 11.256), 0.42x (0.36 to 0.46) | 0.57x (0.49 to 0.62) | 9.02 |
Reading. (1) At the instruction count the worst credible design is the die at 4.3x on pair A and 6.3x on pair B same-node (5.7x
and 8.2x a node ahead); the board 2.05x and 2.20x; the hybrids 2.4x to 3.8x. At the counted-op count (the tables above) the die
2.44x and 4.0x, the board 1.52x and 1.85x. The op-count definition is the largest single open term in the programme's r0 (a
factor of 1.3x to 1.6x on every chip ratio) and is the hash lane's to close. (2) On the frozen object the card pays 1.73x class
v4's joules for twice the loads, and the chip's memory term doubles while its ALU term grows 10 percent, so every pair-B ratio
sits above its pair-A row: the read count is the chip's cost too, but the card's per-read cost is 4x the chip's (8.7 nJ against
2.0). (3) Recomputation loses at every point and is never credible; the hybrids' ratio rises with the stored fraction and their
capital per MH/s falls. (4) The core's lanes are a tenth or less of every machine's capital except the die's, where the core is
3x the memory's silicon; the per-box placements (section 4) bracket the placement factor, which no single-port interleaving
changes.
## 3. a, and the ratio from r0 with X1's g
The programme's a is the worst credible design's energy per accepted hash on the frozen object (pair B), the N2 SRAM die: 0.992
microjoules at the counted-op count (0.905 to 1.187), 0.633 at the instruction count (0.574 to 0.764); r0 for the die 4.0x to
6.3x same-node across the two counts (5.3x to 8.2x a node ahead); the DRAM board 1.85x to 2.2x. r_new = r0 x g / a: from the
die's 4.0x the honest card must cut its energy per hash by 63 percent at a = 1 for 1.5x and no 15 plus 20 split reaches it
(2.8x); from 6.3x, 76 percent. The X1 candidate's g (the card's class v7 energy over its class v6 energy, same card, same session)
and its traces re-run the hybrid rows and move nothing on the die (it serves every read whatever the distribution). BLOCKED until
X1 lands: g; the hybrid rows on the traces. BLOCKED on the hash lane: the counted-op definition (section 2).
## 4. The co-optimised core (the per-variant hosts; PENDING with clocks)
The 5-phase single-port slot buys the adversary energy (one macro access serves eight lanes; the units isolated) and pays in lanes:
105,000 lanes for the board, 1.1 million for the die. The co-optimised form interleaves four hash contexts per lane group on one
FakeRAM 256x256 macro (4 contexts x 64 registers x 8 lanes), so a lane group issues four ops per five cycles instead of one: the same
accesses per op, a 256-deep macro (its access about 4.5 pJ, 2.5 to 9.0, approximate), a quarter of the lanes and about a third of the
core's silicon and leakage. It changes the die's capital (USD 1.20 to about 0.6 per MH/s) and its leakage (the core's 55 W at 1.1 M
lanes to about 15), and so the die's a by a few percent; it changes the board's row under 1 percent. The RTL variant (`core_mf` with a
context index on the macro address and the phase counter) synthesises and places on the build boxes the coordinator assigns per
variant (the founder's order of 10:2x UK: build-2, 3, 5, 6, 7 and 8, one design each; no rented host); the converged SPEF row of the 32-lane core at 22 percent utilisation runs on build-4 (pid file
build-1:/srv/queue/pids/build-4-floorplan.pid, started 09:35 UK, about 13:30). Rows by 12:30 where the hosts land them; else PENDING
with the morning's clock.
## 5. How X6 evaluates a (pack, seed) pair blind
`python3 tools/1p5x/x5/sweep.py --rows tools/chip-model/mf/results/table.csv --node N5 --trace <pair.json> --json <out.json>` on any
box with python3, under a pid file. The trace JSON: `{"ops_per_hash": N, "loads_per_hash": L, "hit": {"0.25": h, "0.5": h, "0.75":
h}}`, the pair's own op count, load count and the fraction of its reads served by the hottest quarter, half and three quarters of
its items (the attack-f8 item histogram over the pair's nonces; X6 draws them). The retained design and its energy per accepted work
are the row marked retained; `--node N3` for a node ahead; `--gpu-uj` the card's energy for the same pair. The P03 cost lines (the
GPU-side cost of the candidate against the control) are the hash lane's measured rows, never this tool's.
## 6. BLOCKED and NOT RUN
| Row | State | Why |
|---|---|---|
| The hybrid rows on X1's traces | BLOCKED | X1's traces (11:30 UK) |
| g for r_new | BLOCKED | X1's paired card rows |
| The numerator on the frozen class v6 object | BLOCKED | the hash lane's paired class v4 against class v6 control (X0 assumption 2) |
| The co-optimised core's placed rows | PENDING | the assigned build boxes; by 12:30 or the morning's clock |
| The converged SPEF row (32-lane, 22 percent) | PENDING | build-4, about 13:30 |
| Every row of this file in the registry | NOT RUN | X6's blind run |
## 7. B5 (the research plan's Track B item, the coordinator's ask of 10:0x UK): the full-SRAM design on fresh state and the near-memory design, as WITNESS rows
The unit is Track B's proof-carrying, input-specific memory-work unit (an MTP / DRSample labelling of N labels of 32 bytes per
instance, the state built fresh per instance, in-degree 2, the proof search small beside the construction); the unit is PROVISIONAL
until the B2 lane defines the lottery-contribution and security-budget comparison, and NO ratio is written (no GPU side exists for
the unit until B3); the design goal for Track B is 1.25x with the guardband of the plan's section 3.6 (1.25 x 1.05 / 0.90 = 1.46)
beside the programme's 1.5x yardstick. Every row is a WITNESS (E_D), a modelled design the specialist could build, never a BOUND
(L), which is the B4 theory lane's. The tool: `tools/1p5x/x5/b5.py` (build-4, seconds; the label hash taken at 1,000 ALU ops on
the placed core, a provisional Blake2-class count the B1 reference replaces; the SRAM write 0.30 nJ per label, 0.25 to 0.45, the
read 0.25, 0.20 to 0.35, the N2 die's wire figures; the PIM in-bank access 0.35 nJ, 0.25 to 0.5, approximate from the HBM2
breakdown's data-movement share; one hash unit per pseudo-channel, 32 per stack, the chain sequential per instance).
| Design (WITNESS E_D) | State per instance | Labels N | Core energy per instance (microjoules) | Memory energy per instance | Energy per instance, device (band) | Instances per second per machine | Chains in flight | SRAM held (GiB) | Core lanes | Core mm^2 | Machine W | Energy per instance, whole machine | Capex USD | USD per (instance per second) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| fresh-state full SRAM | 32 MiB | 1,048,576 | 6,868 | 576.7 | 7,445 (6,791 to 9,012) | 134,320.33 | 1,055,810 | 32,994.1 | 1,055,810 | 2,112 | 616,960 | 4,593,197 | 8,249,477 | 61 |
| near-memory (PIM) on one HBM3 stack | 32 MiB | 1,048,576 | 6,868 | 734.0 | 7,602 (6,843 to 9,222) | 4.07 | 32 | 0.0 | 256 | 1 | 5 | 1,235,621 | 550 | 135 |
| fresh-state full SRAM | 128 MiB | 4,194,304 | 27,473 | 2,306.9 | 29,780 (27,162 to 36,048) | 33,580.08 | 1,055,810 | 131,976.3 | 1,055,810 | 2,112 | 2,463,910 | 73,374,159 | 32,995,027 | 983 |
| near-memory (PIM) on one HBM3 stack | 128 MiB | 4,194,304 | 27,473 | 2,936.0 | 30,409 (27,372 to 36,887) | 1.02 | 32 | 0.0 | 256 | 1 | 5 | 4,942,483 | 550 | 541 |
| fresh-state full SRAM | 512 MiB | 16,777,216 | 109,891 | 9,227.5 | 119,118 (108,649 to 144,192) | 8,395.02 | 1,055,810 | 527,905.1 | 1,055,810 | 2,112 | 9,851,712 | 1,173,518,537 | 131,977,226 | 15,721 |
| near-memory (PIM) on one HBM3 stack | 512 MiB | 16,777,216 | 109,891 | 11,744.1 | 121,635 (109,488 to 147,547) | 0.25 | 32 | 0.0 | 256 | 1 | 5 | 19,769,931 | 550 | 2,162 |
Reading. (1) On fresh state the full-SRAM design's cost per instance is the construction's core energy (N hashes at 1,000 ops: 6.9
joules per 512 MiB instance, 0.43 per 32 MiB), with the SRAM's write and read energy under a percent of it, so the design does
not escape the labelling's cost by holding the state in SRAM: what the SRAM buys it is the sequential chain's speed (a label every
7.5 microseconds on one lane group) and the instances it can hold in flight, and what it pays is the SRAM held (the chains in flight
times the state, 2.4 to 38 GiB for the 32 to 512 MiB instances at 1 kW: the capital column). (2) The near-memory design is bound by
the chain: one instance per hash unit, 32 units per stack, so a 512 MiB instance's stack runs 32 chains and finishes one instance
every 250 ms per unit; its energy per instance is the same core energy (the hash is the cost, not the access) with the in-bank
access a third of the across-interface figure, which changes the device energy under a percent. (3) So for this unit the memory
technology is not where the specialist's energy goes; the hash's per-op energy on the core is, which puts the Track B question
where the plan's B4 puts it: the energy of accepted proofs under partial evaluation, shortcuts and amortisation, a bound, not a
witness. These rows stay the witness the B4 bound must beat.

View file

@ -922,4 +922,11 @@ per hash for the whole-window coupling, 1.2 percent of its shadow energy, and th
from 1.5x to 1.49x same-node (not to 1.42x, which was the literal fold's cost); the card meanwhile keeps the fold
at 6.20 nJ per hash on the 5090 and would pay 7.13 on the prefix form. The two shapes together: the chip's cost of
the coupling is 8 nJ (connected-state shape, prefix form) to 56 nJ (shipped shape, literal form), 0.02x to 0.08x
of the bracket, and no design in the record charges the chip a 63-read cost it can avoid.
of the bracket, and no design in the record charges the chip a 63-read cost it can avoid. (6) X4's corrections (10:0x UK,
9 October; tools/1p5x/x4/chip_rows.py on 1p5x-x4, read from the exported class v6 texts): the class executes 256 loads
per hash (32 per iteration x 8), not 128, so the literal fold on the shipped shape is 16,128 ops and reads, 113 nJ at
the slot pricing (23 nJ at the datapath pricing); and the running total gives S but not the prefix P_s the identity
needs at every load, so the cheapest byte-identical form keeps 8 group sums (groups 1..7 moved on the base program's
writes to r8..r63, group 0 recomputed at each load: 7,560 ops, 2,784 extra reads, 36,864 flop bits, +32 B of state per
lane), 10 to 52 nJ per hash (the datapath to the slot pricing), which replaces the 7 nJ (5 to 10) row above; the
bracket moves 0.01x to 0.08x either way.

File diff suppressed because one or more lines are too long

View file

@ -42,7 +42,7 @@ subsidy of the table below; a pool sees the same numbers per block found. Neithe
| the node's issuance code | igneum-node bf60948a (release-2.0.3-node-k6); the six files that decide issuance are byte-identical in release-2.0.2-node a284380b: consensus/core/src/emission.rs, consensus/core/src/igneum.rs, consensus/src/processes/coinbase.rs, consensus/core/src/config/params.rs, consensus/src/processes/window.rs, consensus/src/processes/difficulty.rs |
| the volume's rules | docs/plans/igneum-2.0-master/token-value/rules-and-gates.json, sha256 10ce307329e1663d... (TV-02, VR-02, D01) |
| the published words | site/litepaper.html (sha256 35ac65e151339089..., blob db1b8bf7b1d2) and site/economics.html (sha256 449c20b85cc4eede..., blob b15926199f06), both at master 6824d49cc32d |
| the TV-01 supply spec | docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json (schema 1.0.0) at the TV-01 lane's branch tip tv-01-supply-spec 9cd091303 ("TV-01 complete"), blob bdddb09df2cd, sha256 3ffdd3084aff06d963df6c326cda88719d576f07d9cbfb56079de1a8b40c4403; not yet on master when B ran on it (09:0x UTC). Mapped to B's rules by tools/token-value/tv-02/replay-spec/tv01_adapter.py (rules-tv01-spec.json, sha256 061fa669be287b73...), which refuses any rule it cannot map |
| the TV-01 supply spec | docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json (schema 1.0.0) at the TV-01 lane's branch tip tv-01-supply-spec 9cd091303 ("TV-01 complete"), blob bdddb09df2cd, sha256 3ffdd3084aff06d963df6c326cda88719d576f07d9cbfb56079de1a8b40c4403; not yet on master when B ran on it (09:0x UTC); the spec landed on master at 163c9e3c5 (10:10 UK) byte-identical, the same sha256, so this run is the run on the landed spec. Mapped to B's rules by tools/token-value/tv-02/replay-spec/tv01_adapter.py (rules-tv01-spec.json, sha256 061fa669be287b73...), which refuses any rule it cannot map |
| B's interim rule sets, before the spec | the two below, run first (08:22 UTC) |
| B's rules v0 (words only) | tools/token-value/tv-02/replay-spec/rules-v0-litepaper.json, sha256 67707b095584d8bb8bc99e799875b8d167512085385ea6883bc12575d98fbb33 |
| B's rules v0.1 (v0 plus the genesis rule) | tools/token-value/tv-02/replay-spec/rules-v0.1-genesis-rule.json, sha256 d72d5578dfe4e0c860b45fdb37a749dd7f1b0365175a38349dd413b1e93eb0b9; the genesis rule from the node lane's written answer (9 October 2026, 09:25 UK), cited by file and line |
@ -151,14 +151,14 @@ read back over the EVM RPC on 8 October 2026); this replay did not read the chai
| id | row | state | waits on, earliest clock |
|---|---|---|---|
| R1 | B re-ran on the TV-01 spec at 9cd09130 (EQUAL above). If the spec changes before or when it lands on master, B re-runs on the landed sha (under a minute on build-6; the adapter refuses an unmapped rule) | NOT RUN | the spec's landing on master |
| R1 | B ran on the TV-01 spec; the copy landed on master at 163c9e3c5 is byte-identical (sha256 3ffdd308...), so the EQUAL rows above stand on the landed spec. A later spec version re-runs in under a minute (the adapter refuses an unmapped rule) | NOT RUN | the independent panel |
| R2 | The genesis rule (genesis issues nothing, block h carries DAA score h - 1) is now stated in the TV-01 spec (rules.genesis_rule, "genesis-unrewarded"); the litepaper and economics page still do not state it, and a reader of the words alone reproduces the supply one block early (the v0 divergence above) | NOT RUN | the site lane, if the served words take it |
| R3 | The per-block order at more than one block a second (the per-second rate divided by the blocks a second and floored, then the ramp) is stated in the TV-01 spec (rules.per_block); B had assumed it from the words and it matches the node | NOT RUN | none |
| R4 | The TV-01 spec names the mainnet profile (MAINNET_PARAMS, 10 blocks a second) as the monetary contract; the litepaper says "1 / s blocks, rising to 10 (designed)". At 10 the supply differs from 1 by 15,473,592,000 base units (0.000000015 IGN) and ends six years earlier (year 124, not 130) | NOT RUN | none for TV-02 |
| R5 | The 8-decimal and 18-decimal schedules are not the same coin amounts after the first halving (3,168,808,781 is odd, so the 8-decimal halving floors and the 18-decimal one does not): the 18-decimal supply is 10.74 IGN larger. igneum.rs's comment that the 18-decimal numbers are "the 8-decimal ones times 10^10" holds for the launch rate only. Informational; no network mixes the two | NOT RUN | none |
| R6 | The testnet-1 object carries a percent tail (`EmissionSchedule::TESTNET_1`, no cap). D01 ratified capped issuance; that object is outside it and was not replayed | BLOCKED | TV-01, D01 |
| R7 | DEVNET4_GENESIS carries the 8-byte subsidy layout on an 18-decimal network: read at 16 bytes its subsidy field is 134825277635862783248051596202800963840 base units (A's genesis-payload output). The window rule keeps it from ever being paid (the node lane, 09:25 UK); any other reader of that field (an explorer, an executor path) must apply the same rule. The node lane takes the B10 test case for devnet-3 and devnet-4 as a 2.0.3 test item | NOT RUN | the node lane's 2.0.3 test |
| R8 | The rest of the gate's procedure: paid (the 80/20 split is by subtraction, so producer plus pool equals the subsidy per block by construction), burned (the pool's OP_RETURN script on devnet v0), locked, outstanding, red and non-DAA blocks in a DAG, the execution layer's ledger, duplicate records, wrappers. This replay covers issued supply on a straight chain and its reorg only | NOT RUN | a later TV-02 item |
| R8 | The rest of the gate's procedure: paid (the 80/20 split is by subtraction, so producer plus pool equals the subsidy per block by construction), burned (the pool's OP_RETURN script on devnet v0), locked, outstanding, red and non-DAA blocks in a DAG, the execution layer's ledger (the TV-01 spec's supply_accounting and conflicts C06 to C08: native supply is the EVM credit, blue blocks only; the UTXO OP_RETURN 20 percent is not a burn; C08 BLOCKED, mainnet and devnet-4 credit a merged block at the chain block's DAA score on the EVM side), duplicate records, wrappers. This replay covers the scheduled issuance on a straight chain and its reorg only | NOT RUN | a later TV-02 item |
| R10 | The compiled mainnet genesis still carries Kaspa's DAA score 1,312,860 (the TV-01 spec's C09, BLOCKED there). Both replays and the spec's profile take genesis at DAA 0; a mainnet genesis at 1,312,860 would start the schedule 131,286 seconds into the ramp | BLOCKED | TV-01's C09, the node lane |
| R9 | Independence: A and B share no code, language or method, but one lane wrote both and B's rules were written after reading the node; the panel should weigh that | NOT RUN | the independent panel |

View file

@ -2,6 +2,8 @@
Status: **NOT RUN**. Phase 0 lands documents and tests only; nothing activates. The independent panel reads this model; until it does, every verdict below reads NOT RUN, and the rows that wait on an unratified choice read BLOCKED. This document never writes PASS.
Nothing in this document is a value, price or return claim (VR-04): it models what the ratified rules route to each role in native units and what the roles cost, and it never states what a coin is worth.
Every figure on this page and in the CSVs beside it is written by `tools/token-value/tv-04/tv04_budget.py` from `tools/token-value/tv-04/inputs.json`. No price figure appears anywhere in it (VR-04 and the never-published list); the minus-90-percent case is a 0.1x multiple of the 1x path.
## The gate
@ -22,9 +24,9 @@ TV-04, Security budget without price rescue (the volume, p. 58; rules-and-gates.
| The node, release-2.0.2-node a284380b | `consensus/core/src/fees.rs` | `5e7a319c0fc538a6960e18ee02d3c23a0f514cef27fff6f4fdaa727c484d3136` |
| The node, release-2.0.2-node a284380b | `igneum/exec/src/config.rs` | `fdc4ba56109ddab4dadfe3d184247cf2cda8774dc5542337acaa38c8da716aaf` |
| The node, release-2.0.2-node a284380b | `igneum/exec/src/executor.rs` | `ff12ef5fed88f1cd1d1449c6878a5acc0f7efe098abad7315791d59b5c5cc79c` |
| The TV-01 supply spec | `docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json` | not in the tree |
| The TV-01 supply spec | `docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json` | `3ffdd3084aff06d963df6c326cda88719d576f07d9cbfb56079de1a8b40c4403` |
The supplied master original reads `c878ee4f80adf1da58fcc78fb91a8008de2e9fc44060bec143d020a780c5093e` in the volume's original_artifacts; the tree carries the light edition of the same substance. The TV-01 supply spec: not in the tree at generation; the node's code (release-2.0.2-node a284380b) is the source.
The supplied master original reads `c878ee4f80adf1da58fcc78fb91a8008de2e9fc44060bec143d020a780c5093e` in the volume's original_artifacts; the tree carries the light edition of the same substance. The TV-01 supply spec: reconciled: all 27 checks agree to the base unit (tv01-reconcile.csv).
## The ratified rules this model applies
@ -41,8 +43,8 @@ The supplied master original reads `c878ee4f80adf1da58fcc78fb91a8008de2e9fc44060
## Method
1. The schedule. The node's `EmissionSchedule::CURRENT` on the mainnet params (emission.rs lines 103 to 110; params.rs line 1858): 3,168,808,781 base units a DAA second at 8 decimals, a 2,592,000-second ramp from 10%, the rate halved every 63,115,200 DAA seconds, the tail the cap. Each year's emission is the node's closed-form scheduled supply at the year's end minus its start, in integers. The rate reaches zero after 32 halvings (64 years) and sums to 3,963,038,988 coins under the 4,000,000,000 cap. Per-block rounding (the per-block floor of the rate and the pool's floor) moves a year's figures by under 7 coins at up to ten blocks a second.
2. The baseline. The whole year-1 subsidy, 963,038,999 coins (963038999.99163249), the ramp included. One BU is its purchasing power on the 1x path.
1. The schedule. The node's `EmissionSchedule::CURRENT` on the mainnet params (emission.rs lines 103 to 110; params.rs line 1858, rescaled to 18 decimals; 10 blocks a second as compiled, params.rs line 1789): 31,688,087,810,000,000,000 base units a DAA second, a 2,592,000-second ramp from 10%, the rate halved every 63,115,200 DAA seconds, the tail the cap. Each year's emission is what nodes pay: one subsidy per DAA score, the per-block floor of the rate, the ramp's floor and the pool's floor applied per block (emission.rs lines 329 to 333; igneum.rs lines 201 to 208), summed in integers. The per-block subsidy reaches zero at halving 62, from the start of year 125 and the schedule sums to 3,963,038,999 coins under the 4,000,000,000 cap. The node's closed form (scheduled supply, per-block rounding ignored) gives year 1 as 963038999.991632485500000000, +11,520,000 base units from the per-block sum.
2. The baseline. The whole year-1 subsidy, 963,038,999 coins (963038999.991632485488480000), the ramp included. One BU is its purchasing power on the 1x path.
3. The routing. Emission: 80% to the block's producer (miners), 20% to the proving pool (internal provers), nothing to validators or maintenance (igneum.rs lines 43 to 44, 85 to 88, 123 to 126; the signing bonus is off on the mainnet params, lines 1809 to 1810). Fees: the base fee of both gas dimensions burned in full; the tip 80% to the beneficiary and 20% to developers (exec config.rs lines 75 to 76). External jobs: zero; the published 90/10 is UNRATIFIED under D04 and enters no row.
4. The scenarios. Multiples 0.1x (the minus-90-percent case), 0.25x, 1x, 4x and 10x of the baseline's purchasing power, each one constant over the whole horizon, so no row assumes appreciation. Native receipts are the same in every scenario; the multiple scales what they buy.
5. The cost side. The volume gives no cost figure (p. 14 lists what counts as revenue; p. 31 the maintenance evidence) and the master gives stress grids, not role costs (p. 68, P12: tariffs, productive lives, development cases; p. 36: historical shard timings, not reproduced for this edition). So each role's minimum cost is a PANEL cell in BU, empty here. For each cell the model gives the fundable-cost ceiling, multiple x role receipts / baseline: a panel cost above it is the failure region.
@ -55,7 +57,7 @@ Every cell's status: RATIFIED (the founder's ratification), IMPLEMENTED (the nod
| Id | Parameter | Value | Status |
|---|---|---|---|
| S-rate | launch rate | 3168808781 | IMPLEMENTED |
| S-rate | launch rate | 31688087810000000000 | IMPLEMENTED |
| S-ramp | launch ramp | 2592000 s from 10% | IMPLEMENTED |
| S-step | decay step | 63115200 s, rate divided by 2 | IMPLEMENTED |
| S-tail | tail | cap | RATIFIED (D01) and IMPLEMENTED |
@ -67,7 +69,7 @@ Every cell's status: RATIFIED (the founder's ratification), IMPLEMENTED (the nod
| R2-base | base fee, both gas dimensions | 100% | IMPLEMENTED |
| R3-tip-miner | priority fee (tip), beneficiary share | 80% | IMPLEMENTED |
| R3-tip-dev | priority fee (tip), developer share | 20% | IMPLEMENTED |
| R3-tip-provers | priority fee (tip), provers' part | 0% | **BLOCKED** |
| R3-tip-provers | priority fee (tip), provers' part | 0% | IMPLEMENTED (TV-01 C10 resolved, confirmed by the node lane 10:06 UK: the code, none to provers; the design's proving payment is on an unmerged branch with no activation) |
| R4-external-launch | external job at launch (customer's chain) | not used (zero) | **UNRATIFIED** |
| R5-external-bridge | external job after the proof bridge | not used (zero) | **UNRATIFIED** |
| R6-devfee | the official miner client's optional dev fee | not used (zero) | **UNRATIFIED** |
@ -77,10 +79,21 @@ Every cell's status: RATIFIED (the founder's ratification), IMPLEMENTED (the nod
| m400 | scenario multiple | 4.00 | RATIFIED (TV-04 method words) |
| m1000 | scenario multiple | 10.00 | RATIFIED (TV-04 method words) |
| X-ext | external jobs per year | 0 | **UNRATIFIED (D04)** |
| C-miners | minimum required miner cost per year | (empty) | **PANEL** |
| C-provers | minimum required internal proving cost per year | (empty) | **PANEL** |
| C-validators | minimum required validator cost per year | (empty) | **PANEL** |
| C-maintenance | minimum required maintenance cost per year | (empty) | **PANEL** |
| F-4090-rp-rate | USD per hour of one rented RTX 4090, RunPod median (57 cards, 0.34 to 0.89) | 0.74 | MEASURED |
| F-4090-vast-rate | USD per hour of one rented RTX 4090, Vast median (3 cards, 0.322 to 0.376) | 0.376 | MEASURED |
| F-5090-vast-rate | USD per hour of one rented RTX 5090, Vast median (6 cards, 0.41 to 0.509) | 0.47 | MEASURED |
| F-4090-mhs | accepted MH/s of one RTX 4090 mining on the current class (wall, hub-1, 12.1 h continuous, 0 rejected, 263 W, 08:50:08Z) | 57.20 | MEASURED |
| F-5090-mhs | MH/s of one RTX 5090 mining on the current class (inside jobs, steady lines 97.2 to 97.6, p1-5090, 371 W, 08:50:19Z) | 97.2 | MEASURED |
| F-4090-shards | proof records one RTX 4090 completes per hour, serial (medians 120.3 to 146.8 s end to end over four boxes) | 30 | MEASURED |
| F-5090-shards | proof records one RTX 5090 completes per hour, serial (median 93.2 s over 147 records, p1-5090) | 39 | MEASURED |
| N-min-hashrate | the minimum network hashrate the security model requires | (empty) | **BLOCKED: missing** |
| N-shards-year | the proof records per year the chain must prove at the declared minimum workload | (empty) | **BLOCKED: missing** |
| N-min-hubs | minimum hub count (validating non-mining full nodes) | (empty) | **BLOCKED: missing** |
| N-hub-rate | USD per hour of one hub box (the RunPod on-demand rate of the RTX 4090 pods the devnet's three hubs run on; a hub needs no GPU, and a CPU box of the same memory, 20 to 30 GB resident, would cost less, a rate the record does not hold) | 0.74 | MEASURED |
| N-devnet-hubs | the devnet's hub count (devnet-4's three reference hubs in the F0 manifest's network row): a configuration, not a minimum | 3 | MEASURED (configuration) |
| N-maint-month | committed maintenance (people-hours or USD per month) | (empty) | **BLOCKED: missing** |
| N-infra-month | committed infrastructure only: the build server (Hetzner AX162), ordered by the founder 6 October 2026; part of P13's infrastructure line, not the whole of maintenance | 446.52 | COMMITTED (infrastructure only) |
| X-bu-usd | V, the USD value of one BU (the purchasing power of the year-1 subsidy): the one unknown of every coverage cell | (empty) | **PANEL** |
| K-class | which scenario-year cells are approved viable and which are collapse cases | (empty) | **PANEL** |
| T-tip | native tip volume per year (fee level and its volatility) | (empty) | **PANEL** |
@ -130,7 +143,7 @@ The budget each role receives in year 10 (zero tips, zero external jobs), and th
| Role | Route (status) | Receipts in year 10 (coins) | Of the role's year 1 | Years 1 to 10 (coins) | Ceiling at 0.1x | Ceiling at 0.25x | Ceiling at 1x | Ceiling at 4x | Ceiling at 10x | Panel cost | Decision |
|---|---|---|---|---|---|---|---|---|---|---|---|
| miners | R1-miner (IMPLEMENTED) | 49,999,999 | 6.49% | 3,070,431,198 | 0.005192 | 0.012980 | 0.051919 | 0.207676 | 0.519190 | (empty) | NOT RUN |
| miners | R1-miner (IMPLEMENTED) | 49,999,999 | 6.49% | 3,070,431,199 | 0.005192 | 0.012980 | 0.051919 | 0.207676 | 0.519190 | (empty) | NOT RUN |
| internal provers | R1-pool (IMPLEMENTED) | 12,499,999 | 6.49% | 767,607,799 | 0.001298 | 0.003245 | 0.012980 | 0.051919 | 0.129797 | (empty) | NOT RUN |
| minimum validators | R1-validators (IMPLEMENTED) | 0 | none (no route) | 0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | (empty) | BLOCKED |
| maintenance | R1-maintenance (IMPLEMENTED) | 0 | none (no route) | 0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | (empty) | BLOCKED |
@ -150,7 +163,7 @@ The budget each role receives in year 20 (zero tips, zero external jobs), and th
| Role | Route (status) | Receipts in year 20 (coins) | Of the role's year 1 | Years 1 to 20 (coins) | Ceiling at 0.1x | Ceiling at 0.25x | Ceiling at 1x | Ceiling at 4x | Ceiling at 10x | Panel cost | Decision |
|---|---|---|---|---|---|---|---|---|---|---|---|
| miners | R1-miner (IMPLEMENTED) | 1,562,499 | 0.20% | 3,167,306,197 | 0.000162 | 0.000406 | 0.001622 | 0.006490 | 0.016225 | (empty) | NOT RUN |
| miners | R1-miner (IMPLEMENTED) | 1,562,499 | 0.20% | 3,167,306,199 | 0.000162 | 0.000406 | 0.001622 | 0.006490 | 0.016225 | (empty) | NOT RUN |
| internal provers | R1-pool (IMPLEMENTED) | 390,624 | 0.20% | 791,826,549 | 0.000041 | 0.000101 | 0.000406 | 0.001622 | 0.004056 | (empty) | NOT RUN |
| minimum validators | R1-validators (IMPLEMENTED) | 0 | none (no route) | 0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | (empty) | BLOCKED |
| maintenance | R1-maintenance (IMPLEMENTED) | 0 | none (no route) | 0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | (empty) | BLOCKED |
@ -164,6 +177,151 @@ What each row means:
- maintenance: the protocol pays this role nothing in year 20 at any multiple, so it is funded only by a payer D03 has not yet named (B-03, B-04), and any positive minimum cost is in the failure region.
- external jobs: zero in every scenario by the method; the published rate is unratified (D04) and funds no role here.
## The cost side
The cost inputs, measured or committed, each with its source; an empty input is BLOCKED and named. Electricity is included as a rented pod's price includes it. Hours a year: 8,766.
| Id | Input | Value | Source | Status |
|---|---|---|---|---|
| F-4090-rp-rate | USD per hour of one rented RTX 4090, RunPod median (57 cards, 0.34 to 0.89) | 0.74 USD per hour | the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK | MEASURED |
| F-4090-vast-rate | USD per hour of one rented RTX 4090, Vast median (3 cards, 0.322 to 0.376) | 0.376 USD per hour | the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK | MEASURED |
| F-5090-vast-rate | USD per hour of one rented RTX 5090, Vast median (6 cards, 0.41 to 0.509) | 0.47 USD per hour | the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK | MEASURED |
| F-4090-mhs | accepted MH/s of one RTX 4090 mining on the current class (wall, hub-1, 12.1 h continuous, 0 rejected, 263 W, 08:50:08Z) | 57.20 MH/s | the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log | MEASURED |
| F-5090-mhs | MH/s of one RTX 5090 mining on the current class (inside jobs, steady lines 97.2 to 97.6, p1-5090, 371 W, 08:50:19Z) | 97.2 MH/s | the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log | MEASURED |
| F-4090-shards | proof records one RTX 4090 completes per hour, serial (medians 120.3 to 146.8 s end to end over four boxes) | 30 records per hour | the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split) | MEASURED |
| F-5090-shards | proof records one RTX 5090 completes per hour, serial (median 93.2 s over 147 records, p1-5090) | 39 records per hour | the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split) | MEASURED |
| N-min-hashrate | the minimum network hashrate the security model requires | (missing) | not in the node lane's answer (10:06 UK); no figure in the volume or the master; the founder's or the panel's to set | **BLOCKED** |
| N-shards-year | the proof records per year the chain must prove at the declared minimum workload | (missing) | not in the node lane's answer (10:06 UK); no figure in the volume or the master | **BLOCKED** |
| N-min-hubs | minimum hub count (validating non-mining full nodes) | (missing) | the node lane, 10:06 UK 9 October 2026: not written anywhere in the spec, the plans or the design; the founder's to set (the finality rule needs voters, not hubs) | **BLOCKED** |
| N-hub-rate | USD per hour of one hub box (the RunPod on-demand rate of the RTX 4090 pods the devnet's three hubs run on; a hub needs no GPU, and a CPU box of the same memory, 20 to 30 GB resident, would cost less, a rate the record does not hold) | 0.74 USD per hour | the node lane, 10:06 UK 9 October 2026: RunPod's API costPerHr for lp-4090-04, -05 and -06, read 09:51 UK by the fleet lane | MEASURED |
| N-devnet-hubs | the devnet's hub count (devnet-4's three reference hubs in the F0 manifest's network row): a configuration, not a minimum | 3 hubs | the node lane, 10:06 UK 9 October 2026 | MEASURED (configuration) |
| N-maint-month | committed maintenance (people-hours or USD per month) | (missing) | the node lane, 10:06 UK 9 October 2026: no file names committed people-hours or USD per month for maintenance; the master, p. 68, P13 | **BLOCKED** |
| N-infra-month | committed infrastructure only: the build server (Hetzner AX162), ordered by the founder 6 October 2026; part of P13's infrastructure line, not the whole of maintenance | 446.52 USD per month | the node lane, 10:06 UK 9 October 2026 (its record of the order) | COMMITTED (infrastructure only) |
| X-bu-usd | V, the USD value of one BU (the purchasing power of the year-1 subsidy): the one unknown of every coverage cell | (missing) | the panel's figure; not carried here, since it needs a per-coin market figure, which VR-04 and the never-published list keep out of this document | **PANEL** |
Unit costs from those inputs, by class:
| Class | USD per MH/s per hour | USD per proof record |
|---|---|---|
| 4090, RunPod median rate | 0.0129 | 0.0247 |
| 4090, Vast median rate | 0.0066 | 0.0125 |
| 5090, Vast median rate | 0.0048 | 0.0121 |
Memo, not a role cost: the fleet lane, 09:50 UK: total rented spend USD 65.39 an hour over 125 registry rows (about USD 1,570 a day, every lane on the accounts); not a role cost: the devnet fleet is not the network's minimum.
Each role's minimum cost per year: miners, USD per MH/s per hour x the minimum hashrate x hours; internal provers, USD per proved shard x the shards per year; minimum validators, hubs x the hub box's USD per hour x hours; maintenance, the committed month x 12.
| Role | Minimum cost per year |
|---|---|
| miners | 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) |
| internal provers | 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| minimum validators | the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year |
| maintenance | committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year |
Coverage, the one formula: coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure). Coverage of 1.0 or more funds the role in that cell. The budgets stay in native units; V is the one unknown and the panel fills it.
V* is the reference value the panel compares against its own figure: the role's cost in USD divided by its budget in BU, a quotient of two inputs, not a price. It is not a value, price or return claim (VR-04). Where an input is missing, V* is BLOCKED by that input's name; where the protocol budget is zero, no V reaches 1.0.
| Year | Scenario | Role | Budget (BU) | V* by class |
|---|---|---|---|---|
| 1 | 0.1x | miners | 0.080000 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 1 | 0.1x | internal provers | 0.020000 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 1 | 0.1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 0.1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 0.25x | miners | 0.200000 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 1 | 0.25x | internal provers | 0.050000 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 1 | 0.25x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 0.25x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 1x | miners | 0.800000 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 1 | 1x | internal provers | 0.200000 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 1 | 1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 4x | miners | 3.200000 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 1 | 4x | internal provers | 0.800000 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 1 | 4x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 4x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 10x | miners | 8.000000 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 1 | 10x | internal provers | 2.000000 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 1 | 10x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 1 | 10x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 0.1x | miners | 0.020768 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 5 | 0.1x | internal provers | 0.005192 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 5 | 0.1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 0.1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 0.25x | miners | 0.051919 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 5 | 0.25x | internal provers | 0.012980 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 5 | 0.25x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 0.25x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 1x | miners | 0.207676 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 5 | 1x | internal provers | 0.051919 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 5 | 1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 4x | miners | 0.830704 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 5 | 4x | internal provers | 0.207676 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 5 | 4x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 4x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 10x | miners | 2.076759 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 5 | 10x | internal provers | 0.519190 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 5 | 10x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 5 | 10x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 0.1x | miners | 0.005192 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 10 | 0.1x | internal provers | 0.001298 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 10 | 0.1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 0.1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 0.25x | miners | 0.012980 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 10 | 0.25x | internal provers | 0.003245 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 10 | 0.25x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 0.25x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 1x | miners | 0.051919 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 10 | 1x | internal provers | 0.012980 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 10 | 1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 4x | miners | 0.207676 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 10 | 4x | internal provers | 0.051919 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 10 | 4x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 4x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 10x | miners | 0.519190 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 10 | 10x | internal provers | 0.129797 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 10 | 10x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 10 | 10x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 0.1x | miners | 0.000162 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 20 | 0.1x | internal provers | 0.000041 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 20 | 0.1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 0.1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 0.25x | miners | 0.000406 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 20 | 0.25x | internal provers | 0.000101 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 20 | 0.25x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 0.25x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 1x | miners | 0.001622 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 20 | 1x | internal provers | 0.000406 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 20 | 1x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 1x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 4x | miners | 0.006490 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 20 | 4x | internal provers | 0.001622 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 20 | 4x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 4x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 10x | miners | 0.016225 | 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) |
| 20 | 10x | internal provers | 0.004056 | 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) |
| 20 | 10x | minimum validators | 0.000000 | the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 |
| 20 | 10x | maintenance | 0.000000 | committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 |
V* per unit of the missing capacity. The miners' and provers' V* scale linearly with the capacity the security model requires, so the table gives V* for each 1,000 MH/s of required hashrate and for each 1,000,000 required proof records a year, on the 1x path; divide by the multiple for another scenario. A quotient of inputs, not a price.
| Year | Class | Miners: V* per 1,000 MH/s required (USD per BU) | Provers: V* per 1,000,000 records a year required (USD per BU) |
|---|---|---|---|
| 1 | 4090, RunPod median rate | USD 141757.87 | USD 123333.33 |
| 1 | 4090, Vast median rate | USD 72028.32 | USD 62666.67 |
| 1 | 5090, Vast median rate | USD 52983.80 | USD 60256.41 |
| 5 | 4090, RunPod median rate | USD 546073.42 | USD 475099.24 |
| 5 | 4090, Vast median rate | USD 277464.33 | USD 241401.78 |
| 5 | 5090, Vast median rate | USD 204101.85 | USD 232117.09 |
| 10 | 4090, RunPod median rate | USD 2184293.67 | USD 1900396.96 |
| 10 | 4090, Vast median rate | USD 1109857.33 | USD 965607.10 |
| 10 | 5090, Vast median rate | USD 816407.40 | USD 928468.37 |
| 20 | 4090, RunPod median rate | USD 69897397.57 | USD 60812702.73 |
| 20 | 4090, Vast median rate | USD 35515434.44 | USD 30899427.33 |
| 20 | 5090, Vast median rate | USD 26125036.65 | USD 29710987.82 |
## The verdict per scenario and year
In the gate's words. The class of each cell (approved viable, or collapse) is the panel's declaration before results; the computed ceilings stand beside it. The failure region of a cell is every role whose minimum cost exceeds its ceiling, and minimum validators and maintenance at any positive cost.
@ -201,42 +359,51 @@ Tips per year, at constant purchasing power, that would bring the miners' receip
| 2 | 0 | 0 | 0.0000 |
| 3 | 370,431,200 | 463,039,000 | 0.4808 |
| 5 | 570,431,200 | 713,039,000 | 0.7404 |
| 10 | 720,431,200 | 900,539,000 | 0.9351 |
| 20 | 768,868,700 | 961,085,875 | 0.9980 |
| 10 | 720,431,199 | 900,538,999 | 0.9351 |
| 20 | 768,868,699 | 961,085,874 | 0.9980 |
## What the result means
Under the ratified cap with zero external jobs, the subsidy that pays the miners and the internal provers falls to 25.96% of year 1 in year 5, 6.49% in year 10 and 0.20% in year 20; at 10x purchasing power the year-20 miner budget buys 0.016225 BU, and in the minus-90-percent case 0.000162 BU.
Holding the miners' year-1 budget needs tips of 0.9351 of the baseline a year by year 10 and 0.9980 by year 20; the internal provers have no fee route in the node's code, so nothing in the ratified routing replaces their declining 20%; minimum validators and maintenance receive nothing from the protocol at any horizon.
So whether TV-04 can pass turns on four things this model cannot supply: the panel's role costs and viable-or-collapse declarations, the tip level, a named payer for validators and maintenance, and the provers' fee route. Those are the BLOCKED rows below.
On the cost side, the inputs that are in give these annual costs: minimum validators, the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year; maintenance, committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year. Each of those roles has a zero protocol budget, so its coverage is zero at any V until D03 names a payer.
What no cell can be closed without: committed maintenance (people-hours or USD per month) (N-maint-month); minimum hub count (validating non-mining full nodes) (N-min-hubs); the minimum network hashrate the security model requires (N-min-hashrate); the proof records per year the chain must prove at the declared minimum workload (N-shards-year), and V, the panel's USD value of one BU.
The TV-01 spec settles the provers' fee route as the code has it (C10: none of the tip reaches provers), so their 20% of a falling subsidy is their only protocol income at every horizon. Whether TV-04 can pass turns on what this model cannot supply: the required capacities and the committed figures named above, V, the panel's viable-or-collapse declarations, the tip level, a named payer for validators and maintenance, and a recurring payer for internal proving as issuance falls (D03). Those are the BLOCKED rows below.
## BLOCKED rows
| Id | Row | Waits on | Earliest clock (UK) |
|---|---|---|---|
| B-01 | the internal provers' share of the priority fee | D04's frozen routes (TV-01): the node's code pays the 80% tip share to the block's beneficiary alone (igneum/exec executor.rs lines 318 to 329, line 729), the litepaper's routing table row 3 and the design text read '80% the block's miner and provers' with no split; the master, p. 36, asks for the discrepancy resolved before security income is modelled | the TV-01 supply spec, due 13:00 UK today; the node lane names where the rule lives |
| B-02 | internal provers: paid against assigned | the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid | the node lane's answer; TV-02's replay separates assigned, paid and burned |
| B-03 | minimum validators: the recurring payer | D03 (ratified: separate accountable budgets) names no payer for the minimum validator role; the protocol routes it nothing (no coinbase output, no fee share) | the panel and the founder; no clock in the ratified rules |
| B-04 | maintenance: committed resources | the master, p. 68, P13 (at least 12 months committed; burned fees, rising prices and uncommitted sales excluded) and the volume, p. 31; the registry's P13 deferral note (the founder, 8 October 2026, 18:2x UK); the protocol routes maintenance nothing | the founder's lifting of the P13 deferral |
| B-05 | role costs (four cells) and the scenario classes | the independent panel: the minimum required cost per role per year in BU, and which scenario-year cells are approved viable and which are collapse cases, declared before results (the master, p. 68, P12) | the panel's reading; every coverage cell reads NOT RUN until then |
| B-06 | the tail-vote clause beside the cap | D01 (ratified: capped issuance) against the litepaper's clause sending a tail reward to the miners' vote when external proving revenue is under one fifth of the subsidy after year 5 (with zero external jobs that condition holds from year 5 in every scenario here); the volume, p. 12: no undisclosed future rescue. This model mints no tail | TV-01's frozen contract (13:00 UK today) and the site lane's wording |
| B-07 | the testnet parameters' 1% tail | params.rs line 2014: TESTNET_PARAMS carries EmissionSchedule::TESTNET_1 (emission.rs lines 116 to 123, a 1 percent a year tail), while MAINNET_PARAMS carries the capped CURRENT (line 1858); this model reads the mainnet params; the node lane answers which schedule a value-bearing network carries | the node lane's one-question answer |
| B-05 | the cost cells and the scenario classes | by name: the minimum network hashrate the security model requires (MH/s); the proof records per year the chain must prove at the declared minimum workload; the minimum hub count (validating non-mining full nodes), the founder's to set; committed maintenance (people-hours or USD per month); V, the USD value of one BU, the panel's figure; and the panel's declaration of which scenario-year cells are approved viable and which are collapse cases, before results (the master, p. 68, P12). The fleet's unit costs and the hub box's rate are in | the founder and the panel; every coverage cell reads NOT RUN until then |
| B-08 | the schedule itself | D02 (approved: the same-cap comparison; the schedule pending evidence): every figure here is conditional on EmissionSchedule::CURRENT and regenerates from inputs.json if the schedule changes | TV-03's emission comparison |
| B-09 | safe behaviour in the collapse cases | the gate's words for collapse scenarios (safe behaviour, not universal profit) are native evidence this model cannot give: contraction of the finality vote weight, honest pauses and recovery labelled apart from finality (D05) belong to TV-07, TV-09 and TV-15 | those gates' native runs |
| B-10 | a block-rate step after launch | the TV-01 spec's C04: the subsidy is keyed on seconds = daa / bps with no block-rate history, so a step from 1 to 10 blocks a second one year in would issue past the cap (hidden issuance under D01); the mainnet as compiled runs 10 blocks a second from genesis, which this model uses | the founder's answer to TV-01's C04 |
Rows the TV-01 supply spec resolved (its conflict register reads RESOLVED); kept here with the resolution so the history stays visible:
| Id | Row | Resolution |
|---|---|---|
| B-01 | the internal provers' share of the priority fee | TV-01 C10 (priority fee to provers): the code, which is the design's own closed decision; RESOLVED (by O-5.7, closed at zero 8 October 2026; the litepaper's 'miner and provers' at lines 614 and 622 is SUPERSEDED; text corrections owed there and at spec 05 lines 79 and 98) |
| B-06 | the tail-vote clause beside the cap | TV-01 C01 (cap versus the year-five tail vote): the cap as the invariant; the tail-vote sentence is SUPERSEDED; RESOLVED (by D01, subject to TV-04) |
| B-07 | the testnet parameters' 1% tail | TV-01 C12 (a tail schedule compiled into testnet-1): testnet-only and outside the monetary contract; the contract is EmissionSchedule::CURRENT with Tail::Cap on mainnet; RESOLVED (by D01: testnet-only, named) |
## Files
| File | What | sha256 |
|---|---|---|
| `blocked.csv` | the BLOCKED rows | `525723db53c072a4f7f0fec6301bd6f931fd8f905c2fa0ba719de6f6c24a95bd` |
| `budget.csv` | every horizon x scenario x role row, with its meaning | `06f467bed99df956a3d2c9d52dbe98ae4ffc13cb59e007ea5f982c77264b69d1` |
| `emission.csv` | the schedule and the role split, years 1 to 20 | `e0f30dba6489a9c59dfa2acc4d070aad04f273811ea4c1064efa1c5a9d8f835c` |
| `fee-replacement.csv` | the tips the miners' year-1 budget would need, years 1 to 20 | `6da376136be6be9769c817b90cd8b7cc60ca9f7720b30ca600fd93bbea07f5d0` |
| `parameters.csv` | every parameter with its status and source | `20b548ea79c05396afc460db41b5a5f7062e8a10f781fe11863204259dedb7a5` |
| `blocked.csv` | the BLOCKED rows | `37a830e082913b67c859ccb1f5e88a79b1ee012b885e2933e313b4f075b44503` |
| `budget.csv` | every horizon x scenario x role row, with its meaning | `262a8271fa1c35b0dd958c78e80a53fc87c3749efdfe66d84f7d9a3ae8ffc17f` |
| `emission.csv` | the schedule and the role split, years 1 to 20 | `29230149e2b030bbdb3c89fc6c3405f4b4ed248658ac4c2b4162a48849098b78` |
| `fee-replacement.csv` | the tips the miners' year-1 budget would need, years 1 to 20 | `ccf2b2a18eb788c9db933af3d16506b7e7cfb628b6c3e87cb8acaa87535036dc` |
| `parameters.csv` | every parameter with its status and source | `bf1ab4032b84ef74e17f991e26d7e09cb89a79d871f9b539d457eb6e9a36b149` |
| `tv01-reconcile.csv` | the TV-01 supply spec against this model, check by check | `1d10d9b3bf5f9b71db59c317c4171157955de0dd7bd52d51d2d51aea60271f28` |
## Reproduce
The generator `tools/token-value/tv-04/tv04_budget.py` (sha256 `72c775cb85a809b39f305f7b1c83f26b32e8fd113340ac7ac8dc32b3e6260282`), its inputs `tools/token-value/tv-04/inputs.json` (sha256 `ca40b0e9686422cfb8506add4e4202f04863f890c9440eb82e739aff9fb06e88`) and its tests `tools/token-value/tv-04/test_tv04.py` (sha256 `88dae13438cd551d1a1f94631efb515315f453179f14e9a2add440bf58e6ef26`). Standard-library Python 3, integers and fractions, no clock, no network.
The generator `tools/token-value/tv-04/tv04_budget.py` (sha256 `0bd813dfb6273cfb755a41200b010b732bbc92cb12f79eb69a359abc33da202e`), its inputs `tools/token-value/tv-04/inputs.json` (sha256 `c391f4ca6cfc98dec63cf6c380ae8429cfeed7300d8aea7540fc1485bd563cfd`) and its tests `tools/token-value/tv-04/test_tv04.py` (sha256 `032fa0f2994944fd1892969b33989222850ebd378b7bd54920b6c347656c21de`). Standard-library Python 3, integers and fractions, no clock, no network.
```
python3 tools/token-value/tv-04/tv04_budget.py --out docs/plans/igneum-2.0-master/token-value/phase0/tv-04

View file

@ -10,4 +10,13 @@ Every run went through `tools/token-value/tv-04/run-on-box.sh` on build-9 (the b
| 08:20:36 | d59a9088 | generate, twice, compared | `RESULT tv04 regeneration byte-identical` | 0 | /home/build/tv-04/runs/d59a9088-generate/run.log | `08c98508fd392d599e5bb4d64e8a48e2926d53debcefa3378ac6f7f144726a3d` |
| 08:21:07 | 1ba62f76 | check: the committed files against a fresh generation | `RESULT tv04 check committed outputs equal a fresh generation (6/6)` | 0 | /home/build/tv-04/runs/1ba62f76-check/run.log | `19309964cf7b23695dfd2a8af346af338ead042f7b5b69fd3365891de91cf33c` |
The five mutants, each caught by the property it breaks: a fixed tail after the curve (no hidden issuance, D01), a multiple that rises 10 percent a year (no assumed appreciation), external-job income in a result row (D04), a currency figure in the README (VR-04), burned fees counted as a role receipt (VR-08). The earlier commits 52c51322 ran the same green, mutant and generation modes before the year-2 clamp and the six-decimal ceilings.
Second cut (10:11 to 10:12 UK), with master 163c9e3c merged so the TV-01 supply spec (3ffdd308) is in the tree; 27 of 27 reconciliation checks agree:
| Start (UTC) | Commit | Mode | Result line | Exit | Log (build-9) | Log sha256 |
|---|---|---|---|---|---|---|
| 09:11:4x | 53d47721 | green | `RESULT tv04 green all properties hold 10/10` | 0 | /home/build/tv-04/runs/53d47721-green/run.log | `407cf8ba97b76227f22e946e613e323cfc4a5d482b8701dad4de9071e40ed659` |
| 09:11:5x | 53d47721 | known-failed: six mutants | `RESULT tv04 known-failed every mutant caught 6/6` | 0 | /home/build/tv-04/runs/53d47721-known-failed/run.log | `a0488e821b6274c5c8304e2642f2cc7075055af62192a65ee859b31afce3b56b` |
| 09:12:0x | 53d47721 | generate, twice, compared | `RESULT tv04 regeneration byte-identical` | 0 | /home/build/tv-04/runs/53d47721-generate/run.log | `c422aab173663d1cc6cab2b127c2929e74f873bebf6dfddbaa3dd0768e33a9b9` |
| 09:12:1x | a3d79901 | check: the committed files against a fresh generation | `RESULT tv04 check committed outputs equal a fresh generation (7/7)` | 0 | /home/build/tv-04/runs/a3d79901-check/run.log | `ff60ce64c04f46212f04dcd1b0ed288b615cd17e73dc82fe602d4dd886ea78e0` |
The sixth mutant (second cut): a ramp that starts at 20 percent, caught by the reconciliation against the TV-01 spec. Preview runs against the TV-01 lane's unlanded spec (directories ending -preview on build-9) were never evidence. First cut: the five mutants, each caught by the property it breaks: a fixed tail after the curve (no hidden issuance, D01), a multiple that rises 10 percent a year (no assumed appreciation), external-job income in a result row (D04), a currency figure in the README (VR-04), burned fees counted as a role receipt (VR-08). The earlier commits 52c51322 ran the same green, mutant and generation modes before the year-2 clamp and the six-decimal ceilings.

View file

@ -1,10 +1,11 @@
id,row,waits_on,earliest_clock_uk
B-01,the internal provers' share of the priority fee,"D04's frozen routes (TV-01): the node's code pays the 80% tip share to the block's beneficiary alone (igneum/exec executor.rs lines 318 to 329, line 729), the litepaper's routing table row 3 and the design text read '80% the block's miner and provers' with no split; the master, p. 36, asks for the discrepancy resolved before security income is modelled","the TV-01 supply spec, due 13:00 UK today; the node lane names where the rule lives"
B-02,internal provers: paid against assigned,"the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid","the node lane's answer; TV-02's replay separates assigned, paid and burned"
B-03,minimum validators: the recurring payer,"D03 (ratified: separate accountable budgets) names no payer for the minimum validator role; the protocol routes it nothing (no coinbase output, no fee share)",the panel and the founder; no clock in the ratified rules
B-04,maintenance: committed resources,"the master, p. 68, P13 (at least 12 months committed; burned fees, rising prices and uncommitted sales excluded) and the volume, p. 31; the registry's P13 deferral note (the founder, 8 October 2026, 18:2x UK); the protocol routes maintenance nothing",the founder's lifting of the P13 deferral
B-05,role costs (four cells) and the scenario classes,"the independent panel: the minimum required cost per role per year in BU, and which scenario-year cells are approved viable and which are collapse cases, declared before results (the master, p. 68, P12)",the panel's reading; every coverage cell reads NOT RUN until then
B-06,the tail-vote clause beside the cap,"D01 (ratified: capped issuance) against the litepaper's clause sending a tail reward to the miners' vote when external proving revenue is under one fifth of the subsidy after year 5 (with zero external jobs that condition holds from year 5 in every scenario here); the volume, p. 12: no undisclosed future rescue. This model mints no tail",TV-01's frozen contract (13:00 UK today) and the site lane's wording
B-07,the testnet parameters' 1% tail,"params.rs line 2014: TESTNET_PARAMS carries EmissionSchedule::TESTNET_1 (emission.rs lines 116 to 123, a 1 percent a year tail), while MAINNET_PARAMS carries the capped CURRENT (line 1858); this model reads the mainnet params; the node lane answers which schedule a value-bearing network carries",the node lane's one-question answer
B-08,the schedule itself,D02 (approved: the same-cap comparison; the schedule pending evidence): every figure here is conditional on EmissionSchedule::CURRENT and regenerates from inputs.json if the schedule changes,TV-03's emission comparison
B-09,safe behaviour in the collapse cases,"the gate's words for collapse scenarios (safe behaviour, not universal profit) are native evidence this model cannot give: contraction of the finality vote weight, honest pauses and recovery labelled apart from finality (D05) belong to TV-07, TV-09 and TV-15",those gates' native runs
id,row,status,waits_on_or_resolution,earliest_clock_uk
B-02,internal provers: paid against assigned,BLOCKED,"the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid","the node lane's answer; TV-02's replay separates assigned, paid and burned"
B-03,minimum validators: the recurring payer,BLOCKED,"D03 (ratified: separate accountable budgets) names no payer for the minimum validator role; the protocol routes it nothing (no coinbase output, no fee share)",the panel and the founder; no clock in the ratified rules
B-04,maintenance: committed resources,BLOCKED,"the master, p. 68, P13 (at least 12 months committed; burned fees, rising prices and uncommitted sales excluded) and the volume, p. 31; the registry's P13 deferral note (the founder, 8 October 2026, 18:2x UK); the protocol routes maintenance nothing",the founder's lifting of the P13 deferral
B-05,the cost cells and the scenario classes,BLOCKED,"by name: the minimum network hashrate the security model requires (MH/s); the proof records per year the chain must prove at the declared minimum workload; the minimum hub count (validating non-mining full nodes), the founder's to set; committed maintenance (people-hours or USD per month); V, the USD value of one BU, the panel's figure; and the panel's declaration of which scenario-year cells are approved viable and which are collapse cases, before results (the master, p. 68, P12). The fleet's unit costs and the hub box's rate are in",the founder and the panel; every coverage cell reads NOT RUN until then
B-08,the schedule itself,BLOCKED,D02 (approved: the same-cap comparison; the schedule pending evidence): every figure here is conditional on EmissionSchedule::CURRENT and regenerates from inputs.json if the schedule changes,TV-03's emission comparison
B-09,safe behaviour in the collapse cases,BLOCKED,"the gate's words for collapse scenarios (safe behaviour, not universal profit) are native evidence this model cannot give: contraction of the finality vote weight, honest pauses and recovery labelled apart from finality (D05) belong to TV-07, TV-09 and TV-15",those gates' native runs
B-10,a block-rate step after launch,BLOCKED,"the TV-01 spec's C04: the subsidy is keyed on seconds = daa / bps with no block-rate history, so a step from 1 to 10 blocks a second one year in would issue past the cap (hidden issuance under D01); the mainnet as compiled runs 10 blocks a second from genesis, which this model uses",the founder's answer to TV-01's C04
B-01,the internal provers' share of the priority fee,RESOLVED by TV-01,"TV-01 C10 (priority fee to provers): the code, which is the design's own closed decision; RESOLVED (by O-5.7, closed at zero 8 October 2026; the litepaper's 'miner and provers' at lines 614 and 622 is SUPERSEDED; text corrections owed there and at spec 05 lines 79 and 98)",
B-06,the tail-vote clause beside the cap,RESOLVED by TV-01,"TV-01 C01 (cap versus the year-five tail vote): the cap as the invariant; the tail-vote sentence is SUPERSEDED; RESOLVED (by D01, subject to TV-04)",
B-07,the testnet parameters' 1% tail,RESOLVED by TV-01,"TV-01 C12 (a tail schedule compiled into testnet-1): testnet-only and outside the monetary contract; the contract is EmissionSchedule::CURRENT with Tail::Cap on mainnet; RESOLVED (by D01: testnet-only, named)",

1 id row waits_on status waits_on_or_resolution earliest_clock_uk
2 B-01 B-02 the internal provers' share of the priority fee internal provers: paid against assigned D04's frozen routes (TV-01): the node's code pays the 80% tip share to the block's beneficiary alone (igneum/exec executor.rs lines 318 to 329, line 729), the litepaper's routing table row 3 and the design text read '80% the block's miner and provers' with no split; the master, p. 36, asks for the discrepancy resolved before security income is modelled BLOCKED the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid the TV-01 supply spec, due 13:00 UK today; the node lane names where the rule lives the node lane's answer; TV-02's replay separates assigned, paid and burned
3 B-02 B-03 internal provers: paid against assigned minimum validators: the recurring payer the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid BLOCKED D03 (ratified: separate accountable budgets) names no payer for the minimum validator role; the protocol routes it nothing (no coinbase output, no fee share) the node lane's answer; TV-02's replay separates assigned, paid and burned the panel and the founder; no clock in the ratified rules
4 B-03 B-04 minimum validators: the recurring payer maintenance: committed resources D03 (ratified: separate accountable budgets) names no payer for the minimum validator role; the protocol routes it nothing (no coinbase output, no fee share) BLOCKED the master, p. 68, P13 (at least 12 months committed; burned fees, rising prices and uncommitted sales excluded) and the volume, p. 31; the registry's P13 deferral note (the founder, 8 October 2026, 18:2x UK); the protocol routes maintenance nothing the panel and the founder; no clock in the ratified rules the founder's lifting of the P13 deferral
5 B-04 B-05 maintenance: committed resources the cost cells and the scenario classes the master, p. 68, P13 (at least 12 months committed; burned fees, rising prices and uncommitted sales excluded) and the volume, p. 31; the registry's P13 deferral note (the founder, 8 October 2026, 18:2x UK); the protocol routes maintenance nothing BLOCKED by name: the minimum network hashrate the security model requires (MH/s); the proof records per year the chain must prove at the declared minimum workload; the minimum hub count (validating non-mining full nodes), the founder's to set; committed maintenance (people-hours or USD per month); V, the USD value of one BU, the panel's figure; and the panel's declaration of which scenario-year cells are approved viable and which are collapse cases, before results (the master, p. 68, P12). The fleet's unit costs and the hub box's rate are in the founder's lifting of the P13 deferral the founder and the panel; every coverage cell reads NOT RUN until then
6 B-05 B-08 role costs (four cells) and the scenario classes the schedule itself the independent panel: the minimum required cost per role per year in BU, and which scenario-year cells are approved viable and which are collapse cases, declared before results (the master, p. 68, P12) BLOCKED D02 (approved: the same-cap comparison; the schedule pending evidence): every figure here is conditional on EmissionSchedule::CURRENT and regenerates from inputs.json if the schedule changes the panel's reading; every coverage cell reads NOT RUN until then TV-03's emission comparison
7 B-06 B-09 the tail-vote clause beside the cap safe behaviour in the collapse cases D01 (ratified: capped issuance) against the litepaper's clause sending a tail reward to the miners' vote when external proving revenue is under one fifth of the subsidy after year 5 (with zero external jobs that condition holds from year 5 in every scenario here); the volume, p. 12: no undisclosed future rescue. This model mints no tail BLOCKED the gate's words for collapse scenarios (safe behaviour, not universal profit) are native evidence this model cannot give: contraction of the finality vote weight, honest pauses and recovery labelled apart from finality (D05) belong to TV-07, TV-09 and TV-15 TV-01's frozen contract (13:00 UK today) and the site lane's wording those gates' native runs
8 B-07 B-10 the testnet parameters' 1% tail a block-rate step after launch params.rs line 2014: TESTNET_PARAMS carries EmissionSchedule::TESTNET_1 (emission.rs lines 116 to 123, a 1 percent a year tail), while MAINNET_PARAMS carries the capped CURRENT (line 1858); this model reads the mainnet params; the node lane answers which schedule a value-bearing network carries BLOCKED the TV-01 spec's C04: the subsidy is keyed on seconds = daa / bps with no block-rate history, so a step from 1 to 10 blocks a second one year in would issue past the cap (hidden issuance under D01); the mainnet as compiled runs 10 blocks a second from genesis, which this model uses the node lane's one-question answer the founder's answer to TV-01's C04
9 B-08 B-01 the schedule itself the internal provers' share of the priority fee D02 (approved: the same-cap comparison; the schedule pending evidence): every figure here is conditional on EmissionSchedule::CURRENT and regenerates from inputs.json if the schedule changes RESOLVED by TV-01 TV-01 C10 (priority fee to provers): the code, which is the design's own closed decision; RESOLVED (by O-5.7, closed at zero 8 October 2026; the litepaper's 'miner and provers' at lines 614 and 622 is SUPERSEDED; text corrections owed there and at spec 05 lines 79 and 98) TV-03's emission comparison
10 B-09 B-06 safe behaviour in the collapse cases the tail-vote clause beside the cap the gate's words for collapse scenarios (safe behaviour, not universal profit) are native evidence this model cannot give: contraction of the finality vote weight, honest pauses and recovery labelled apart from finality (D05) belong to TV-07, TV-09 and TV-15 RESOLVED by TV-01 TV-01 C01 (cap versus the year-five tail vote): the cap as the invariant; the tail-vote sentence is SUPERSEDED; RESOLVED (by D01, subject to TV-04) those gates' native runs
11 B-07 the testnet parameters' 1% tail RESOLVED by TV-01 TV-01 C12 (a tail schedule compiled into testnet-1): testnet-only and outside the monetary contract; the contract is EmissionSchedule::CURRENT with Tail::Cap on mainnet; RESOLVED (by D01: testnet-only, named)

View file

@ -1,81 +1,81 @@
horizon_year,scenario,multiple,role,route,route_status,native_receipts_base_units,native_receipts_coins,cumulative_years_1_to_h_coins,fraction_of_role_year1,fundable_cost_ceiling_bu,role_cost_bu_panel,coverage,external_job_receipts,scenario_class_panel,decision,meaning
1,m010,0.10,miners,R1-miner,IMPLEMENTED,77043119999330600,770431199.99330600,770431199.99330600,1.00000000,0.08000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.10x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.080000 BU; a panel cost above 0.080000 BU puts this cell in the failure region."
1,m010,0.10,internal provers,R1-pool,IMPLEMENTED,19260779999832649,192607799.99832649,192607799.99832649,1.00000000,0.02000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.10x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.020000 BU; a panel cost above 0.020000 BU puts this cell in the failure region."
1,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m025,0.25,miners,R1-miner,IMPLEMENTED,77043119999330600,770431199.99330600,770431199.99330600,1.00000000,0.20000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.25x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.200000 BU; a panel cost above 0.200000 BU puts this cell in the failure region."
1,m025,0.25,internal provers,R1-pool,IMPLEMENTED,19260779999832649,192607799.99832649,192607799.99832649,1.00000000,0.05000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.25x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.050000 BU; a panel cost above 0.050000 BU puts this cell in the failure region."
1,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m100,1.00,miners,R1-miner,IMPLEMENTED,77043119999330600,770431199.99330600,770431199.99330600,1.00000000,0.80000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 1.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.800000 BU; a panel cost above 0.800000 BU puts this cell in the failure region."
1,m100,1.00,internal provers,R1-pool,IMPLEMENTED,19260779999832649,192607799.99832649,192607799.99832649,1.00000000,0.20000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 1.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.200000 BU; a panel cost above 0.200000 BU puts this cell in the failure region."
1,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m400,4.00,miners,R1-miner,IMPLEMENTED,77043119999330600,770431199.99330600,770431199.99330600,1.00000000,3.20000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 4.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 3.200000 BU; a panel cost above 3.200000 BU puts this cell in the failure region."
1,m400,4.00,internal provers,R1-pool,IMPLEMENTED,19260779999832649,192607799.99832649,192607799.99832649,1.00000000,0.80000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 4.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.800000 BU; a panel cost above 0.800000 BU puts this cell in the failure region."
1,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m1000,10.00,miners,R1-miner,IMPLEMENTED,77043119999330600,770431199.99330600,770431199.99330600,1.00000000,8.00000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 10.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 8.000000 BU; a panel cost above 8.000000 BU puts this cell in the failure region."
1,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,19260779999832649,192607799.99832649,192607799.99832649,1.00000000,2.00000000,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 10.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 2.000000 BU; a panel cost above 2.000000 BU puts this cell in the failure region."
1,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
1,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m010,0.10,miners,R1-miner,IMPLEMENTED,19999999991145600,199999999.91145600,2570431199.44887080,0.25959489,0.02076759,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.10x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.020768 BU; a panel cost above 0.020768 BU puts this cell in the failure region."
5,m010,0.10,internal provers,R1-pool,IMPLEMENTED,4999999997786400,49999999.97786400,642607799.86221769,0.25959489,0.00519190,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.10x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.005192 BU; a panel cost above 0.005192 BU puts this cell in the failure region."
5,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m025,0.25,miners,R1-miner,IMPLEMENTED,19999999991145600,199999999.91145600,2570431199.44887080,0.25959489,0.05191898,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.25x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
5,m025,0.25,internal provers,R1-pool,IMPLEMENTED,4999999997786400,49999999.97786400,642607799.86221769,0.25959489,0.01297974,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.25x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region."
5,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m100,1.00,miners,R1-miner,IMPLEMENTED,19999999991145600,199999999.91145600,2570431199.44887080,0.25959489,0.20767591,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 1.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region."
5,m100,1.00,internal provers,R1-pool,IMPLEMENTED,4999999997786400,49999999.97786400,642607799.86221769,0.25959489,0.05191898,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 1.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
5,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m400,4.00,miners,R1-miner,IMPLEMENTED,19999999991145600,199999999.91145600,2570431199.44887080,0.25959489,0.83070364,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 4.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.830704 BU; a panel cost above 0.830704 BU puts this cell in the failure region."
5,m400,4.00,internal provers,R1-pool,IMPLEMENTED,4999999997786400,49999999.97786400,642607799.86221769,0.25959489,0.20767591,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 4.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region."
5,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m1000,10.00,miners,R1-miner,IMPLEMENTED,19999999991145600,199999999.91145600,2570431199.44887080,0.25959489,2.07675909,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 10.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 2.076759 BU; a panel cost above 2.076759 BU puts this cell in the failure region."
5,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,4999999997786400,49999999.97786400,642607799.86221769,0.25959489,0.51918977,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 10.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.519190 BU; a panel cost above 0.519190 BU puts this cell in the failure region."
5,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
5,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m010,0.10,miners,R1-miner,IMPLEMENTED,4999999978851840,49999999.78851840,3070431198.59635880,0.06489872,0.00519190,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.10x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.005192 BU; a panel cost above 0.005192 BU puts this cell in the failure region."
10,m010,0.10,internal provers,R1-pool,IMPLEMENTED,1249999994712960,12499999.94712960,767607799.64908969,0.06489872,0.00129797,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.10x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.001298 BU; a panel cost above 0.001298 BU puts this cell in the failure region."
10,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m025,0.25,miners,R1-miner,IMPLEMENTED,4999999978851840,49999999.78851840,3070431198.59635880,0.06489872,0.01297974,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.25x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region."
10,m025,0.25,internal provers,R1-pool,IMPLEMENTED,1249999994712960,12499999.94712960,767607799.64908969,0.06489872,0.00324494,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.25x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.003245 BU; a panel cost above 0.003245 BU puts this cell in the failure region."
10,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m100,1.00,miners,R1-miner,IMPLEMENTED,4999999978851840,49999999.78851840,3070431198.59635880,0.06489872,0.05191898,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 1.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
10,m100,1.00,internal provers,R1-pool,IMPLEMENTED,1249999994712960,12499999.94712960,767607799.64908969,0.06489872,0.01297974,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 1.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region."
10,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m400,4.00,miners,R1-miner,IMPLEMENTED,4999999978851840,49999999.78851840,3070431198.59635880,0.06489872,0.20767591,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 4.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region."
10,m400,4.00,internal provers,R1-pool,IMPLEMENTED,1249999994712960,12499999.94712960,767607799.64908969,0.06489872,0.05191898,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 4.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
10,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m1000,10.00,miners,R1-miner,IMPLEMENTED,4999999978851840,49999999.78851840,3070431198.59635880,0.06489872,0.51918977,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 10.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.519190 BU; a panel cost above 0.519190 BU puts this cell in the failure region."
10,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,1249999994712960,12499999.94712960,767607799.64908969,0.06489872,0.12979744,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 10.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.129797 BU; a panel cost above 0.129797 BU puts this cell in the failure region."
10,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
10,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m010,0.10,miners,R1-miner,IMPLEMENTED,156249983560320,1562499.83560320,3167306197.49234600,0.00202808,0.00016225,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.10x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.000162 BU; a panel cost above 0.000162 BU puts this cell in the failure region."
20,m010,0.10,internal provers,R1-pool,IMPLEMENTED,39062495890080,390624.95890080,791826549.37308649,0.00202808,0.00004056,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.10x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000041 BU; a panel cost above 0.000041 BU puts this cell in the failure region."
20,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m025,0.25,miners,R1-miner,IMPLEMENTED,156249983560320,1562499.83560320,3167306197.49234600,0.00202808,0.00040562,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.25x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.000406 BU; a panel cost above 0.000406 BU puts this cell in the failure region."
20,m025,0.25,internal provers,R1-pool,IMPLEMENTED,39062495890080,390624.95890080,791826549.37308649,0.00202808,0.00010140,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.25x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000101 BU; a panel cost above 0.000101 BU puts this cell in the failure region."
20,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m100,1.00,miners,R1-miner,IMPLEMENTED,156249983560320,1562499.83560320,3167306197.49234600,0.00202808,0.00162247,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 1.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.001622 BU; a panel cost above 0.001622 BU puts this cell in the failure region."
20,m100,1.00,internal provers,R1-pool,IMPLEMENTED,39062495890080,390624.95890080,791826549.37308649,0.00202808,0.00040562,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 1.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000406 BU; a panel cost above 0.000406 BU puts this cell in the failure region."
20,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m400,4.00,miners,R1-miner,IMPLEMENTED,156249983560320,1562499.83560320,3167306197.49234600,0.00202808,0.00648987,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 4.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.006490 BU; a panel cost above 0.006490 BU puts this cell in the failure region."
20,m400,4.00,internal provers,R1-pool,IMPLEMENTED,39062495890080,390624.95890080,791826549.37308649,0.00202808,0.00162247,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 4.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.001622 BU; a panel cost above 0.001622 BU puts this cell in the failure region."
20,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m1000,10.00,miners,R1-miner,IMPLEMENTED,156249983560320,1562499.83560320,3167306197.49234600,0.00202808,0.01622468,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 10.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.016225 BU; a panel cost above 0.016225 BU puts this cell in the failure region."
20,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,39062495890080,390624.95890080,791826549.37308649,0.00202808,0.00405617,,,0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 10.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.004056 BU; a panel cost above 0.004056 BU puts this cell in the failure region."
20,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
20,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.00000000,0.00000000,,0.00000000,,,0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer."
horizon_year,scenario,multiple,role,route,route_status,native_receipts_base_units,native_receipts_coins,cumulative_years_1_to_h_coins,fraction_of_role_year1,fundable_cost_ceiling_bu,role_cost_usd_per_year,coverage_formula,reference_value_v_star_usd_per_bu,external_job_receipts,scenario_class_panel,decision,meaning
1,m010,0.10,miners,R1-miner,IMPLEMENTED,770431199993305988400000000,770431199.993305988400000000,770431199.993305988400000000,1.00000000,0.08000000,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.10x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.080000 BU; a panel cost above 0.080000 BU puts this cell in the failure region."
1,m010,0.10,internal provers,R1-pool,IMPLEMENTED,192607799998326497088480000,192607799.998326497088480000,192607799.998326497088480000,1.00000000,0.02000000,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.10x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.020000 BU; a panel cost above 0.020000 BU puts this cell in the failure region."
1,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m025,0.25,miners,R1-miner,IMPLEMENTED,770431199993305988400000000,770431199.993305988400000000,770431199.993305988400000000,1.00000000,0.20000000,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.25x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.200000 BU; a panel cost above 0.200000 BU puts this cell in the failure region."
1,m025,0.25,internal provers,R1-pool,IMPLEMENTED,192607799998326497088480000,192607799.998326497088480000,192607799.998326497088480000,1.00000000,0.05000000,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 0.25x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.050000 BU; a panel cost above 0.050000 BU puts this cell in the failure region."
1,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m100,1.00,miners,R1-miner,IMPLEMENTED,770431199993305988400000000,770431199.993305988400000000,770431199.993305988400000000,1.00000000,0.80000000,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 1.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.800000 BU; a panel cost above 0.800000 BU puts this cell in the failure region."
1,m100,1.00,internal provers,R1-pool,IMPLEMENTED,192607799998326497088480000,192607799.998326497088480000,192607799.998326497088480000,1.00000000,0.20000000,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 1.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.200000 BU; a panel cost above 0.200000 BU puts this cell in the failure region."
1,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m400,4.00,miners,R1-miner,IMPLEMENTED,770431199993305988400000000,770431199.993305988400000000,770431199.993305988400000000,1.00000000,3.20000000,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 4.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 3.200000 BU; a panel cost above 3.200000 BU puts this cell in the failure region."
1,m400,4.00,internal provers,R1-pool,IMPLEMENTED,192607799998326497088480000,192607799.998326497088480000,192607799.998326497088480000,1.00000000,0.80000000,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 4.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.800000 BU; a panel cost above 0.800000 BU puts this cell in the failure region."
1,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m1000,10.00,miners,R1-miner,IMPLEMENTED,770431199993305988400000000,770431199.993305988400000000,770431199.993305988400000000,1.00000000,8.00000000,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 10.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 8.000000 BU; a panel cost above 8.000000 BU puts this cell in the failure region."
1,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,192607799998326497088480000,192607799.998326497088480000,192607799.998326497088480000,1.00000000,2.00000000,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 1 at 10.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 2.000000 BU; a panel cost above 2.000000 BU puts this cell in the failure region."
1,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
1,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 1 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m010,0.10,miners,R1-miner,IMPLEMENTED,199999999974571200000000000,199999999.974571200000000000,2570431199.764446788400000000,0.25959489,0.02076759,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.10x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.020768 BU; a panel cost above 0.020768 BU puts this cell in the failure region."
5,m010,0.10,internal provers,R1-pool,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,642607799.941111697088480000,0.25959489,0.00519190,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.10x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.005192 BU; a panel cost above 0.005192 BU puts this cell in the failure region."
5,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m025,0.25,miners,R1-miner,IMPLEMENTED,199999999974571200000000000,199999999.974571200000000000,2570431199.764446788400000000,0.25959489,0.05191898,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.25x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
5,m025,0.25,internal provers,R1-pool,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,642607799.941111697088480000,0.25959489,0.01297974,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 0.25x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region."
5,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m100,1.00,miners,R1-miner,IMPLEMENTED,199999999974571200000000000,199999999.974571200000000000,2570431199.764446788400000000,0.25959489,0.20767591,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 1.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region."
5,m100,1.00,internal provers,R1-pool,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,642607799.941111697088480000,0.25959489,0.05191898,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 1.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
5,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m400,4.00,miners,R1-miner,IMPLEMENTED,199999999974571200000000000,199999999.974571200000000000,2570431199.764446788400000000,0.25959489,0.83070364,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 4.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.830704 BU; a panel cost above 0.830704 BU puts this cell in the failure region."
5,m400,4.00,internal provers,R1-pool,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,642607799.941111697088480000,0.25959489,0.20767591,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 4.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region."
5,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m1000,10.00,miners,R1-miner,IMPLEMENTED,199999999974571200000000000,199999999.974571200000000000,2570431199.764446788400000000,0.25959489,2.07675909,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 10.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 2.076759 BU; a panel cost above 2.076759 BU puts this cell in the failure region."
5,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,642607799.941111697088480000,0.25959489,0.51918977,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 5 at 10.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.519190 BU; a panel cost above 0.519190 BU puts this cell in the failure region."
5,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
5,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 5 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m010,0.10,miners,R1-miner,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,3070431199.700874788400000000,0.06489872,0.00519190,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.10x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.005192 BU; a panel cost above 0.005192 BU puts this cell in the failure region."
10,m010,0.10,internal provers,R1-pool,IMPLEMENTED,12499999998410700000000000,12499999.998410700000000000,767607799.925218697088480000,0.06489872,0.00129797,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.10x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.001298 BU; a panel cost above 0.001298 BU puts this cell in the failure region."
10,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m025,0.25,miners,R1-miner,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,3070431199.700874788400000000,0.06489872,0.01297974,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.25x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region."
10,m025,0.25,internal provers,R1-pool,IMPLEMENTED,12499999998410700000000000,12499999.998410700000000000,767607799.925218697088480000,0.06489872,0.00324494,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 0.25x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.003245 BU; a panel cost above 0.003245 BU puts this cell in the failure region."
10,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m100,1.00,miners,R1-miner,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,3070431199.700874788400000000,0.06489872,0.05191898,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 1.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
10,m100,1.00,internal provers,R1-pool,IMPLEMENTED,12499999998410700000000000,12499999.998410700000000000,767607799.925218697088480000,0.06489872,0.01297974,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 1.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region."
10,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m400,4.00,miners,R1-miner,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,3070431199.700874788400000000,0.06489872,0.20767591,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 4.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region."
10,m400,4.00,internal provers,R1-pool,IMPLEMENTED,12499999998410700000000000,12499999.998410700000000000,767607799.925218697088480000,0.06489872,0.05191898,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 4.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region."
10,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m1000,10.00,miners,R1-miner,IMPLEMENTED,49999999993642800000000000,49999999.993642800000000000,3070431199.700874788400000000,0.06489872,0.51918977,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 10.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.519190 BU; a panel cost above 0.519190 BU puts this cell in the failure region."
10,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,12499999998410700000000000,12499999.998410700000000000,767607799.925218697088480000,0.06489872,0.12979744,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 10 at 10.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.129797 BU; a panel cost above 0.129797 BU puts this cell in the failure region."
10,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
10,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 10 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m010,0.10,miners,R1-miner,IMPLEMENTED,1562499999801337500000000,1562499.999801337500000000,3167306199.688557713400000000,0.00202809,0.00016225,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.10x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.000162 BU; a panel cost above 0.000162 BU puts this cell in the failure region."
20,m010,0.10,internal provers,R1-pool,IMPLEMENTED,390624999950334375000000,390624.999950334375000000,791826549.922139428338480000,0.00202809,0.00004056,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.10x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000041 BU; a panel cost above 0.000041 BU puts this cell in the failure region."
20,m010,0.10,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m010,0.10,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m025,0.25,miners,R1-miner,IMPLEMENTED,1562499999801337500000000,1562499.999801337500000000,3167306199.688557713400000000,0.00202809,0.00040562,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.25x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.000406 BU; a panel cost above 0.000406 BU puts this cell in the failure region."
20,m025,0.25,internal provers,R1-pool,IMPLEMENTED,390624999950334375000000,390624.999950334375000000,791826549.922139428338480000,0.00202809,0.00010140,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 0.25x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000101 BU; a panel cost above 0.000101 BU puts this cell in the failure region."
20,m025,0.25,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m025,0.25,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m100,1.00,miners,R1-miner,IMPLEMENTED,1562499999801337500000000,1562499.999801337500000000,3167306199.688557713400000000,0.00202809,0.00162247,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 1.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.001622 BU; a panel cost above 0.001622 BU puts this cell in the failure region."
20,m100,1.00,internal provers,R1-pool,IMPLEMENTED,390624999950334375000000,390624.999950334375000000,791826549.922139428338480000,0.00202809,0.00040562,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 1.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000406 BU; a panel cost above 0.000406 BU puts this cell in the failure region."
20,m100,1.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m100,1.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m400,4.00,miners,R1-miner,IMPLEMENTED,1562499999801337500000000,1562499.999801337500000000,3167306199.688557713400000000,0.00202809,0.00648987,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 4.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.006490 BU; a panel cost above 0.006490 BU puts this cell in the failure region."
20,m400,4.00,internal provers,R1-pool,IMPLEMENTED,390624999950334375000000,390624.999950334375000000,791826549.922139428338480000,0.00202809,0.00162247,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 4.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.001622 BU; a panel cost above 0.001622 BU puts this cell in the failure region."
20,m400,4.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m400,4.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m1000,10.00,miners,R1-miner,IMPLEMENTED,1562499999801337500000000,1562499.999801337500000000,3167306199.688557713400000000,0.00202809,0.01622468,"4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 10.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.016225 BU; a panel cost above 0.016225 BU puts this cell in the failure region."
20,m1000,10.00,internal provers,R1-pool,IMPLEMENTED,390624999950334375000000,390624.999950334375000000,791826549.922139428338480000,0.00202809,0.00405617,"4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year)",0 (D04: the external-job rate is not ratified),,NOT RUN,"In year 20 at 10.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.004056 BU; a panel cost above 0.004056 BU puts this cell in the failure region."
20,m1000,10.00,minimum validators,R1-validators,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."
20,m1000,10.00,maintenance,R1-maintenance,IMPLEMENTED,0,0.000000000000000000,0.000000000000000000,,0.00000000,"committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year","coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)","committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0",0 (D04: the external-job rate is not ratified),,BLOCKED,"In year 20 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0."

1 horizon_year scenario multiple role route route_status native_receipts_base_units native_receipts_coins cumulative_years_1_to_h_coins fraction_of_role_year1 fundable_cost_ceiling_bu role_cost_bu_panel role_cost_usd_per_year coverage coverage_formula reference_value_v_star_usd_per_bu external_job_receipts scenario_class_panel decision meaning
2 1 m010 0.10 miners R1-miner IMPLEMENTED 77043119999330600 770431199993305988400000000 770431199.99330600 770431199.993305988400000000 770431199.99330600 770431199.993305988400000000 1.00000000 0.08000000 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 0.10x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.080000 BU; a panel cost above 0.080000 BU puts this cell in the failure region.
3 1 m010 0.10 internal provers R1-pool IMPLEMENTED 19260779999832649 192607799998326497088480000 192607799.99832649 192607799.998326497088480000 192607799.99832649 192607799.998326497088480000 1.00000000 0.02000000 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 0.10x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.020000 BU; a panel cost above 0.020000 BU puts this cell in the failure region.
4 1 m010 0.10 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
5 1 m010 0.10 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
6 1 m025 0.25 miners R1-miner IMPLEMENTED 77043119999330600 770431199993305988400000000 770431199.99330600 770431199.993305988400000000 770431199.99330600 770431199.993305988400000000 1.00000000 0.20000000 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 0.25x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.200000 BU; a panel cost above 0.200000 BU puts this cell in the failure region.
7 1 m025 0.25 internal provers R1-pool IMPLEMENTED 19260779999832649 192607799998326497088480000 192607799.99832649 192607799.998326497088480000 192607799.99832649 192607799.998326497088480000 1.00000000 0.05000000 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 0.25x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.050000 BU; a panel cost above 0.050000 BU puts this cell in the failure region.
8 1 m025 0.25 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
9 1 m025 0.25 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
10 1 m100 1.00 miners R1-miner IMPLEMENTED 77043119999330600 770431199993305988400000000 770431199.99330600 770431199.993305988400000000 770431199.99330600 770431199.993305988400000000 1.00000000 0.80000000 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 1.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 0.800000 BU; a panel cost above 0.800000 BU puts this cell in the failure region.
11 1 m100 1.00 internal provers R1-pool IMPLEMENTED 19260779999832649 192607799998326497088480000 192607799.99832649 192607799.998326497088480000 192607799.99832649 192607799.998326497088480000 1.00000000 0.20000000 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 1.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.200000 BU; a panel cost above 0.200000 BU puts this cell in the failure region.
12 1 m100 1.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
13 1 m100 1.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
14 1 m400 4.00 miners R1-miner IMPLEMENTED 77043119999330600 770431199993305988400000000 770431199.99330600 770431199.993305988400000000 770431199.99330600 770431199.993305988400000000 1.00000000 3.20000000 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 4.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 3.200000 BU; a panel cost above 3.200000 BU puts this cell in the failure region.
15 1 m400 4.00 internal provers R1-pool IMPLEMENTED 19260779999832649 192607799998326497088480000 192607799.99832649 192607799.998326497088480000 192607799.99832649 192607799.998326497088480000 1.00000000 0.80000000 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 4.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.800000 BU; a panel cost above 0.800000 BU puts this cell in the failure region.
16 1 m400 4.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
17 1 m400 4.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
18 1 m1000 10.00 miners R1-miner IMPLEMENTED 77043119999330600 770431199993305988400000000 770431199.99330600 770431199.993305988400000000 770431199.99330600 770431199.993305988400000000 1.00000000 8.00000000 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 10.00x the miners receive 770,431,199 coins, 100.00% of their year-1 receipts, which covers a minimum miners cost of at most 8.000000 BU; a panel cost above 8.000000 BU puts this cell in the failure region.
19 1 m1000 10.00 internal provers R1-pool IMPLEMENTED 19260779999832649 192607799998326497088480000 192607799.99832649 192607799.998326497088480000 192607799.99832649 192607799.998326497088480000 1.00000000 2.00000000 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 1 at 10.00x the internal provers receive 192,607,799 coins, 100.00% of their year-1 receipts, which covers a minimum internal provers cost of at most 2.000000 BU; a panel cost above 2.000000 BU puts this cell in the failure region.
20 1 m1000 10.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
21 1 m1000 10.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 1 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 1 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
22 5 m010 0.10 miners R1-miner IMPLEMENTED 19999999991145600 199999999974571200000000000 199999999.91145600 199999999.974571200000000000 2570431199.44887080 2570431199.764446788400000000 0.25959489 0.02076759 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 0.10x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.020768 BU; a panel cost above 0.020768 BU puts this cell in the failure region.
23 5 m010 0.10 internal provers R1-pool IMPLEMENTED 4999999997786400 49999999993642800000000000 49999999.97786400 49999999.993642800000000000 642607799.86221769 642607799.941111697088480000 0.25959489 0.00519190 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 0.10x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.005192 BU; a panel cost above 0.005192 BU puts this cell in the failure region.
24 5 m010 0.10 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
25 5 m010 0.10 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
26 5 m025 0.25 miners R1-miner IMPLEMENTED 19999999991145600 199999999974571200000000000 199999999.91145600 199999999.974571200000000000 2570431199.44887080 2570431199.764446788400000000 0.25959489 0.05191898 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 0.25x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region.
27 5 m025 0.25 internal provers R1-pool IMPLEMENTED 4999999997786400 49999999993642800000000000 49999999.97786400 49999999.993642800000000000 642607799.86221769 642607799.941111697088480000 0.25959489 0.01297974 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 0.25x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region.
28 5 m025 0.25 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
29 5 m025 0.25 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
30 5 m100 1.00 miners R1-miner IMPLEMENTED 19999999991145600 199999999974571200000000000 199999999.91145600 199999999.974571200000000000 2570431199.44887080 2570431199.764446788400000000 0.25959489 0.20767591 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 1.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region.
31 5 m100 1.00 internal provers R1-pool IMPLEMENTED 4999999997786400 49999999993642800000000000 49999999.97786400 49999999.993642800000000000 642607799.86221769 642607799.941111697088480000 0.25959489 0.05191898 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 1.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region.
32 5 m100 1.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
33 5 m100 1.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
34 5 m400 4.00 miners R1-miner IMPLEMENTED 19999999991145600 199999999974571200000000000 199999999.91145600 199999999.974571200000000000 2570431199.44887080 2570431199.764446788400000000 0.25959489 0.83070364 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 4.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 0.830704 BU; a panel cost above 0.830704 BU puts this cell in the failure region.
35 5 m400 4.00 internal provers R1-pool IMPLEMENTED 4999999997786400 49999999993642800000000000 49999999.97786400 49999999.993642800000000000 642607799.86221769 642607799.941111697088480000 0.25959489 0.20767591 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 4.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region.
36 5 m400 4.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
37 5 m400 4.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
38 5 m1000 10.00 miners R1-miner IMPLEMENTED 19999999991145600 199999999974571200000000000 199999999.91145600 199999999.974571200000000000 2570431199.44887080 2570431199.764446788400000000 0.25959489 2.07675909 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 10.00x the miners receive 199,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum miners cost of at most 2.076759 BU; a panel cost above 2.076759 BU puts this cell in the failure region.
39 5 m1000 10.00 internal provers R1-pool IMPLEMENTED 4999999997786400 49999999993642800000000000 49999999.97786400 49999999.993642800000000000 642607799.86221769 642607799.941111697088480000 0.25959489 0.51918977 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 5 at 10.00x the internal provers receive 49,999,999 coins, 25.96% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.519190 BU; a panel cost above 0.519190 BU puts this cell in the failure region.
40 5 m1000 10.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
41 5 m1000 10.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 5 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 5 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
42 10 m010 0.10 miners R1-miner IMPLEMENTED 4999999978851840 49999999993642800000000000 49999999.78851840 49999999.993642800000000000 3070431198.59635880 3070431199.700874788400000000 0.06489872 0.00519190 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 0.10x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.005192 BU; a panel cost above 0.005192 BU puts this cell in the failure region.
43 10 m010 0.10 internal provers R1-pool IMPLEMENTED 1249999994712960 12499999998410700000000000 12499999.94712960 12499999.998410700000000000 767607799.64908969 767607799.925218697088480000 0.06489872 0.00129797 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 0.10x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.001298 BU; a panel cost above 0.001298 BU puts this cell in the failure region.
44 10 m010 0.10 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
45 10 m010 0.10 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
46 10 m025 0.25 miners R1-miner IMPLEMENTED 4999999978851840 49999999993642800000000000 49999999.78851840 49999999.993642800000000000 3070431198.59635880 3070431199.700874788400000000 0.06489872 0.01297974 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 0.25x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region.
47 10 m025 0.25 internal provers R1-pool IMPLEMENTED 1249999994712960 12499999998410700000000000 12499999.94712960 12499999.998410700000000000 767607799.64908969 767607799.925218697088480000 0.06489872 0.00324494 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 0.25x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.003245 BU; a panel cost above 0.003245 BU puts this cell in the failure region.
48 10 m025 0.25 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
49 10 m025 0.25 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
50 10 m100 1.00 miners R1-miner IMPLEMENTED 4999999978851840 49999999993642800000000000 49999999.78851840 49999999.993642800000000000 3070431198.59635880 3070431199.700874788400000000 0.06489872 0.05191898 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 1.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region.
51 10 m100 1.00 internal provers R1-pool IMPLEMENTED 1249999994712960 12499999998410700000000000 12499999.94712960 12499999.998410700000000000 767607799.64908969 767607799.925218697088480000 0.06489872 0.01297974 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 1.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.012980 BU; a panel cost above 0.012980 BU puts this cell in the failure region.
52 10 m100 1.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
53 10 m100 1.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
54 10 m400 4.00 miners R1-miner IMPLEMENTED 4999999978851840 49999999993642800000000000 49999999.78851840 49999999.993642800000000000 3070431198.59635880 3070431199.700874788400000000 0.06489872 0.20767591 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 4.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.207676 BU; a panel cost above 0.207676 BU puts this cell in the failure region.
55 10 m400 4.00 internal provers R1-pool IMPLEMENTED 1249999994712960 12499999998410700000000000 12499999.94712960 12499999.998410700000000000 767607799.64908969 767607799.925218697088480000 0.06489872 0.05191898 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 4.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.051919 BU; a panel cost above 0.051919 BU puts this cell in the failure region.
56 10 m400 4.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
57 10 m400 4.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
58 10 m1000 10.00 miners R1-miner IMPLEMENTED 4999999978851840 49999999993642800000000000 49999999.78851840 49999999.993642800000000000 3070431198.59635880 3070431199.700874788400000000 0.06489872 0.51918977 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 10.00x the miners receive 49,999,999 coins, 6.49% of their year-1 receipts, which covers a minimum miners cost of at most 0.519190 BU; a panel cost above 0.519190 BU puts this cell in the failure region.
59 10 m1000 10.00 internal provers R1-pool IMPLEMENTED 1249999994712960 12499999998410700000000000 12499999.94712960 12499999.998410700000000000 767607799.64908969 767607799.925218697088480000 0.06489872 0.12979744 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 10 at 10.00x the internal provers receive 12,499,999 coins, 6.49% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.129797 BU; a panel cost above 0.129797 BU puts this cell in the failure region.
60 10 m1000 10.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
61 10 m1000 10.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 10 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 10 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
62 20 m010 0.10 miners R1-miner IMPLEMENTED 156249983560320 1562499999801337500000000 1562499.83560320 1562499.999801337500000000 3167306197.49234600 3167306199.688557713400000000 0.00202808 0.00202809 0.00016225 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 0.10x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.000162 BU; a panel cost above 0.000162 BU puts this cell in the failure region.
63 20 m010 0.10 internal provers R1-pool IMPLEMENTED 39062495890080 390624999950334375000000 390624.95890080 390624.999950334375000000 791826549.37308649 791826549.922139428338480000 0.00202808 0.00202809 0.00004056 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 0.10x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000041 BU; a panel cost above 0.000041 BU puts this cell in the failure region.
64 20 m010 0.10 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 0.10x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
65 20 m010 0.10 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 0.10x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
66 20 m025 0.25 miners R1-miner IMPLEMENTED 156249983560320 1562499999801337500000000 1562499.83560320 1562499.999801337500000000 3167306197.49234600 3167306199.688557713400000000 0.00202808 0.00202809 0.00040562 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 0.25x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.000406 BU; a panel cost above 0.000406 BU puts this cell in the failure region.
67 20 m025 0.25 internal provers R1-pool IMPLEMENTED 39062495890080 390624999950334375000000 390624.95890080 390624.999950334375000000 791826549.37308649 791826549.922139428338480000 0.00202808 0.00202809 0.00010140 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 0.25x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000101 BU; a panel cost above 0.000101 BU puts this cell in the failure region.
68 20 m025 0.25 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 0.25x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
69 20 m025 0.25 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 0.25x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
70 20 m100 1.00 miners R1-miner IMPLEMENTED 156249983560320 1562499999801337500000000 1562499.83560320 1562499.999801337500000000 3167306197.49234600 3167306199.688557713400000000 0.00202808 0.00202809 0.00162247 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 1.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.001622 BU; a panel cost above 0.001622 BU puts this cell in the failure region.
71 20 m100 1.00 internal provers R1-pool IMPLEMENTED 39062495890080 390624999950334375000000 390624.95890080 390624.999950334375000000 791826549.37308649 791826549.922139428338480000 0.00202808 0.00202809 0.00040562 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 1.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.000406 BU; a panel cost above 0.000406 BU puts this cell in the failure region.
72 20 m100 1.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 1.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
73 20 m100 1.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 1.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
74 20 m400 4.00 miners R1-miner IMPLEMENTED 156249983560320 1562499999801337500000000 1562499.83560320 1562499.999801337500000000 3167306197.49234600 3167306199.688557713400000000 0.00202808 0.00202809 0.00648987 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 4.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.006490 BU; a panel cost above 0.006490 BU puts this cell in the failure region.
75 20 m400 4.00 internal provers R1-pool IMPLEMENTED 39062495890080 390624999950334375000000 390624.95890080 390624.999950334375000000 791826549.37308649 791826549.922139428338480000 0.00202808 0.00202809 0.00162247 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 4.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.001622 BU; a panel cost above 0.001622 BU puts this cell in the failure region.
76 20 m400 4.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 4.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
77 20 m400 4.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 4.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
78 20 m1000 10.00 miners R1-miner IMPLEMENTED 156249983560320 1562499999801337500000000 1562499.83560320 1562499.999801337500000000 3167306197.49234600 3167306199.688557713400000000 0.00202808 0.00202809 0.01622468 4090, RunPod median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED, missing the minimum network hashrate the security model requires (N-min-hashrate) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 4090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) | 5090, Vast median rate: BLOCKED: missing the minimum network hashrate the security model requires (N-min-hashrate) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 10.00x the miners receive 1,562,499 coins, 0.20% of their year-1 receipts, which covers a minimum miners cost of at most 0.016225 BU; a panel cost above 0.016225 BU puts this cell in the failure region.
79 20 m1000 10.00 internal provers R1-pool IMPLEMENTED 39062495890080 390624999950334375000000 390624.95890080 390624.999950334375000000 791826549.37308649 791826549.922139428338480000 0.00202808 0.00202809 0.00405617 4090, RunPod median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED, missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) 4090, RunPod median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 4090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) | 5090, Vast median rate: BLOCKED: missing the proof records per year the chain must prove at the declared minimum workload (N-shards-year) 0 (D04: the external-job rate is not ratified) NOT RUN In year 20 at 10.00x the internal provers receive 390,624 coins, 0.20% of their year-1 receipts, which covers a minimum internal provers cost of at most 0.004056 BU; a panel cost above 0.004056 BU puts this cell in the failure region.
80 20 m1000 10.00 minimum validators R1-validators IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 the minimum hub count: BLOCKED, missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): USD 19460.52 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) the minimum hub count: BLOCKED: missing minimum hub count (validating non-mining full nodes) (N-min-hubs) | the devnet's 3 hubs (a configuration, not a minimum): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 10.00x the protocol routes nothing to minimum validators, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.
81 20 m1000 10.00 maintenance R1-maintenance IMPLEMENTED 0 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 committed maintenance: BLOCKED, missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): USD 5358.24 a year coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure) committed maintenance: BLOCKED: missing committed maintenance (people-hours or USD per month) (N-maint-month) | committed infrastructure only (the build server; a floor, not the whole): none: the protocol budget is zero, so no V brings coverage to 1.0 0 (D04: the external-job rate is not ratified) BLOCKED In year 20 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer. In year 20 at 10.00x the protocol routes nothing to maintenance, so any positive minimum cost for the role is in the failure region until D03 names its recurring payer; no V brings its coverage to 1.0.

View file

@ -1,21 +1,21 @@
year,emission_base_units,emission_coins,cumulative_coins,cumulative_fraction_of_cap,miners_coins,internal_provers_coins,fraction_of_year1_emission
1,96303899999163249,963038999.99163249,963038999.99163249,0.24075975,770431199.99330600,192607799.99832649,1.00000000
2,99999999987285600,999999999.87285600,1963038999.86448849,0.49075975,799999999.89828480,199999999.97457120,1.03837955
3,49999999977864000,499999999.77864000,2463038999.64312849,0.61575975,399999999.82291200,99999999.95572800,0.51918977
4,49999999977864000,499999999.77864000,2963038999.42176849,0.74075975,399999999.82291200,99999999.95572800,0.51918977
5,24999999988932000,249999999.88932000,3213038999.31108849,0.80325975,199999999.91145600,49999999.97786400,0.25959489
6,24999999988932000,249999999.88932000,3463038999.20040849,0.86575975,199999999.91145600,49999999.97786400,0.25959489
7,12499999978687200,124999999.78687200,3588038998.98728049,0.89700975,99999999.82949760,24999999.95737440,0.12979744
8,12499999978687200,124999999.78687200,3713038998.77415249,0.92825975,99999999.82949760,24999999.95737440,0.12979744
9,6249999973564800,62499999.73564800,3775538998.50980049,0.94388475,49999999.78851840,12499999.94712960,0.06489872
10,6249999973564800,62499999.73564800,3838038998.24544849,0.95950975,49999999.78851840,12499999.94712960,0.06489872
11,3124999986782400,31249999.86782400,3869288998.11327249,0.96732225,24999999.89425920,6249999.97356480,0.03244936
12,3124999986782400,31249999.86782400,3900538997.98109649,0.97513475,24999999.89425920,6249999.97356480,0.03244936
13,1562499993391200,15624999.93391200,3916163997.91500849,0.97904100,12499999.94712960,3124999.98678240,0.01622468
14,1562499993391200,15624999.93391200,3931788997.84892049,0.98294725,12499999.94712960,3124999.98678240,0.01622468
15,781249980916800,7812499.80916800,3939601497.65808849,0.98490037,6249999.84733440,1562499.96183360,0.00811234
16,781249980916800,7812499.80916800,3947413997.46725649,0.98685350,6249999.84733440,1562499.96183360,0.00811234
17,390624990458400,3906249.90458400,3951320247.37184049,0.98783006,3124999.92366720,781249.98091680,0.00405617
18,390624990458400,3906249.90458400,3955226497.27642449,0.98880662,3124999.92366720,781249.98091680,0.00405617
19,195312479450400,1953124.79450400,3957179622.07092849,0.98929491,1562499.83560320,390624.95890080,0.00202808
20,195312479450400,1953124.79450400,3959132746.86543249,0.98978319,1562499.83560320,390624.95890080,0.00202808
1,963038999991632485488480000,963038999.991632485488480000,963038999.991632485488480000,0.24075975,770431199.993305988400000000,192607799.998326497088480000,1.00000000
2,999999999872856000000000000,999999999.872856000000000000,1963038999.864488485488480000,0.49075975,799999999.898284800000000000,199999999.974571200000000000,1.03837955
3,499999999936428000000000000,499999999.936428000000000000,2463038999.800916485488480000,0.61575975,399999999.949142400000000000,99999999.987285600000000000,0.51918977
4,499999999936428000000000000,499999999.936428000000000000,2963038999.737344485488480000,0.74075975,399999999.949142400000000000,99999999.987285600000000000,0.51918977
5,249999999968214000000000000,249999999.968214000000000000,3213038999.705558485488480000,0.80325975,199999999.974571200000000000,49999999.993642800000000000,0.25959489
6,249999999968214000000000000,249999999.968214000000000000,3463038999.673772485488480000,0.86575975,199999999.974571200000000000,49999999.993642800000000000,0.25959489
7,124999999984107000000000000,124999999.984107000000000000,3588038999.657879485488480000,0.89700975,99999999.987285600000000000,24999999.996821400000000000,0.12979744
8,124999999984107000000000000,124999999.984107000000000000,3713038999.641986485488480000,0.92825975,99999999.987285600000000000,24999999.996821400000000000,0.12979744
9,62499999992053500000000000,62499999.992053500000000000,3775538999.634039985488480000,0.94388475,49999999.993642800000000000,12499999.998410700000000000,0.06489872
10,62499999992053500000000000,62499999.992053500000000000,3838038999.626093485488480000,0.95950975,49999999.993642800000000000,12499999.998410700000000000,0.06489872
11,31249999996026750000000000,31249999.996026750000000000,3869288999.622120235488480000,0.96732225,24999999.996821400000000000,6249999.999205350000000000,0.03244936
12,31249999996026750000000000,31249999.996026750000000000,3900538999.618146985488480000,0.97513475,24999999.996821400000000000,6249999.999205350000000000,0.03244936
13,15624999998013375000000000,15624999.998013375000000000,3916163999.616160360488480000,0.97904100,12499999.998410700000000000,3124999.999602675000000000,0.01622468
14,15624999998013375000000000,15624999.998013375000000000,3931788999.614173735488480000,0.98294725,12499999.998410700000000000,3124999.999602675000000000,0.01622468
15,7812499999006687500000000,7812499.999006687500000000,3939601499.613180422988480000,0.98490037,6249999.999205350000000000,1562499.999801337500000000,0.00811234
16,7812499999006687500000000,7812499.999006687500000000,3947413999.612187110488480000,0.98685350,6249999.999205350000000000,1562499.999801337500000000,0.00811234
17,3906249999503343750000000,3906249.999503343750000000,3951320249.611690454238480000,0.98783006,3124999.999602675000000000,781249.999900668750000000,0.00405617
18,3906249999503343750000000,3906249.999503343750000000,3955226499.611193797988480000,0.98880662,3124999.999602675000000000,781249.999900668750000000,0.00405617
19,1953124999751671875000000,1953124.999751671875000000,3957179624.610945469863480000,0.98929491,1562499.999801337500000000,390624.999950334375000000,0.00202809
20,1953124999751671875000000,1953124.999751671875000000,3959132749.610697141738480000,0.98978319,1562499.999801337500000000,390624.999950334375000000,0.00202809

1 year emission_base_units emission_coins cumulative_coins cumulative_fraction_of_cap miners_coins internal_provers_coins fraction_of_year1_emission
2 1 96303899999163249 963038999991632485488480000 963038999.99163249 963038999.991632485488480000 963038999.99163249 963038999.991632485488480000 0.24075975 770431199.99330600 770431199.993305988400000000 192607799.99832649 192607799.998326497088480000 1.00000000
3 2 99999999987285600 999999999872856000000000000 999999999.87285600 999999999.872856000000000000 1963038999.86448849 1963038999.864488485488480000 0.49075975 799999999.89828480 799999999.898284800000000000 199999999.97457120 199999999.974571200000000000 1.03837955
4 3 49999999977864000 499999999936428000000000000 499999999.77864000 499999999.936428000000000000 2463038999.64312849 2463038999.800916485488480000 0.61575975 399999999.82291200 399999999.949142400000000000 99999999.95572800 99999999.987285600000000000 0.51918977
5 4 49999999977864000 499999999936428000000000000 499999999.77864000 499999999.936428000000000000 2963038999.42176849 2963038999.737344485488480000 0.74075975 399999999.82291200 399999999.949142400000000000 99999999.95572800 99999999.987285600000000000 0.51918977
6 5 24999999988932000 249999999968214000000000000 249999999.88932000 249999999.968214000000000000 3213038999.31108849 3213038999.705558485488480000 0.80325975 199999999.91145600 199999999.974571200000000000 49999999.97786400 49999999.993642800000000000 0.25959489
7 6 24999999988932000 249999999968214000000000000 249999999.88932000 249999999.968214000000000000 3463038999.20040849 3463038999.673772485488480000 0.86575975 199999999.91145600 199999999.974571200000000000 49999999.97786400 49999999.993642800000000000 0.25959489
8 7 12499999978687200 124999999984107000000000000 124999999.78687200 124999999.984107000000000000 3588038998.98728049 3588038999.657879485488480000 0.89700975 99999999.82949760 99999999.987285600000000000 24999999.95737440 24999999.996821400000000000 0.12979744
9 8 12499999978687200 124999999984107000000000000 124999999.78687200 124999999.984107000000000000 3713038998.77415249 3713038999.641986485488480000 0.92825975 99999999.82949760 99999999.987285600000000000 24999999.95737440 24999999.996821400000000000 0.12979744
10 9 6249999973564800 62499999992053500000000000 62499999.73564800 62499999.992053500000000000 3775538998.50980049 3775538999.634039985488480000 0.94388475 49999999.78851840 49999999.993642800000000000 12499999.94712960 12499999.998410700000000000 0.06489872
11 10 6249999973564800 62499999992053500000000000 62499999.73564800 62499999.992053500000000000 3838038998.24544849 3838038999.626093485488480000 0.95950975 49999999.78851840 49999999.993642800000000000 12499999.94712960 12499999.998410700000000000 0.06489872
12 11 3124999986782400 31249999996026750000000000 31249999.86782400 31249999.996026750000000000 3869288998.11327249 3869288999.622120235488480000 0.96732225 24999999.89425920 24999999.996821400000000000 6249999.97356480 6249999.999205350000000000 0.03244936
13 12 3124999986782400 31249999996026750000000000 31249999.86782400 31249999.996026750000000000 3900538997.98109649 3900538999.618146985488480000 0.97513475 24999999.89425920 24999999.996821400000000000 6249999.97356480 6249999.999205350000000000 0.03244936
14 13 1562499993391200 15624999998013375000000000 15624999.93391200 15624999.998013375000000000 3916163997.91500849 3916163999.616160360488480000 0.97904100 12499999.94712960 12499999.998410700000000000 3124999.98678240 3124999.999602675000000000 0.01622468
15 14 1562499993391200 15624999998013375000000000 15624999.93391200 15624999.998013375000000000 3931788997.84892049 3931788999.614173735488480000 0.98294725 12499999.94712960 12499999.998410700000000000 3124999.98678240 3124999.999602675000000000 0.01622468
16 15 781249980916800 7812499999006687500000000 7812499.80916800 7812499.999006687500000000 3939601497.65808849 3939601499.613180422988480000 0.98490037 6249999.84733440 6249999.999205350000000000 1562499.96183360 1562499.999801337500000000 0.00811234
17 16 781249980916800 7812499999006687500000000 7812499.80916800 7812499.999006687500000000 3947413997.46725649 3947413999.612187110488480000 0.98685350 6249999.84733440 6249999.999205350000000000 1562499.96183360 1562499.999801337500000000 0.00811234
18 17 390624990458400 3906249999503343750000000 3906249.90458400 3906249.999503343750000000 3951320247.37184049 3951320249.611690454238480000 0.98783006 3124999.92366720 3124999.999602675000000000 781249.98091680 781249.999900668750000000 0.00405617
19 18 390624990458400 3906249999503343750000000 3906249.90458400 3906249.999503343750000000 3955226497.27642449 3955226499.611193797988480000 0.98880662 3124999.92366720 3124999.999602675000000000 781249.98091680 781249.999900668750000000 0.00405617
20 19 195312479450400 1953124999751671875000000 1953124.79450400 1953124.999751671875000000 3957179622.07092849 3957179624.610945469863480000 0.98929491 1562499.83560320 1562499.999801337500000000 390624.95890080 390624.999950334375000000 0.00202808 0.00202809
21 20 195312479450400 1953124999751671875000000 1953124.79450400 1953124.999751671875000000 3959132746.86543249 3959132749.610697141738480000 0.98978319 1562499.83560320 1562499.999801337500000000 390624.95890080 390624.999950334375000000 0.00202808 0.00202809

View file

@ -1,21 +1,21 @@
year,miner_gap_to_year1_coins,tips_needed_per_year_coins_floor,tips_needed_as_fraction_of_baseline,internal_provers
1,0.00000000,0.00000000,0.00000000,no tip route to provers in the node's code (BLOCKED row B-01)
2,0.00000000,0.00000000,0.00000000,no tip route to provers in the node's code (BLOCKED row B-01)
3,370431200.17039400,463039000.21299250,0.48081023,no tip route to provers in the node's code (BLOCKED row B-01)
4,370431200.17039400,463039000.21299250,0.48081023,no tip route to provers in the node's code (BLOCKED row B-01)
5,570431200.08185000,713039000.10231250,0.74040511,no tip route to provers in the node's code (BLOCKED row B-01)
6,570431200.08185000,713039000.10231250,0.74040511,no tip route to provers in the node's code (BLOCKED row B-01)
7,670431200.16380840,838039000.20476050,0.87020256,no tip route to provers in the node's code (BLOCKED row B-01)
8,670431200.16380840,838039000.20476050,0.87020256,no tip route to provers in the node's code (BLOCKED row B-01)
9,720431200.20478760,900539000.25598450,0.93510128,no tip route to provers in the node's code (BLOCKED row B-01)
10,720431200.20478760,900539000.25598450,0.93510128,no tip route to provers in the node's code (BLOCKED row B-01)
11,745431200.09904680,931789000.12380850,0.96755064,no tip route to provers in the node's code (BLOCKED row B-01)
12,745431200.09904680,931789000.12380850,0.96755064,no tip route to provers in the node's code (BLOCKED row B-01)
13,757931200.04617640,947414000.05772050,0.98377532,no tip route to provers in the node's code (BLOCKED row B-01)
14,757931200.04617640,947414000.05772050,0.98377532,no tip route to provers in the node's code (BLOCKED row B-01)
15,764181200.14597160,955226500.18246450,0.99188766,no tip route to provers in the node's code (BLOCKED row B-01)
16,764181200.14597160,955226500.18246450,0.99188766,no tip route to provers in the node's code (BLOCKED row B-01)
17,767306200.06963880,959132750.08704850,0.99594383,no tip route to provers in the node's code (BLOCKED row B-01)
18,767306200.06963880,959132750.08704850,0.99594383,no tip route to provers in the node's code (BLOCKED row B-01)
19,768868700.15770280,961085875.19712850,0.99797192,no tip route to provers in the node's code (BLOCKED row B-01)
20,768868700.15770280,961085875.19712850,0.99797192,no tip route to provers in the node's code (BLOCKED row B-01)
1,0.000000000000000000,0.000000000000000000,0.00000000,no tip route to provers in the node's code (BLOCKED row B-01)
2,0.000000000000000000,0.000000000000000000,0.00000000,no tip route to provers in the node's code (BLOCKED row B-01)
3,370431200.044163588400000000,463039000.055204485500000000,0.48081023,no tip route to provers in the node's code (BLOCKED row B-01)
4,370431200.044163588400000000,463039000.055204485500000000,0.48081023,no tip route to provers in the node's code (BLOCKED row B-01)
5,570431200.018734788400000000,713039000.023418485500000000,0.74040511,no tip route to provers in the node's code (BLOCKED row B-01)
6,570431200.018734788400000000,713039000.023418485500000000,0.74040511,no tip route to provers in the node's code (BLOCKED row B-01)
7,670431200.006020388400000000,838039000.007525485500000000,0.87020256,no tip route to provers in the node's code (BLOCKED row B-01)
8,670431200.006020388400000000,838039000.007525485500000000,0.87020256,no tip route to provers in the node's code (BLOCKED row B-01)
9,720431199.999663188400000000,900538999.999578985500000000,0.93510128,no tip route to provers in the node's code (BLOCKED row B-01)
10,720431199.999663188400000000,900538999.999578985500000000,0.93510128,no tip route to provers in the node's code (BLOCKED row B-01)
11,745431199.996484588400000000,931788999.995605735500000000,0.96755064,no tip route to provers in the node's code (BLOCKED row B-01)
12,745431199.996484588400000000,931788999.995605735500000000,0.96755064,no tip route to provers in the node's code (BLOCKED row B-01)
13,757931199.994895288400000000,947413999.993619110500000000,0.98377532,no tip route to provers in the node's code (BLOCKED row B-01)
14,757931199.994895288400000000,947413999.993619110500000000,0.98377532,no tip route to provers in the node's code (BLOCKED row B-01)
15,764181199.994100638400000000,955226499.992625798000000000,0.99188766,no tip route to provers in the node's code (BLOCKED row B-01)
16,764181199.994100638400000000,955226499.992625798000000000,0.99188766,no tip route to provers in the node's code (BLOCKED row B-01)
17,767306199.993703313400000000,959132749.992129141750000000,0.99594383,no tip route to provers in the node's code (BLOCKED row B-01)
18,767306199.993703313400000000,959132749.992129141750000000,0.99594383,no tip route to provers in the node's code (BLOCKED row B-01)
19,768868699.993504650900000000,961085874.991880813625000000,0.99797191,no tip route to provers in the node's code (BLOCKED row B-01)
20,768868699.993504650900000000,961085874.991880813625000000,0.99797191,no tip route to provers in the node's code (BLOCKED row B-01)

1 year miner_gap_to_year1_coins tips_needed_per_year_coins_floor tips_needed_as_fraction_of_baseline internal_provers
2 1 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 no tip route to provers in the node's code (BLOCKED row B-01)
3 2 0.00000000 0.000000000000000000 0.00000000 0.000000000000000000 0.00000000 no tip route to provers in the node's code (BLOCKED row B-01)
4 3 370431200.17039400 370431200.044163588400000000 463039000.21299250 463039000.055204485500000000 0.48081023 no tip route to provers in the node's code (BLOCKED row B-01)
5 4 370431200.17039400 370431200.044163588400000000 463039000.21299250 463039000.055204485500000000 0.48081023 no tip route to provers in the node's code (BLOCKED row B-01)
6 5 570431200.08185000 570431200.018734788400000000 713039000.10231250 713039000.023418485500000000 0.74040511 no tip route to provers in the node's code (BLOCKED row B-01)
7 6 570431200.08185000 570431200.018734788400000000 713039000.10231250 713039000.023418485500000000 0.74040511 no tip route to provers in the node's code (BLOCKED row B-01)
8 7 670431200.16380840 670431200.006020388400000000 838039000.20476050 838039000.007525485500000000 0.87020256 no tip route to provers in the node's code (BLOCKED row B-01)
9 8 670431200.16380840 670431200.006020388400000000 838039000.20476050 838039000.007525485500000000 0.87020256 no tip route to provers in the node's code (BLOCKED row B-01)
10 9 720431200.20478760 720431199.999663188400000000 900539000.25598450 900538999.999578985500000000 0.93510128 no tip route to provers in the node's code (BLOCKED row B-01)
11 10 720431200.20478760 720431199.999663188400000000 900539000.25598450 900538999.999578985500000000 0.93510128 no tip route to provers in the node's code (BLOCKED row B-01)
12 11 745431200.09904680 745431199.996484588400000000 931789000.12380850 931788999.995605735500000000 0.96755064 no tip route to provers in the node's code (BLOCKED row B-01)
13 12 745431200.09904680 745431199.996484588400000000 931789000.12380850 931788999.995605735500000000 0.96755064 no tip route to provers in the node's code (BLOCKED row B-01)
14 13 757931200.04617640 757931199.994895288400000000 947414000.05772050 947413999.993619110500000000 0.98377532 no tip route to provers in the node's code (BLOCKED row B-01)
15 14 757931200.04617640 757931199.994895288400000000 947414000.05772050 947413999.993619110500000000 0.98377532 no tip route to provers in the node's code (BLOCKED row B-01)
16 15 764181200.14597160 764181199.994100638400000000 955226500.18246450 955226499.992625798000000000 0.99188766 no tip route to provers in the node's code (BLOCKED row B-01)
17 16 764181200.14597160 764181199.994100638400000000 955226500.18246450 955226499.992625798000000000 0.99188766 no tip route to provers in the node's code (BLOCKED row B-01)
18 17 767306200.06963880 767306199.993703313400000000 959132750.08704850 959132749.992129141750000000 0.99594383 no tip route to provers in the node's code (BLOCKED row B-01)
19 18 767306200.06963880 767306199.993703313400000000 959132750.08704850 959132749.992129141750000000 0.99594383 no tip route to provers in the node's code (BLOCKED row B-01)
20 19 768868700.15770280 768868699.993504650900000000 961085875.19712850 961085874.991880813625000000 0.99797192 0.99797191 no tip route to provers in the node's code (BLOCKED row B-01)
21 20 768868700.15770280 768868699.993504650900000000 961085875.19712850 961085874.991880813625000000 0.99797192 0.99797191 no tip route to provers in the node's code (BLOCKED row B-01)

View file

@ -1,9 +1,9 @@
id,parameter,value,unit,status,source
S-rate,launch rate,3168808781,base units per DAA second (8 decimals),IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap)"
S-ramp,launch ramp,2592000 s from 10%,DAA seconds,IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap)"
S-step,decay step,"63115200 s, rate divided by 2",DAA seconds,IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap)"
S-tail,tail,cap,,RATIFIED (D01) and IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap); D01 capped issuance, subject to TV-04; D02 the schedule pending evidence, so every figure here is conditional on this schedule"
S-cap,cap,4000000000,coins,RATIFIED (D01) and IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap)"
S-rate,launch rate,31688087810000000000,"base units per DAA second (18 decimals), 10 blocks a second",IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)"
S-ramp,launch ramp,2592000 s from 10%,DAA seconds,IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)"
S-step,decay step,"63115200 s, rate divided by 2",DAA seconds,IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)"
S-tail,tail,cap,,RATIFIED (D01) and IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block); D01 capped issuance, subject to TV-04; D02 the schedule pending evidence, so every figure here is conditional on this schedule"
S-cap,cap,4000000000,coins,RATIFIED (D01) and IMPLEMENTED,"node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)"
R1-miner,"emission, producer share",80%,to miners,IMPLEMENTED,"igneum.rs lines 43 to 44 and 123 to 126; the litepaper's routing table, row 1"
R1-pool,"emission, proving pool share",20%,to internal provers,IMPLEMENTED,"igneum.rs lines 43 to 44 and 85 to 88; the litepaper's routing table, row 1"
R1-validators,emission to minimum validators,0%,to minimum validators,IMPLEMENTED,"no such output in the coinbase (igneum.rs lines 90 to 121); the litepaper: 0% to treasury, foundation, team or stake"
@ -11,7 +11,7 @@ R1-maintenance,emission to maintenance,0%,to maintenance,IMPLEMENTED,"no emissio
R2-base,"base fee, both gas dimensions",100%,to burn,IMPLEMENTED,fees.rs lines 131 to 132 (burned in full); executor.rs lines 318 to 329 (the execution base part and the proving charge burned)
R3-tip-miner,"priority fee (tip), beneficiary share",80%,to miners,IMPLEMENTED,igneum/exec config.rs lines 75 to 76 (80% to the including miner); executor.rs line 729 (the beneficiary credited the miner tip)
R3-tip-dev,"priority fee (tip), developer share",20%,to developers (not a security role),IMPLEMENTED,igneum/exec config.rs lines 75 to 76; pgas.rs lines 287 to 310
R3-tip-provers,"priority fee (tip), provers' part",0%,to internal provers,BLOCKED,"the node's code pays the 80% tip share to the beneficiary alone (executor.rs lines 318 to 329, line 729); the litepaper's routing table, row 3, reads '80% the block's miner and provers' with no split. The master, p. 36: resolve the discrepancy between the fee table and prose before modelling security income."
R3-tip-provers,"priority fee (tip), provers' part",0%,to internal provers,"IMPLEMENTED (TV-01 C10 resolved, confirmed by the node lane 10:06 UK: the code, none to provers; the design's proving payment is on an unmerged branch with no activation)","the node's code pays the 80% tip share to the beneficiary alone (executor.rs lines 318 to 329, line 729); the litepaper's routing table, row 3, reads '80% the block's miner and provers' with no split. The master, p. 36: resolve the discrepancy between the fee table and prose before modelling security income."
R4-external-launch,external job at launch (customer's chain),not used (zero),to the delivering miner (outside the native ledger),UNRATIFIED,"the litepaper's routing table, row 4 (Designed); D04: the external-job rate is not ratified"
R5-external-bridge,external job after the proof bridge,not used (zero),to internal provers (the delivering provers),UNRATIFIED,"the litepaper's routing table, row 5 (Designed, phase two; 90% to provers, 10% burned as published); D04: the external-job rate is not ratified, so the published 90/10 is a parameter here and the tables carry zero external jobs"
R6-devfee,the official miner client's optional dev fee,not used (zero),"to the project (operator income, outside the protocol)",UNRATIFIED,"the litepaper's routing table, row 6: never added to rows 1 to 5; switchable by every miner, so not a committed resource (the master, p. 68, P13)"
@ -21,9 +21,20 @@ m100,scenario multiple,1.00,"of the baseline's purchasing power, constant over t
m400,scenario multiple,4.00,"of the baseline's purchasing power, constant over the horizon",RATIFIED (TV-04 method words),4x
m1000,scenario multiple,10.00,"of the baseline's purchasing power, constant over the horizon",RATIFIED (TV-04 method words),10x
X-ext,external jobs per year,0,jobs,UNRATIFIED (D04),"TV-04 method: zero external jobs; the rate is a parameter, never a result"
C-miners,minimum required miner cost per year,,"BU (one BU = the purchasing power of the baseline, the whole year-1 subsidy, on the 1x path)",PANEL,"the master, p. 68, P12: its electricity, productive-life and development grids are the panel's inputs; p. 88 to 89, ECO-01 to ECO-06 for the cost reconciliation"
C-provers,minimum required internal proving cost per year,,BU,PANEL,"the master, p. 36 (the historical shard timings, not reproduced for this edition) and p. 89, ECO-06"
C-validators,minimum required validator cost per year,,BU,PANEL,"the volume, p. 15 (minimum-node resources) and TV-10; no figure in the volume or the master"
C-maintenance,minimum required maintenance cost per year,,BU,PANEL,"the master, p. 68, P13 (at least 12 months of committed resources); the volume, p. 31; no figure in the volume or the master"
F-4090-rp-rate,"USD per hour of one rented RTX 4090, RunPod median (57 cards, 0.34 to 0.89)",0.74,USD per hour,MEASURED,"the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK"
F-4090-vast-rate,"USD per hour of one rented RTX 4090, Vast median (3 cards, 0.322 to 0.376)",0.376,USD per hour,MEASURED,"the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK"
F-5090-vast-rate,"USD per hour of one rented RTX 5090, Vast median (6 cards, 0.41 to 0.509)",0.47,USD per hour,MEASURED,"the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK"
F-4090-mhs,"accepted MH/s of one RTX 4090 mining on the current class (wall, hub-1, 12.1 h continuous, 0 rejected, 263 W, 08:50:08Z)",57.20,MH/s,MEASURED,the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log
F-5090-mhs,"MH/s of one RTX 5090 mining on the current class (inside jobs, steady lines 97.2 to 97.6, p1-5090, 371 W, 08:50:19Z)",97.2,MH/s,MEASURED,the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log
F-4090-shards,"proof records one RTX 4090 completes per hour, serial (medians 120.3 to 146.8 s end to end over four boxes)",30,records per hour,MEASURED,"the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split)"
F-5090-shards,"proof records one RTX 5090 completes per hour, serial (median 93.2 s over 147 records, p1-5090)",39,records per hour,MEASURED,"the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split)"
N-min-hashrate,the minimum network hashrate the security model requires,,MH/s,BLOCKED: missing,not in the node lane's answer (10:06 UK); no figure in the volume or the master; the founder's or the panel's to set
N-shards-year,the proof records per year the chain must prove at the declared minimum workload,,records per year,BLOCKED: missing,not in the node lane's answer (10:06 UK); no figure in the volume or the master
N-min-hubs,minimum hub count (validating non-mining full nodes),,hubs,BLOCKED: missing,"the node lane, 10:06 UK 9 October 2026: not written anywhere in the spec, the plans or the design; the founder's to set (the finality rule needs voters, not hubs)"
N-hub-rate,"USD per hour of one hub box (the RunPod on-demand rate of the RTX 4090 pods the devnet's three hubs run on; a hub needs no GPU, and a CPU box of the same memory, 20 to 30 GB resident, would cost less, a rate the record does not hold)",0.74,USD per hour,MEASURED,"the node lane, 10:06 UK 9 October 2026: RunPod's API costPerHr for lp-4090-04, -05 and -06, read 09:51 UK by the fleet lane"
N-devnet-hubs,"the devnet's hub count (devnet-4's three reference hubs in the F0 manifest's network row): a configuration, not a minimum",3,hubs,MEASURED (configuration),"the node lane, 10:06 UK 9 October 2026"
N-maint-month,committed maintenance (people-hours or USD per month),,USD per month,BLOCKED: missing,"the node lane, 10:06 UK 9 October 2026: no file names committed people-hours or USD per month for maintenance; the master, p. 68, P13"
N-infra-month,"committed infrastructure only: the build server (Hetzner AX162), ordered by the founder 6 October 2026; part of P13's infrastructure line, not the whole of maintenance",446.52,USD per month,COMMITTED (infrastructure only),"the node lane, 10:06 UK 9 October 2026 (its record of the order)"
X-bu-usd,"V, the USD value of one BU (the purchasing power of the year-1 subsidy): the one unknown of every coverage cell",,USD per BU,PANEL,"the panel's figure; not carried here, since it needs a per-coin market figure, which VR-04 and the never-published list keep out of this document"
K-class,which scenario-year cells are approved viable and which are collapse cases,,"a declaration per cell, before results",PANEL,"the master, p. 68, P12: declare the viable worlds before running; collapse worlds stay as safety and exit tests"
T-tip,native tip volume per year (fee level and its volatility),,coins a year,PANEL,"the volume, p. 14 (fee timing as well as amount); the tables carry zero, the fee-replacement table gives the volume each year would need"

1 id parameter value unit status source
2 S-rate launch rate 3168808781 31688087810000000000 base units per DAA second (8 decimals) base units per DAA second (18 decimals), 10 blocks a second IMPLEMENTED node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap) node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)
3 S-ramp launch ramp 2592000 s from 10% DAA seconds IMPLEMENTED node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap) node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)
4 S-step decay step 63115200 s, rate divided by 2 DAA seconds IMPLEMENTED node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap) node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)
5 S-tail tail cap RATIFIED (D01) and IMPLEMENTED node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap); D01 capped issuance, subject to TV-04; D02 the schedule pending evidence, so every figure here is conditional on this schedule node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block); D01 capped issuance, subject to TV-04; D02 the schedule pending evidence, so every figure here is conditional on this schedule
6 S-cap cap 4000000000 coins RATIFIED (D01) and IMPLEMENTED node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap) node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)
7 R1-miner emission, producer share 80% to miners IMPLEMENTED igneum.rs lines 43 to 44 and 123 to 126; the litepaper's routing table, row 1
8 R1-pool emission, proving pool share 20% to internal provers IMPLEMENTED igneum.rs lines 43 to 44 and 85 to 88; the litepaper's routing table, row 1
9 R1-validators emission to minimum validators 0% to minimum validators IMPLEMENTED no such output in the coinbase (igneum.rs lines 90 to 121); the litepaper: 0% to treasury, foundation, team or stake
11 R2-base base fee, both gas dimensions 100% to burn IMPLEMENTED fees.rs lines 131 to 132 (burned in full); executor.rs lines 318 to 329 (the execution base part and the proving charge burned)
12 R3-tip-miner priority fee (tip), beneficiary share 80% to miners IMPLEMENTED igneum/exec config.rs lines 75 to 76 (80% to the including miner); executor.rs line 729 (the beneficiary credited the miner tip)
13 R3-tip-dev priority fee (tip), developer share 20% to developers (not a security role) IMPLEMENTED igneum/exec config.rs lines 75 to 76; pgas.rs lines 287 to 310
14 R3-tip-provers priority fee (tip), provers' part 0% to internal provers BLOCKED IMPLEMENTED (TV-01 C10 resolved, confirmed by the node lane 10:06 UK: the code, none to provers; the design's proving payment is on an unmerged branch with no activation) the node's code pays the 80% tip share to the beneficiary alone (executor.rs lines 318 to 329, line 729); the litepaper's routing table, row 3, reads '80% the block's miner and provers' with no split. The master, p. 36: resolve the discrepancy between the fee table and prose before modelling security income.
15 R4-external-launch external job at launch (customer's chain) not used (zero) to the delivering miner (outside the native ledger) UNRATIFIED the litepaper's routing table, row 4 (Designed); D04: the external-job rate is not ratified
16 R5-external-bridge external job after the proof bridge not used (zero) to internal provers (the delivering provers) UNRATIFIED the litepaper's routing table, row 5 (Designed, phase two; 90% to provers, 10% burned as published); D04: the external-job rate is not ratified, so the published 90/10 is a parameter here and the tables carry zero external jobs
17 R6-devfee the official miner client's optional dev fee not used (zero) to the project (operator income, outside the protocol) UNRATIFIED the litepaper's routing table, row 6: never added to rows 1 to 5; switchable by every miner, so not a committed resource (the master, p. 68, P13)
21 m400 scenario multiple 4.00 of the baseline's purchasing power, constant over the horizon RATIFIED (TV-04 method words) 4x
22 m1000 scenario multiple 10.00 of the baseline's purchasing power, constant over the horizon RATIFIED (TV-04 method words) 10x
23 X-ext external jobs per year 0 jobs UNRATIFIED (D04) TV-04 method: zero external jobs; the rate is a parameter, never a result
24 C-miners F-4090-rp-rate minimum required miner cost per year USD per hour of one rented RTX 4090, RunPod median (57 cards, 0.34 to 0.89) 0.74 BU (one BU = the purchasing power of the baseline, the whole year-1 subsidy, on the 1x path) USD per hour PANEL MEASURED the master, p. 68, P12: its electricity, productive-life and development grids are the panel's inputs; p. 88 to 89, ECO-01 to ECO-06 for the cost reconciliation the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK
25 C-provers F-4090-vast-rate minimum required internal proving cost per year USD per hour of one rented RTX 4090, Vast median (3 cards, 0.322 to 0.376) 0.376 BU USD per hour PANEL MEASURED the master, p. 36 (the historical shard timings, not reproduced for this edition) and p. 89, ECO-06 the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK
26 C-validators F-5090-vast-rate minimum required validator cost per year USD per hour of one rented RTX 5090, Vast median (6 cards, 0.41 to 0.509) 0.47 BU USD per hour PANEL MEASURED the volume, p. 15 (minimum-node resources) and TV-10; no figure in the volume or the master the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK
27 C-maintenance F-4090-mhs minimum required maintenance cost per year accepted MH/s of one RTX 4090 mining on the current class (wall, hub-1, 12.1 h continuous, 0 rejected, 263 W, 08:50:08Z) 57.20 BU MH/s PANEL MEASURED the master, p. 68, P13 (at least 12 months of committed resources); the volume, p. 31; no figure in the volume or the master the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log
28 F-5090-mhs MH/s of one RTX 5090 mining on the current class (inside jobs, steady lines 97.2 to 97.6, p1-5090, 371 W, 08:50:19Z) 97.2 MH/s MEASURED the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log
29 F-4090-shards proof records one RTX 4090 completes per hour, serial (medians 120.3 to 146.8 s end to end over four boxes) 30 records per hour MEASURED the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split)
30 F-5090-shards proof records one RTX 5090 completes per hour, serial (median 93.2 s over 147 records, p1-5090) 39 records per hour MEASURED the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split)
31 N-min-hashrate the minimum network hashrate the security model requires MH/s BLOCKED: missing not in the node lane's answer (10:06 UK); no figure in the volume or the master; the founder's or the panel's to set
32 N-shards-year the proof records per year the chain must prove at the declared minimum workload records per year BLOCKED: missing not in the node lane's answer (10:06 UK); no figure in the volume or the master
33 N-min-hubs minimum hub count (validating non-mining full nodes) hubs BLOCKED: missing the node lane, 10:06 UK 9 October 2026: not written anywhere in the spec, the plans or the design; the founder's to set (the finality rule needs voters, not hubs)
34 N-hub-rate USD per hour of one hub box (the RunPod on-demand rate of the RTX 4090 pods the devnet's three hubs run on; a hub needs no GPU, and a CPU box of the same memory, 20 to 30 GB resident, would cost less, a rate the record does not hold) 0.74 USD per hour MEASURED the node lane, 10:06 UK 9 October 2026: RunPod's API costPerHr for lp-4090-04, -05 and -06, read 09:51 UK by the fleet lane
35 N-devnet-hubs the devnet's hub count (devnet-4's three reference hubs in the F0 manifest's network row): a configuration, not a minimum 3 hubs MEASURED (configuration) the node lane, 10:06 UK 9 October 2026
36 N-maint-month committed maintenance (people-hours or USD per month) USD per month BLOCKED: missing the node lane, 10:06 UK 9 October 2026: no file names committed people-hours or USD per month for maintenance; the master, p. 68, P13
37 N-infra-month committed infrastructure only: the build server (Hetzner AX162), ordered by the founder 6 October 2026; part of P13's infrastructure line, not the whole of maintenance 446.52 USD per month COMMITTED (infrastructure only) the node lane, 10:06 UK 9 October 2026 (its record of the order)
38 X-bu-usd V, the USD value of one BU (the purchasing power of the year-1 subsidy): the one unknown of every coverage cell USD per BU PANEL the panel's figure; not carried here, since it needs a per-coin market figure, which VR-04 and the never-published list keep out of this document
39 K-class which scenario-year cells are approved viable and which are collapse cases a declaration per cell, before results PANEL the master, p. 68, P12: declare the viable worlds before running; collapse worlds stay as safety and exit tests
40 T-tip native tip volume per year (fee level and its volatility) coins a year PANEL the volume, p. 14 (fee timing as well as amount); the tables carry zero, the fee-replacement table gives the volume each year would need

View file

@ -1,27 +1,30 @@
{
"run_id": "tv-04-20261009-01",
"manifest_sha": "d59a9088",
"run_id": "tv-04-20261009-02",
"manifest_sha": "53d47721",
"method": "model",
"evidence_dir": "docs/plans/igneum-2.0-master/token-value/phase0/tv-04",
"release_identity": {
"commit": "d59a9088 (the generator and inputs this model ran from; branch tv-04-security-budget)",
"commit": "53d47721 (the generator, inputs and tests this model ran from, with master 163c9e3c merged: the TV-01 supply spec 3ffdd308 in the tree; branch tv-04-security-budget)",
"lockfile": "",
"binary": "",
"network_object": "none: a model of the ratified rules, no chain state read or written",
"activation": "none (Phase 0 lands documents and tests only)",
"profile_hashes": "the node's release-2.0.2-node a284380b emission.rs 07b39c41..., igneum.rs 6c859d42..., params.rs 0c07ddcf..., fees.rs 5e7a319c..., exec config.rs fdc4ba56..., executor.rs ff12ef5f...; rules-and-gates.json 10ce3073..."
"profile_hashes": "the node's release-2.0.2-node a284380b emission.rs 07b39c41..., igneum.rs 6c859d42..., params.rs 0c07ddcf..., fees.rs 5e7a319c..., exec config.rs fdc4ba56..., executor.rs ff12ef5f...; rules-and-gates.json 10ce3073...; the TV-01 supply spec 3ffdd308..."
},
"claim_impact": "none: the security budget as a reproducible cash-flow model of the ratified rules (D01, D03, D04 with the external-job rate unratified, D05, VR-05); every verdict NOT RUN until the independent panel fills the role costs and declares the viable and collapse cells; no price figure anywhere",
"claim_impact": "none: the security budget as a reproducible cash-flow model of the ratified rules (D01, D03, D04 with the external-job rate unratified, D05, VR-05) on the mainnet per-block schedule reconciled to TV-01's spec (27 of 27 checks), with the fleet's measured unit costs and the hub rate as cost inputs in USD and coverage as a formula over V, the panel's USD value of one BU; no per-coin figure anywhere; every verdict NOT RUN",
"reviewer": "",
"note": "Known-failed first: the tests ran red on build-9 before the generator existed (ea14c332, exit 1); green 9 of 9 and every one of 5 mutants caught on d59a9088; two generations byte-identical. BLOCKED rows B-01 to B-09 in blocked.csv (the provers' tip share, paid against assigned, the validators' payer, committed maintenance, the panel cells, the tail-vote clause, the testnet tail, the schedule, collapse-case safe behaviour).",
"note": "Second cut. Known-failed first (ea14c332 red, exit 1); on 53d47721: green 10 of 10, every one of 6 mutants caught (a tail mint, rising purchasing power, external-job income, a per-coin price line, a burn as a receipt, a ramp against the TV-01 spec), two generations byte-identical, the committed files equal to a fresh generation. BLOCKED by name: the minimum network hashrate the security model requires; the proof records per year at the minimum workload; the minimum hub count (the founder's); committed maintenance (people-hours or USD per month); V (the panel's); the viable or collapse declarations; C04 the block-rate step (the founder's). TV-01 resolved C10 (the code: no tip to provers), C01 (the tail vote superseded), C12 (the testnet tail testnet-only), each confirmed by the node lane by line.",
"cells": [
{
"cell": "model:tv-04",
"cases": ["TV-04"],
"cases": [
"TV-04"
],
"status": "NOT RUN",
"method": "model",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/tv-04/README.md; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/budget.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/emission.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/fee-replacement.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/parameters.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/blocked.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/RUNS.md; tools/token-value/tv-04/tv04_budget.py; tools/token-value/tv-04/test_tv04.py; tools/token-value/tv-04/inputs.json; build-9:/home/build/tv-04/runs/ea14c332-red/run.log; build-9:/home/build/tv-04/runs/d59a9088-green/run.log; build-9:/home/build/tv-04/runs/d59a9088-known-failed/run.log; build-9:/home/build/tv-04/runs/d59a9088-generate/run.log",
"note": "NOT RUN: the model computed (the miners' and internal provers' budgets fall to 25.96, 6.49 and 0.20 percent of year 1 at years 5, 10 and 20; validators and maintenance receive nothing from the protocol); the panel's role costs and scenario classes are empty, so no coverage cell is decided"
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/tv-04/README.md; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/budget.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/emission.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/fee-replacement.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/parameters.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/blocked.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/tv01-reconcile.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/RUNS.md; tools/token-value/tv-04/tv04_budget.py; tools/token-value/tv-04/test_tv04.py; tools/token-value/tv-04/inputs.json; build-9:/home/build/tv-04/runs/ea14c332-red/run.log; build-9:/home/build/tv-04/runs/53d47721-green/run.log; build-9:/home/build/tv-04/runs/53d47721-known-failed/run.log; build-9:/home/build/tv-04/runs/53d47721-generate/run.log; build-9:/home/build/tv-04/runs/a3d79901-check/run.log",
"note": "NOT RUN: the miners' and internal provers' budgets fall to 25.96, 6.49 and 0.20 percent of year 1 at years 5, 10 and 20; validators and maintenance receive nothing from the protocol; the miner and prover costs wait on the required capacities, every coverage cell on V"
}
]
],
"supersedes": "tv-04-20261009-01"
}

View file

@ -0,0 +1,28 @@
check,tv01,tv04,agree
bps,10,10,yes
decimals,18,18,yes
genesis DAA score,0,0,yes
launch rate per second,31688087810000000000,31688087810000000000,yes
ramp seconds,2592000,2592000,yes
ramp start percent,10,10,yes
step seconds,63115200,63115200,yes
cap,4000000000000000000000000000,4000000000000000000000000000,yes
phase 0 (the ramp) sum,45174523722296485488480000,45174523722296485488480000,yes
phase 1 per-block subsidy,3168808781000000000,3168808781000000000,yes
phase 2 per-block subsidy,1584404390500000000,1584404390500000000,yes
phase 3 per-block subsidy,792202195250000000,792202195250000000,yes
phase 4 per-block subsidy,396101097625000000,396101097625000000,yes
phase 5 per-block subsidy,198050548812500000,198050548812500000,yes
phase 6 per-block subsidy,99025274406250000,99025274406250000,yes
phase 7 per-block subsidy,49512637203125000,49512637203125000,yes
phase 8 per-block subsidy,24756318601562500,24756318601562500,yes
phase 9 per-block subsidy,12378159300781250,12378159300781250,yes
phase 10 per-block subsidy,6189079650390625,6189079650390625,yes
total issuance,3963038999610200467816224000,3963038999610200467816224000,yes
scheduled supply at the end of year 1,963038999991632485488480000,963038999991632485488480000,yes
scheduled supply at the end of year 2,1963038999864488485488480000,1963038999864488485488480000,yes
scheduled supply at the end of year 5,3213038999705558485488480000,3213038999705558485488480000,yes
scheduled supply at the end of year 10,3838038999626093485488480000,3838038999626093485488480000,yes
scheduled supply at the end of year 12,3900538999618146985488480000,3900538999618146985488480000,yes
scheduled supply at the end of year 20,3959132749610697141738480000,3959132749610697141738480000,yes
proving pool rule,floor(subsidy x 20 / 100),floor(subsidy x 20 / 100),yes
1 check tv01 tv04 agree
2 bps 10 10 yes
3 decimals 18 18 yes
4 genesis DAA score 0 0 yes
5 launch rate per second 31688087810000000000 31688087810000000000 yes
6 ramp seconds 2592000 2592000 yes
7 ramp start percent 10 10 yes
8 step seconds 63115200 63115200 yes
9 cap 4000000000000000000000000000 4000000000000000000000000000 yes
10 phase 0 (the ramp) sum 45174523722296485488480000 45174523722296485488480000 yes
11 phase 1 per-block subsidy 3168808781000000000 3168808781000000000 yes
12 phase 2 per-block subsidy 1584404390500000000 1584404390500000000 yes
13 phase 3 per-block subsidy 792202195250000000 792202195250000000 yes
14 phase 4 per-block subsidy 396101097625000000 396101097625000000 yes
15 phase 5 per-block subsidy 198050548812500000 198050548812500000 yes
16 phase 6 per-block subsidy 99025274406250000 99025274406250000 yes
17 phase 7 per-block subsidy 49512637203125000 49512637203125000 yes
18 phase 8 per-block subsidy 24756318601562500 24756318601562500 yes
19 phase 9 per-block subsidy 12378159300781250 12378159300781250 yes
20 phase 10 per-block subsidy 6189079650390625 6189079650390625 yes
21 total issuance 3963038999610200467816224000 3963038999610200467816224000 yes
22 scheduled supply at the end of year 1 963038999991632485488480000 963038999991632485488480000 yes
23 scheduled supply at the end of year 2 1963038999864488485488480000 1963038999864488485488480000 yes
24 scheduled supply at the end of year 5 3213038999705558485488480000 3213038999705558485488480000 yes
25 scheduled supply at the end of year 10 3838038999626093485488480000 3838038999626093485488480000 yes
26 scheduled supply at the end of year 12 3900538999618146985488480000 3900538999618146985488480000 yes
27 scheduled supply at the end of year 20 3959132749610697141738480000 3959132749610697141738480000 yes
28 proving pool rule floor(subsidy x 20 / 100) floor(subsidy x 20 / 100) yes

View file

@ -456,6 +456,16 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- Cases:
- TV-01 Resolve and freeze the monetary contract: partial: the supply specification and its static check against the code; the other decisions' evidence and the signed specification are other lanes'
### adversary:x5-sweep
- Command: `python3 tools/1p5x/x5/sweep.py --rows tools/chip-model/mf/results/table.csv --node N5 [--trace <pair.json>] --json <out.json> (on a build box under lease pool with a pid file; seconds)`
- Box class: any box (python3)
- Fixtures: F0
- Cases:
- ADV-02 Price shared, reduced and reconstructed memory: the memory fractions 0.25 / 0.5 / 0.75, the full store and recomputation on the complete board; the hit curve per (pack, seed) pair from a trace JSON
- ADV-05 Validate physical and complete-board costs: partial: the complete-board terms (PSU, VRM, cooling, host, controller) and the placed core's energies; the memory and SRAM figures claimed
- ADV-08 Independently challenge the best-cost envelope: the worst credible design retained as the specialist side a with its capital gate; X6 re-runs it blind on held-out pairs
## Automated cases with no harness in the matrix (NOT RUN, the reason)
- GOV-02 Approve thresholds before results: the approval is recorded in the registry's approval field; the automated half (thresholds frozen before any run_status) is the gate rule landing by 21:00

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,13 @@
#!/usr/bin/env bash
# build-1's edge check (the coordinator's order, 9 October 2026): every five minutes from igneum-edge-check.timer, read
# build.igneum.network/workers.html, git.igneum.network and build.igneum.network/light/ through the edge; an empty read (no body, or
# no HTTP answer) writes a FAULT line to /srv/queue/faults.log and /srv/queue/alerts.log; a failed caddy unit is started again and said.
set -u
Q=/srv/queue; mkdir -p "$Q"; now=$(date -u +%Y-%m-%dT%H:%M:%SZ); uk=$(TZ=Europe/London date +%H:%M); red=0
for u in https://build.igneum.network/workers.html https://git.igneum.network/ https://build.igneum.network/light/; do
r=$(curl -s -o /dev/null -w '%{http_code} %{size_download}' --max-time 10 "$u" 2>/dev/null || echo "000 0"); code=${r%% *}; size=${r##* }
ok=1; case "$u" in */light/) [ "$code" != 000 ] || ok=0 ;; *) { [ "$code" != 000 ] && [ "$size" -gt 0 ]; } || ok=0 ;; esac
[ "$ok" = 1 ] || { red=1; echo "$now ($uk UK) FAULT edge: $u read $code with $size bytes" | tee -a "$Q/faults.log" >> "$Q/alerts.log"; }
done
if ! systemctl is-active --quiet caddy; then systemctl reset-failed caddy 2>/dev/null; systemctl start caddy; echo "$now ($uk UK) FAULT edge: caddy was not active; started again ($(systemctl is-active caddy))" | tee -a "$Q/faults.log" >> "$Q/alerts.log"; fi
printf '%s %s edge=%s\n' "$now" "$uk" "$( [ $red = 0 ] && echo ok || echo red)" > "$Q/edge-check.last"

View file

@ -0,0 +1,72 @@
#!/usr/bin/env bash
# Install build-1's guards as root ON the box from the mirror's master (git archive): the queue reader, the memory guard and the edge
# check as systemd units and timers; Restart=always and the OOM order (daemons last in line, node processes first) on Caddy, cron, atd,
# rsyslog, the reader and the three sync units; Forgejo's container set to restart always. Read back with systemctl show.
# bash infra/build-server/guard/install.sh (as root on igneum-build-1)
set -eu
G=/srv/igneum.git; D=/srv/guard; mkdir -p "$D"
for f in queue-reader.sh memory-guard.sh edge-check.sh; do git --git-dir=$G show "master:infra/build-server/guard/$f" > "$D/$f"; chmod 755 "$D/$f"; done
sha=$(cat "$D"/queue-reader.sh "$D"/memory-guard.sh "$D"/edge-check.sh | sha256sum | cut -c1-16)
unit() { cat > "/etc/systemd/system/$1"; }
unit igneum-queue-reader.service <<U
[Unit]
Description=Igneum build queue reader (every 30 minutes: idle and over-memory boxes as faults; build-server lane)
After=network-online.target
[Service]
User=build
Group=build
ExecStart=/bin/bash $D/queue-reader.sh
Restart=always
RestartSec=10
OOMScoreAdjust=-1000
[Install]
WantedBy=multi-user.target
U
unit igneum-memory-guard.service <<U
[Unit]
Description=Igneum build-1 memory guard (one fresh sync at a time; free memory under 15 GB alerts)
[Service]
Type=oneshot
ExecStart=/bin/bash $D/memory-guard.sh
OOMScoreAdjust=-1000
U
unit igneum-memory-guard.timer <<U
[Unit]
Description=Igneum build-1 memory guard, every minute
[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
AccuracySec=5s
[Install]
WantedBy=timers.target
U
unit igneum-edge-check.service <<U
[Unit]
Description=Igneum build-1 edge check (workers page, git host, /light; caddy started again when failed)
[Service]
Type=oneshot
ExecStart=/bin/bash $D/edge-check.sh
OOMScoreAdjust=-1000
U
unit igneum-edge-check.timer <<U
[Unit]
Description=Igneum build-1 edge check, every five minutes
[Timer]
OnBootSec=2min
OnUnitActiveSec=5min
AccuracySec=10s
[Install]
WantedBy=timers.target
U
for u in caddy cron atd rsyslog; do mkdir -p "/etc/systemd/system/$u.service.d"; printf '[Service]\nRestart=always\nRestartSec=5\nOOMScoreAdjust=-1000\n' > "/etc/systemd/system/$u.service.d/guard.conf"; done
for u in igneum-dn4-seed igneum-dn4-hand igneum-light-reader; do mkdir -p "/etc/systemd/system/$u.service.d"; printf '[Service]\nOOMScoreAdjust=500\n' > "/etc/systemd/system/$u.service.d/guard.conf"; done
docker update --restart=always forgejo >/dev/null 2>&1 && echo "forgejo container: restart=always" || echo "forgejo container: docker update failed"
systemctl daemon-reload
# the old nohup reader ends by its pid file before the unit takes over
if [ -f /srv/queue/queue-reader.pid ]; then p=$(cut -d' ' -f1 /srv/queue/queue-reader.pid); kill -0 "$p" 2>/dev/null && kill -TERM "$p" && sleep 2; fi
systemctl enable --now igneum-queue-reader.service igneum-memory-guard.timer igneum-edge-check.timer >/dev/null 2>&1
systemctl start igneum-memory-guard.service igneum-edge-check.service
for u in caddy cron atd rsyslog; do systemctl restart "$u"; done
echo "GUARD sha256 (the three scripts) $sha from master $(git --git-dir=$G rev-parse --short master)"
for u in igneum-queue-reader igneum-memory-guard.timer igneum-edge-check.timer caddy cron atd rsyslog igneum-dn4-seed igneum-dn4-hand igneum-light-reader; do printf '%-28s %s\n' "$u" "$(systemctl show -p ActiveState,Restart,OOMScoreAdjust,MainPID "$u" 2>/dev/null | tr '\n' ' ')"; done
cat /srv/queue/memory-guard.last /srv/queue/edge-check.last 2>/dev/null

View file

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# build-1's memory guard (the coordinator's order after the OOM of 9 October 2026, 09:54 to 10:04 UK: a fresh devnet-4 sync with a public
# listener reached 85 GB and the kernel killed nodes, Caddy, cron and rsyslogd). Runs every minute from igneum-memory-guard.timer as root.
# 1. One fresh sync at a time: of the three sync units (igneum-dn4-seed, igneum-dn4-hand, igneum-light-reader) at most one may run
# while below within-ten of the hub feed (/srv/canary/hub1-tip.txt, the reference hub's EVM height); a second one is stopped by its unit and
# the refusal is written. The sequencer (dn4-sequence.sh in the root account's home) starts the next one at the previous one's within-ten.
# 2. Free memory under 15 GB (MemAvailable) writes an ALERT line; the Mac-side relay sends it to main.
# Lines go to /srv/queue/faults.log and /srv/queue/alerts.log (build-readable). No kill by name: units only.
set -u
Q=/srv/queue; mkdir -p "$Q"; now=$(date -u +%Y-%m-%dT%H:%M:%SZ); uk=$(TZ=Europe/London date +%H:%M)
height() { curl -s --max-time 5 -X POST -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' "http://127.0.0.1:$1" 2>/dev/null | python3 -c 'import json,sys; r=json.load(sys.stdin).get("result"); print(int(r,16) if r else -1)' 2>/dev/null || echo -1; }
hub=$(cut -d' ' -f1 /srv/canary/hub1-tip.txt 2>/dev/null); hub=${hub:-0}
syncing=(); for pair in igneum-dn4-seed:27810 igneum-dn4-hand:26870 igneum-light-reader:26881; do u=${pair%%:*}; p=${pair##*:}
systemctl is-active --quiet "$u" || continue; h=$(height "$p"); d=$(( hub - h ))
if [ "$h" -lt 0 ] || [ "$d" -gt 10 ] || [ "$d" -lt -10 ]; then syncing+=("$u"); fi
done
if [ "${#syncing[@]}" -gt 1 ]; then
# keep the earliest-started, stop the rest by unit
keep=""; keepts=0; for u in "${syncing[@]}"; do ts=$(date -d "$(systemctl show -p ActiveEnterTimestamp --value "$u")" +%s 2>/dev/null || echo 0); [ "$keepts" = 0 ] || [ "$ts" -lt "$keepts" ] && { keep=$u; keepts=$ts; }; done
for u in "${syncing[@]}"; do [ "$u" = "$keep" ] && continue; systemctl stop "$u"; echo "$now ($uk UK) REFUSED a second fresh sync: $u stopped by its unit while $keep is below within-ten of the hub feed ($hub); the box-1 rule" | tee -a "$Q/faults.log" >> "$Q/alerts.log"; done
fi
avail=$(awk '/MemAvailable/{print int($2/1024/1024)}' /proc/meminfo); used=$(free -g | awk '/Mem:/{print $3}')
if [ "$avail" -lt 15 ]; then echo "$now ($uk UK) ALERT build-1 free memory ${avail} GB (used ${used} GB; syncing: ${syncing[*]:-none}); under the 15 GB line" | tee -a "$Q/faults.log" >> "$Q/alerts.log"; fi
printf '%s %s avail=%sGB syncing=%s\n' "$now" "$uk" "$avail" "${syncing[*]:-none}" > "$Q/memory-guard.last"

View file

@ -0,0 +1,62 @@
#!/usr/bin/env bash
# The build queue reader on igneum-build-1 (9 October 2026): every 30 minutes, read /srv/queue/build-queue.md against the merged
# /srv/workers/workers.json (every box's load and running jobs, refreshed every 20 s by merge-workers.mjs) and the pid files under
# /srv/queue/pids; write /srv/queue/status.json; append one line per idle box to /srv/queue/faults.log (an idle box: load1 under 1.0,
# no running job in workers.json, no live pid file for it under /srv/queue/pids). Pid file /srv/queue/queue-reader.pid, written first;
# stopped by `kill "$(cut -d' ' -f1 /srv/queue/queue-reader.pid)"` only.
set -u
Q=/srv/queue; mkdir -p "$Q/pids"
printf '%s %s queue-reader\n' "$$" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" > "$Q/queue-reader.pid"
trap 'rm -f "$Q/queue-reader.pid"; exit 0' TERM INT
while :; do
now=$(date -u +%Y-%m-%dT%H:%M:%SZ); uk=$(TZ=Europe/London date +%H:%M)
python3 - "$Q" "$now" "$uk" <<'PY' 2>>"$Q/reader.err"
import json, os, re, sys, time
Q, now, uk = sys.argv[1], sys.argv[2], sys.argv[3]
try: W = json.load(open('/srv/workers/workers.json'))
except Exception as e: W = {'boxes': []}
owners = {}
try:
for line in open(f'{Q}/build-queue.md'):
m = re.match(r'\|\s*(build-\d)\s*\|[^|]*\|\s*([^|]+?)\s*\|', line)
if m: owners[m.group(1)] = m.group(2)
except Exception: pass
live = {}
for f in os.listdir(f'{Q}/pids') if os.path.isdir(f'{Q}/pids') else []:
m = re.match(r'(build-\d)-', f)
if not m: continue
# a pid file for build-1 is checked against this box's process table; one for another box is a claim the lane keeps fresh:
# present and touched within two hours reads live, older reads stale (the lanes' jobs run on their own boxes)
try:
pid = int(open(f'{Q}/pids/{f}').read().split()[0])
if m.group(1) == 'build-1': alive = os.path.exists(f'/proc/{pid}')
else: alive = (time.time() - os.path.getmtime(f'{Q}/pids/{f}')) < 7200
except Exception: alive = False
live.setdefault(m.group(1), []).append({'file': f, 'alive': alive})
status, faults = [], []
# main's 15-minute rule: an idle box without an owner's pid file at two consecutive reads (the reader runs every 30 minutes; a 15-minute
# mark is read from the previous status) is marked unclaimed, open to any lane; the previous status gives the earlier idle time
try: prev = {b['box']: b for b in json.load(open(f'{Q}/status.json')).get('boxes', [])}
except Exception: prev = {}
for b in W.get('boxes', []):
name = (b.get('name') or '').replace('igneum-', ''); load1 = (b.get('load') or [None])[0]
running = b.get('running') or []; down = bool(b.get('down'))
pids = live.get(name, []); live_pids = [p for p in pids if p['alive']]
idle = (not down) and (load1 is not None and load1 < 1.0) and not running and not live_pids
idle_since = (prev.get(name) or {}).get('idle_since') if idle else None
if idle and not idle_since: idle_since = now
idle_min = int((time.time() - time.mktime(time.strptime(idle_since, '%Y-%m-%dT%H:%M:%SZ')) + time.timezone) / 60) if idle_since else 0
unclaimed = idle and idle_min >= 15
row = {'box': name, 'owner': owners.get(name, 'unassigned'), 'down': down, 'load1': load1, 'running': len(running), 'queue_pid_files': [p['file'] for p in live_pids], 'idle': idle, 'idle_since': idle_since, 'idle_min': idle_min, 'unclaimed': unclaimed, 'read_at': now}
status.append(row)
mem = (b.get('mem') or {}).get('used_pct'); row['mem_pct'] = mem
if mem is not None and mem >= 90: faults.append(f'{now} ({uk} UK) FAULT memory on {name}: {mem} percent used (the 90 percent line; the box-1 rule: one fresh sync at a time, one read node at most)')
if idle: faults.append(f'{now} ({uk} UK) FAULT idle box {name}: load1 {load1}, no running job, no live queue pid file; owner {row["owner"]}; idle {idle_min} min' + ('; UNCLAIMED, open to any lane (main\'s 15-minute rule)' if unclaimed else '') + ('; RED on the board (30 minutes)' if idle_min >= 30 else ''))
if down: faults.append(f'{now} ({uk} UK) FAULT box {name} down: {b.get("reason")}')
json.dump({'read_at': now, 'uk': uk, 'boxes': status, 'faults': faults}, open(f'{Q}/status.json.tmp', 'w')); os.replace(f'{Q}/status.json.tmp', f'{Q}/status.json')
with open(f'{Q}/faults.log', 'a') as fl:
for f in faults: fl.write(f + '\n')
print(f'{now} ({uk} UK) read {len(status)} boxes, {len(faults)} faults')
PY
sleep 1800 & wait $!
done

View file

@ -1,6 +1,6 @@
{
"run_id": "adversary-20261009-placed-32lane",
"manifest_sha": "aaf3405b",
"manifest_sha": "14939909",
"evidence_dir": "docs/analysis/class-v6/multi-family-adversary.md",
"cells": [
{
@ -11,5 +11,5 @@
"note": "section 5: the 32-lane genesis core placed with SPEF, the 32-lane 18-family core placed and globally routed (estimate calibrated within 1 percent of SPEF); the SPEF row of the full core follows"
}
],
"cut_tip": "class-v6-adversary aaf3405b (the document's section 14 pending line records the 32-lane full core's detailed-routing fault; the globally-routed row stands as the placed row; the rows that name the document move with it, no decision changed: adversary:mf-placed stays in progress)"
"cut_tip": "class-v6-adversary 14939909 (the rows that name multi-family-adversary.md move with its X4 corrections; no decision changed)"
}

View file

@ -0,0 +1,15 @@
{
"run_id": "adversary-20261009-x5",
"manifest_sha": "14939909",
"evidence_dir": "docs/analysis/class-v6/1p5x/x5/README.md",
"cells": [
{
"cell": "adversary:x5-sweep",
"status": "NOT RUN",
"method": "model",
"evidence": "docs/analysis/class-v6/1p5x/x5/README.md",
"note": "the co-optimised opponent sweep's rows on the frozen control (the die retained as the worst credible design, 2.44x same-node); NOT RUN until X6's blind run on held-out pairs; the per-box placements and the X1 trace re-runs land as deltas"
}
],
"cut_tip": "class-v6-adversary 14939909 (the X5 rows with both pairs at both counts)"
}

View file

@ -0,0 +1,30 @@
{
"run_id": "tv-04-20261009-02",
"manifest_sha": "53d47721",
"method": "model",
"evidence_dir": "docs/plans/igneum-2.0-master/token-value/phase0/tv-04",
"release_identity": {
"commit": "53d47721 (the generator, inputs and tests this model ran from, with master 163c9e3c merged: the TV-01 supply spec 3ffdd308 in the tree; branch tv-04-security-budget)",
"lockfile": "",
"binary": "",
"network_object": "none: a model of the ratified rules, no chain state read or written",
"activation": "none (Phase 0 lands documents and tests only)",
"profile_hashes": "the node's release-2.0.2-node a284380b emission.rs 07b39c41..., igneum.rs 6c859d42..., params.rs 0c07ddcf..., fees.rs 5e7a319c..., exec config.rs fdc4ba56..., executor.rs ff12ef5f...; rules-and-gates.json 10ce3073...; the TV-01 supply spec 3ffdd308..."
},
"claim_impact": "none: the security budget as a reproducible cash-flow model of the ratified rules (D01, D03, D04 with the external-job rate unratified, D05, VR-05) on the mainnet per-block schedule reconciled to TV-01's spec (27 of 27 checks), with the fleet's measured unit costs and the hub rate as cost inputs in USD and coverage as a formula over V, the panel's USD value of one BU; no per-coin figure anywhere; every verdict NOT RUN",
"reviewer": "",
"note": "Second cut. Known-failed first (ea14c332 red, exit 1); on 53d47721: green 10 of 10, every one of 6 mutants caught (a tail mint, rising purchasing power, external-job income, a per-coin price line, a burn as a receipt, a ramp against the TV-01 spec), two generations byte-identical, the committed files equal to a fresh generation. BLOCKED by name: the minimum network hashrate the security model requires; the proof records per year at the minimum workload; the minimum hub count (the founder's); committed maintenance (people-hours or USD per month); V (the panel's); the viable or collapse declarations; C04 the block-rate step (the founder's). TV-01 resolved C10 (the code: no tip to provers), C01 (the tail vote superseded), C12 (the testnet tail testnet-only), each confirmed by the node lane by line.",
"cells": [
{
"cell": "model:tv-04",
"cases": [
"TV-04"
],
"status": "NOT RUN",
"method": "model",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/tv-04/README.md; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/budget.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/emission.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/fee-replacement.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/parameters.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/blocked.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/tv01-reconcile.csv; docs/plans/igneum-2.0-master/token-value/phase0/tv-04/RUNS.md; tools/token-value/tv-04/tv04_budget.py; tools/token-value/tv-04/test_tv04.py; tools/token-value/tv-04/inputs.json; build-9:/home/build/tv-04/runs/ea14c332-red/run.log; build-9:/home/build/tv-04/runs/53d47721-green/run.log; build-9:/home/build/tv-04/runs/53d47721-known-failed/run.log; build-9:/home/build/tv-04/runs/53d47721-generate/run.log; build-9:/home/build/tv-04/runs/a3d79901-check/run.log",
"note": "NOT RUN: the miners' and internal provers' budgets fall to 25.96, 6.49 and 0.20 percent of year 1 at years 5, 10 and 20; validators and maintenance receive nothing from the protocol; the miner and prover costs wait on the required capacities, every coverage cell on V"
}
],
"supersedes": "tv-04-20261009-01"
}

View file

@ -782,6 +782,24 @@
"coverage": {
"TV-01": "partial: the supply specification and its static check against the code; the other decisions' evidence and the signed specification are other lanes'"
}
},
"adversary:x5-sweep": {
"command": "python3 tools/1p5x/x5/sweep.py --rows tools/chip-model/mf/results/table.csv --node N5 [--trace <pair.json>] --json <out.json> (on a build box under lease pool with a pid file; seconds)",
"box_class": "any box (python3)",
"method": "model",
"fixtures": [
"F0"
],
"cases": [
"ADV-02",
"ADV-05",
"ADV-08"
],
"coverage": {
"ADV-02": "the memory fractions 0.25 / 0.5 / 0.75, the full store and recomputation on the complete board; the hit curve per (pack, seed) pair from a trace JSON",
"ADV-05": "partial: the complete-board terms (PSU, VRM, cooling, host, controller) and the placed core's energies; the memory and SRAM figures claimed",
"ADV-08": "the worst credible design retained as the specialist side a with its capital gate; X6 re-runs it blind on held-out pairs"
}
}
},
"not_run": {

View file

@ -9,65 +9,405 @@
"BLOCKED": "an open choice the ratified rules do not settle; the row names what it waits on"
},
"sources": {
"rules_and_gates": {"path": "docs/plans/igneum-2.0-master/token-value/rules-and-gates.json", "sha256": "10ce307329e1663dcb6dce849317c9276c19252de5f483e9ee06015fc77cbe3d"},
"volume_pdf": {"path": "docs/plans/igneum-2.0-master/token-value/igneum-2.0-token-value.pdf", "sha256": "b79d295c99d9cf0a121b62efdc6743e7282a0d2de33a98f6811616afcbcaeaee"},
"master_pdf": {"path": "docs/plans/igneum-2.0-master/igneum-2.0-complete-master.pdf", "sha256": "f54f12117fd10ebcd1cad83b41342cf2a21ba7e0cf0abfa100d48b101b02b18b", "note": "the light edition in the tree; the supplied original (the volume's original_artifacts) reads c878ee4f80adf1da58fcc78fb91a8008de2e9fc44060bec143d020a780c5093e, the same substance"},
"litepaper": {"path": "site/litepaper.html", "sha256": "35ac65e151339089ef6ddeea3842b24d95e00d327a2b12faa9ea190ff85e463f", "tree": "the box mirror's master 6824d49c"},
"node": {"repo": "build@188.40.146.49:/srv/igneum-node.git", "branch": "release-2.0.2-node", "commit": "a284380bdd62d5d0d972cb38f2cbd1daeedda69d", "files": {
"consensus/core/src/emission.rs": "07b39c410222a43001c83dddbd85cff4a8a370184588dbc28ab48c8803964fbd",
"consensus/core/src/igneum.rs": "6c859d4268e653978bfa07aaaad2dff304635b892255368cbbadecca3c35705f",
"consensus/core/src/config/params.rs": "0c07ddcf0c5383255f1b0cfba54c6f637375b9a5b5514ab4b2affdad717e787f",
"consensus/core/src/fees.rs": "5e7a319c0fc538a6960e18ee02d3c23a0f514cef27fff6f4fdaa727c484d3136",
"igneum/exec/src/config.rs": "fdc4ba56109ddab4dadfe3d184247cf2cda8774dc5542337acaa38c8da716aaf",
"igneum/exec/src/executor.rs": "ff12ef5fed88f1cd1d1449c6878a5acc0f7efe098abad7315791d59b5c5cc79c"
}},
"tv01_supply_spec": {"path": "docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json", "note": "the TV-01 lane's supply spec; read and reconciled when it is in the tree, the node code otherwise"}
"rules_and_gates": {
"path": "docs/plans/igneum-2.0-master/token-value/rules-and-gates.json",
"sha256": "10ce307329e1663dcb6dce849317c9276c19252de5f483e9ee06015fc77cbe3d"
},
"volume_pdf": {
"path": "docs/plans/igneum-2.0-master/token-value/igneum-2.0-token-value.pdf",
"sha256": "b79d295c99d9cf0a121b62efdc6743e7282a0d2de33a98f6811616afcbcaeaee"
},
"master_pdf": {
"path": "docs/plans/igneum-2.0-master/igneum-2.0-complete-master.pdf",
"sha256": "f54f12117fd10ebcd1cad83b41342cf2a21ba7e0cf0abfa100d48b101b02b18b",
"note": "the light edition in the tree; the supplied original (the volume's original_artifacts) reads c878ee4f80adf1da58fcc78fb91a8008de2e9fc44060bec143d020a780c5093e, the same substance"
},
"litepaper": {
"path": "site/litepaper.html",
"sha256": "35ac65e151339089ef6ddeea3842b24d95e00d327a2b12faa9ea190ff85e463f",
"tree": "the box mirror's master 6824d49c"
},
"node": {
"repo": "build@188.40.146.49:/srv/igneum-node.git",
"branch": "release-2.0.2-node",
"commit": "a284380bdd62d5d0d972cb38f2cbd1daeedda69d",
"files": {
"consensus/core/src/emission.rs": "07b39c410222a43001c83dddbd85cff4a8a370184588dbc28ab48c8803964fbd",
"consensus/core/src/igneum.rs": "6c859d4268e653978bfa07aaaad2dff304635b892255368cbbadecca3c35705f",
"consensus/core/src/config/params.rs": "0c07ddcf0c5383255f1b0cfba54c6f637375b9a5b5514ab4b2affdad717e787f",
"consensus/core/src/fees.rs": "5e7a319c0fc538a6960e18ee02d3c23a0f514cef27fff6f4fdaa727c484d3136",
"igneum/exec/src/config.rs": "fdc4ba56109ddab4dadfe3d184247cf2cda8774dc5542337acaa38c8da716aaf",
"igneum/exec/src/executor.rs": "ff12ef5fed88f1cd1d1449c6878a5acc0f7efe098abad7315791d59b5c5cc79c"
}
},
"tv01_supply_spec": {
"path": "docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json",
"note": "the TV-01 lane's supply spec; read and reconciled when it is in the tree, the node code otherwise"
}
},
"schedule": {
"decimals": 8,
"profile": "mainnet",
"decimals": 18,
"bps": 10,
"year_seconds": 31557600,
"launch_rate_base_units_per_second": 3168808781,
"launch_rate_base_units_per_second": 31688087810000000000,
"ramp_seconds": 2592000,
"ramp_start_percent": 10,
"step_seconds": 63115200,
"step_divisor": 2,
"tail": {"kind": "cap"},
"pool_percent": 20,
"tail": {
"kind": "cap"
},
"cap_coins": 4000000000,
"status": "IMPLEMENTED",
"source": "node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap); params.rs line 1858 (MAINNET_PARAMS carries CURRENT, rescaled to 18 decimals, the same coins); igneum.rs lines 33 to 41 (the 4,000,000,000 cap)",
"source": "node emission.rs lines 32 and 103 to 110 (EmissionSchedule::CURRENT, tail Cap) and 316 to 333 (the ramp and the per-block subsidy); params.rs line 1858 (MAINNET_PARAMS carries CURRENT rescaled from 8 to 18 decimals: 3,168,808,781 x 10^10 base units a DAA second) and line 1789 (10 blocks a second as compiled); igneum.rs lines 33 to 44 and 201 to 208 (the cap, the 20% pool, floored per block)",
"ratified_by": "D01 capped issuance, subject to TV-04; D02 the schedule pending evidence, so every figure here is conditional on this schedule"
},
"routes": [
{"id": "R1-miner", "route": "emission, producer share", "role": "miners", "share_percent_num": 80, "share_percent_den": 1, "rounding": "the remainder of the pool's floor", "status": "IMPLEMENTED", "source": "igneum.rs lines 43 to 44 and 123 to 126; the litepaper's routing table, row 1"},
{"id": "R1-pool", "route": "emission, proving pool share", "role": "internal provers", "share_percent_num": 20, "share_percent_den": 1, "rounding": "floor", "status": "IMPLEMENTED", "source": "igneum.rs lines 43 to 44 and 85 to 88; the litepaper's routing table, row 1"},
{"id": "R1-validators", "route": "emission to minimum validators", "role": "minimum validators", "share_percent_num": 0, "share_percent_den": 1, "rounding": "none", "status": "IMPLEMENTED", "source": "no such output in the coinbase (igneum.rs lines 90 to 121); the litepaper: 0% to treasury, foundation, team or stake"},
{"id": "R1-maintenance", "route": "emission to maintenance", "role": "maintenance", "share_percent_num": 0, "share_percent_den": 1, "rounding": "none", "status": "IMPLEMENTED", "source": "no emission treasury (igneum.rs line 5); the litepaper: no fund, no foundation, no fee to the team"},
{"id": "R2-base", "route": "base fee, both gas dimensions", "role": "burn", "share_percent_num": 100, "share_percent_den": 1, "rounding": "none", "status": "IMPLEMENTED", "source": "fees.rs lines 131 to 132 (burned in full); executor.rs lines 318 to 329 (the execution base part and the proving charge burned)"},
{"id": "R3-tip-miner", "route": "priority fee (tip), beneficiary share", "role": "miners", "share_percent_num": 80, "share_percent_den": 1, "rounding": "the remainder of the developer floor", "status": "IMPLEMENTED", "source": "igneum/exec config.rs lines 75 to 76 (80% to the including miner); executor.rs line 729 (the beneficiary credited the miner tip)"},
{"id": "R3-tip-dev", "route": "priority fee (tip), developer share", "role": "developers (not a security role)", "share_percent_num": 20, "share_percent_den": 1, "rounding": "floor, unregistered frames burned", "status": "IMPLEMENTED", "source": "igneum/exec config.rs lines 75 to 76; pgas.rs lines 287 to 310"},
{"id": "R3-tip-provers", "route": "priority fee (tip), provers' part", "role": "internal provers", "share_percent_num": 0, "share_percent_den": 1, "rounding": "none", "status": "BLOCKED", "source": "the node's code pays the 80% tip share to the beneficiary alone (executor.rs lines 318 to 329, line 729); the litepaper's routing table, row 3, reads '80% the block's miner and provers' with no split. The master, p. 36: resolve the discrepancy between the fee table and prose before modelling security income."},
{"id": "R4-external-launch", "route": "external job at launch (customer's chain)", "role": "the delivering miner (outside the native ledger)", "share_percent_num": 0, "share_percent_den": 1, "rounding": "none", "status": "UNRATIFIED", "source": "the litepaper's routing table, row 4 (Designed); D04: the external-job rate is not ratified"},
{"id": "R5-external-bridge", "route": "external job after the proof bridge", "role": "internal provers (the delivering provers)", "share_percent_num": 0, "share_percent_den": 1, "rounding": "none", "status": "UNRATIFIED", "source": "the litepaper's routing table, row 5 (Designed, phase two; 90% to provers, 10% burned as published); D04: the external-job rate is not ratified, so the published 90/10 is a parameter here and the tables carry zero external jobs"},
{"id": "R6-devfee", "route": "the official miner client's optional dev fee", "role": "the project (operator income, outside the protocol)", "share_percent_num": 0, "share_percent_den": 1, "rounding": "none", "status": "UNRATIFIED", "source": "the litepaper's routing table, row 6: never added to rows 1 to 5; switchable by every miner, so not a committed resource (the master, p. 68, P13)"}
{
"id": "R1-miner",
"route": "emission, producer share",
"role": "miners",
"share_percent_num": 80,
"share_percent_den": 1,
"rounding": "the remainder of the pool's floor",
"status": "IMPLEMENTED",
"source": "igneum.rs lines 43 to 44 and 123 to 126; the litepaper's routing table, row 1"
},
{
"id": "R1-pool",
"route": "emission, proving pool share",
"role": "internal provers",
"share_percent_num": 20,
"share_percent_den": 1,
"rounding": "floor",
"status": "IMPLEMENTED",
"source": "igneum.rs lines 43 to 44 and 85 to 88; the litepaper's routing table, row 1"
},
{
"id": "R1-validators",
"route": "emission to minimum validators",
"role": "minimum validators",
"share_percent_num": 0,
"share_percent_den": 1,
"rounding": "none",
"status": "IMPLEMENTED",
"source": "no such output in the coinbase (igneum.rs lines 90 to 121); the litepaper: 0% to treasury, foundation, team or stake"
},
{
"id": "R1-maintenance",
"route": "emission to maintenance",
"role": "maintenance",
"share_percent_num": 0,
"share_percent_den": 1,
"rounding": "none",
"status": "IMPLEMENTED",
"source": "no emission treasury (igneum.rs line 5); the litepaper: no fund, no foundation, no fee to the team"
},
{
"id": "R2-base",
"route": "base fee, both gas dimensions",
"role": "burn",
"share_percent_num": 100,
"share_percent_den": 1,
"rounding": "none",
"status": "IMPLEMENTED",
"source": "fees.rs lines 131 to 132 (burned in full); executor.rs lines 318 to 329 (the execution base part and the proving charge burned)"
},
{
"id": "R3-tip-miner",
"route": "priority fee (tip), beneficiary share",
"role": "miners",
"share_percent_num": 80,
"share_percent_den": 1,
"rounding": "the remainder of the developer floor",
"status": "IMPLEMENTED",
"source": "igneum/exec config.rs lines 75 to 76 (80% to the including miner); executor.rs line 729 (the beneficiary credited the miner tip)"
},
{
"id": "R3-tip-dev",
"route": "priority fee (tip), developer share",
"role": "developers (not a security role)",
"share_percent_num": 20,
"share_percent_den": 1,
"rounding": "floor, unregistered frames burned",
"status": "IMPLEMENTED",
"source": "igneum/exec config.rs lines 75 to 76; pgas.rs lines 287 to 310"
},
{
"id": "R3-tip-provers",
"route": "priority fee (tip), provers' part",
"role": "internal provers",
"share_percent_num": 0,
"share_percent_den": 1,
"rounding": "none",
"status": "BLOCKED",
"source": "the node's code pays the 80% tip share to the beneficiary alone (executor.rs lines 318 to 329, line 729); the litepaper's routing table, row 3, reads '80% the block's miner and provers' with no split. The master, p. 36: resolve the discrepancy between the fee table and prose before modelling security income."
},
{
"id": "R4-external-launch",
"route": "external job at launch (customer's chain)",
"role": "the delivering miner (outside the native ledger)",
"share_percent_num": 0,
"share_percent_den": 1,
"rounding": "none",
"status": "UNRATIFIED",
"source": "the litepaper's routing table, row 4 (Designed); D04: the external-job rate is not ratified"
},
{
"id": "R5-external-bridge",
"route": "external job after the proof bridge",
"role": "internal provers (the delivering provers)",
"share_percent_num": 0,
"share_percent_den": 1,
"rounding": "none",
"status": "UNRATIFIED",
"source": "the litepaper's routing table, row 5 (Designed, phase two; 90% to provers, 10% burned as published); D04: the external-job rate is not ratified, so the published 90/10 is a parameter here and the tables carry zero external jobs"
},
{
"id": "R6-devfee",
"route": "the official miner client's optional dev fee",
"role": "the project (operator income, outside the protocol)",
"share_percent_num": 0,
"share_percent_den": 1,
"rounding": "none",
"status": "UNRATIFIED",
"source": "the litepaper's routing table, row 6: never added to rows 1 to 5; switchable by every miner, so not a committed resource (the master, p. 68, P13)"
}
],
"signing_bonus": {"mainnet_activation": "never (u64::MAX)", "bps": 1000, "status": "IMPLEMENTED", "source": "params.rs lines 1809 to 1810 (MAINNET_PARAMS: off); igneum.rs lines 90 to 121 (a silent block moves bonus_bps of the producer share to the pool)", "effect_here": "none: off on the mainnet params, so the 80/20 split stands"},
"signing_bonus": {
"mainnet_activation": "never (u64::MAX)",
"bps": 1000,
"status": "IMPLEMENTED",
"source": "params.rs lines 1809 to 1810 (MAINNET_PARAMS: off); igneum.rs lines 90 to 121 (a silent block moves bonus_bps of the producer share to the pool)",
"effect_here": "none: off on the mainnet params, so the 80/20 split stands"
},
"scenarios": [
{"id": "m010", "multiple_num": 1, "multiple_den": 10, "label": "0.1x: the minus-90-percent case, the 1x path at one tenth", "kind": "minus-90-percent"},
{"id": "m025", "multiple_num": 1, "multiple_den": 4, "label": "0.25x", "kind": "revenue band"},
{"id": "m100", "multiple_num": 1, "multiple_den": 1, "label": "1x (the baseline path)", "kind": "revenue band"},
{"id": "m400", "multiple_num": 4, "multiple_den": 1, "label": "4x", "kind": "revenue band"},
{"id": "m1000", "multiple_num": 10, "multiple_den": 1, "label": "10x", "kind": "revenue band"}
{
"id": "m010",
"multiple_num": 1,
"multiple_den": 10,
"label": "0.1x: the minus-90-percent case, the 1x path at one tenth",
"kind": "minus-90-percent"
},
{
"id": "m025",
"multiple_num": 1,
"multiple_den": 4,
"label": "0.25x",
"kind": "revenue band"
},
{
"id": "m100",
"multiple_num": 1,
"multiple_den": 1,
"label": "1x (the baseline path)",
"kind": "revenue band"
},
{
"id": "m400",
"multiple_num": 4,
"multiple_den": 1,
"label": "4x",
"kind": "revenue band"
},
{
"id": "m1000",
"multiple_num": 10,
"multiple_den": 1,
"label": "10x",
"kind": "revenue band"
}
],
"horizons_years": [
1,
5,
10,
20
],
"horizons_years": [1, 5, 10, 20],
"external_jobs_per_year": 0,
"native_tip_volume_per_year_coins": 0,
"roles": ["miners", "internal provers", "minimum validators", "maintenance"],
"roles": [
"miners",
"internal provers",
"minimum validators",
"maintenance"
],
"panel_cells": [
{"id": "C-miners", "parameter": "minimum required miner cost per year", "unit": "BU (one BU = the purchasing power of the baseline, the whole year-1 subsidy, on the 1x path)", "value": null, "status": "PANEL", "source_hint": "the master, p. 68, P12: its electricity, productive-life and development grids are the panel's inputs; p. 88 to 89, ECO-01 to ECO-06 for the cost reconciliation"},
{"id": "C-provers", "parameter": "minimum required internal proving cost per year", "unit": "BU", "value": null, "status": "PANEL", "source_hint": "the master, p. 36 (the historical shard timings, not reproduced for this edition) and p. 89, ECO-06"},
{"id": "C-validators", "parameter": "minimum required validator cost per year", "unit": "BU", "value": null, "status": "PANEL", "source_hint": "the volume, p. 15 (minimum-node resources) and TV-10; no figure in the volume or the master"},
{"id": "C-maintenance", "parameter": "minimum required maintenance cost per year", "unit": "BU", "value": null, "status": "PANEL", "source_hint": "the master, p. 68, P13 (at least 12 months of committed resources); the volume, p. 31; no figure in the volume or the master"},
{"id": "K-class", "parameter": "which scenario-year cells are approved viable and which are collapse cases", "unit": "a declaration per cell, before results", "value": null, "status": "PANEL", "source_hint": "the master, p. 68, P12: declare the viable worlds before running; collapse worlds stay as safety and exit tests"},
{"id": "T-tip", "parameter": "native tip volume per year (fee level and its volatility)", "unit": "coins a year", "value": null, "status": "PANEL", "source_hint": "the volume, p. 14 (fee timing as well as amount); the tables carry zero, the fee-replacement table gives the volume each year would need"}
]
{
"id": "K-class",
"parameter": "which scenario-year cells are approved viable and which are collapse cases",
"unit": "a declaration per cell, before results",
"value": null,
"status": "PANEL",
"source_hint": "the master, p. 68, P12: declare the viable worlds before running; collapse worlds stay as safety and exit tests"
},
{
"id": "T-tip",
"parameter": "native tip volume per year (fee level and its volatility)",
"unit": "coins a year",
"value": null,
"status": "PANEL",
"source_hint": "the volume, p. 14 (fee timing as well as amount); the tables carry zero, the fee-replacement table gives the volume each year would need"
}
],
"cost_inputs": [
{
"id": "F-4090-rp-rate",
"role": "miners and internal provers",
"quantity": "USD per hour of one rented RTX 4090, RunPod median (57 cards, 0.34 to 0.89)",
"value": "0.74",
"unit": "USD per hour",
"source": "the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK",
"status": "MEASURED"
},
{
"id": "F-4090-vast-rate",
"role": "miners and internal provers",
"quantity": "USD per hour of one rented RTX 4090, Vast median (3 cards, 0.322 to 0.376)",
"value": "0.376",
"unit": "USD per hour",
"source": "the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK",
"status": "MEASURED"
},
{
"id": "F-5090-vast-rate",
"role": "miners and internal provers",
"quantity": "USD per hour of one rented RTX 5090, Vast median (6 cards, 0.41 to 0.509)",
"value": "0.47",
"unit": "USD per hour",
"source": "the fleet lane, 09:50 UK 9 October 2026: the fleet registry rows' billed dph divided by the card count, rows up at 09:49 UK",
"status": "MEASURED"
},
{
"id": "F-4090-mhs",
"role": "miners",
"quantity": "accepted MH/s of one RTX 4090 mining on the current class (wall, hub-1, 12.1 h continuous, 0 rejected, 263 W, 08:50:08Z)",
"value": "57.20",
"unit": "MH/s",
"source": "the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log",
"status": "MEASURED"
},
{
"id": "F-5090-mhs",
"role": "miners",
"quantity": "MH/s of one RTX 5090 mining on the current class (inside jobs, steady lines 97.2 to 97.6, p1-5090, 371 W, 08:50:19Z)",
"value": "97.2",
"unit": "MH/s",
"source": "the fleet lane: the igneum-miner kit-2 worker's STATUS line in /root/fleet/out/dn3-miner.log",
"status": "MEASURED"
},
{
"id": "F-4090-shards",
"role": "internal provers",
"quantity": "proof records one RTX 4090 completes per hour, serial (medians 120.3 to 146.8 s end to end over four boxes)",
"value": "30",
"unit": "records per hour",
"source": "the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split)",
"status": "MEASURED"
},
{
"id": "F-5090-shards",
"role": "internal provers",
"quantity": "proof records one RTX 5090 completes per hour, serial (median 93.2 s over 147 records, p1-5090)",
"value": "39",
"unit": "records per hour",
"source": "the fleet lane: box-prover.py RESULT lines in /root/fleet/out/prover.log, 7 to 9 October (devnet-3 and devnet-4); one record is one shard or one segment record; rates of proving, not of paid proofs (devnet-4 has paid 0 proofs since its split)",
"status": "MEASURED"
},
{
"id": "N-min-hashrate",
"role": "miners",
"quantity": "the minimum network hashrate the security model requires",
"value": null,
"unit": "MH/s",
"source": "not in the node lane's answer (10:06 UK); no figure in the volume or the master; the founder's or the panel's to set",
"status": "BLOCKED"
},
{
"id": "N-shards-year",
"role": "internal provers",
"quantity": "the proof records per year the chain must prove at the declared minimum workload",
"value": null,
"unit": "records per year",
"source": "not in the node lane's answer (10:06 UK); no figure in the volume or the master",
"status": "BLOCKED"
},
{
"id": "N-min-hubs",
"role": "minimum validators",
"quantity": "minimum hub count (validating non-mining full nodes)",
"value": null,
"unit": "hubs",
"source": "the node lane, 10:06 UK 9 October 2026: not written anywhere in the spec, the plans or the design; the founder's to set (the finality rule needs voters, not hubs)",
"status": "BLOCKED"
},
{
"id": "N-hub-rate",
"role": "minimum validators",
"quantity": "USD per hour of one hub box (the RunPod on-demand rate of the RTX 4090 pods the devnet's three hubs run on; a hub needs no GPU, and a CPU box of the same memory, 20 to 30 GB resident, would cost less, a rate the record does not hold)",
"value": "0.74",
"unit": "USD per hour",
"source": "the node lane, 10:06 UK 9 October 2026: RunPod's API costPerHr for lp-4090-04, -05 and -06, read 09:51 UK by the fleet lane",
"status": "MEASURED"
},
{
"id": "N-devnet-hubs",
"role": "minimum validators",
"quantity": "the devnet's hub count (devnet-4's three reference hubs in the F0 manifest's network row): a configuration, not a minimum",
"value": "3",
"unit": "hubs",
"source": "the node lane, 10:06 UK 9 October 2026",
"status": "MEASURED (configuration)"
},
{
"id": "N-maint-month",
"role": "maintenance",
"quantity": "committed maintenance (people-hours or USD per month)",
"value": null,
"unit": "USD per month",
"source": "the node lane, 10:06 UK 9 October 2026: no file names committed people-hours or USD per month for maintenance; the master, p. 68, P13",
"status": "BLOCKED"
},
{
"id": "N-infra-month",
"role": "maintenance",
"quantity": "committed infrastructure only: the build server (Hetzner AX162), ordered by the founder 6 October 2026; part of P13's infrastructure line, not the whole of maintenance",
"value": "446.52",
"unit": "USD per month",
"source": "the node lane, 10:06 UK 9 October 2026 (its record of the order)",
"status": "COMMITTED (infrastructure only)"
},
{
"id": "X-bu-usd",
"role": "every role",
"quantity": "V, the USD value of one BU (the purchasing power of the year-1 subsidy): the one unknown of every coverage cell",
"value": null,
"unit": "USD per BU",
"source": "the panel's figure; not carried here, since it needs a per-coin market figure, which VR-04 and the never-published list keep out of this document",
"status": "PANEL"
}
],
"hardware_classes": [
{
"cls": "4090, RunPod median rate",
"rate": "F-4090-rp-rate",
"mhs": "F-4090-mhs",
"shards": "F-4090-shards"
},
{
"cls": "4090, Vast median rate",
"rate": "F-4090-vast-rate",
"mhs": "F-4090-mhs",
"shards": "F-4090-shards"
},
{
"cls": "5090, Vast median rate",
"rate": "F-5090-vast-rate",
"mhs": "F-5090-mhs",
"shards": "F-5090-shards"
}
],
"fleet_memo": "the fleet lane, 09:50 UK: total rented spend USD 65.39 an hour over 125 registry rows (about USD 1,570 a day, every lane on the accounts); not a role cost: the devnet fleet is not the network's minimum"
}

View file

@ -18,7 +18,7 @@ QUEUE="${TV04_QUEUE_BOX:-build@188.40.146.49}"
ROOT="$(git rev-parse --show-toplevel)"
SHA="$(git -C "$ROOT" rev-parse HEAD)"
SHORT="${SHA:0:8}"
RUN="tv-04/runs/${SHORT}-${MODE}"
RUN="tv-04/runs/${SHORT}-${MODE}${TV04_PREVIEW_SPEC:+-preview}"
if ! git -C "$ROOT" diff --quiet HEAD -- tools/token-value/tv-04 docs/plans/igneum-2.0-master/token-value/phase0/tv-04; then
echo "uncommitted changes under the TV-04 paths: commit first, the box runs HEAD only" >&2
exit 2
@ -26,6 +26,12 @@ fi
ssh -o BatchMode=yes "$BOX" "mkdir -p ~/${RUN}/src"
git -C "$ROOT" archive --format=tar HEAD tools/token-value/tv-04 docs/plans/igneum-2.0-master/token-value \
| ssh -o BatchMode=yes "$BOX" "tar -x -C ~/${RUN}/src"
# TV04_PREVIEW_SPEC=<file>: a preview run with another lane's unlanded TV-01 spec placed at its tree path (the run dir gets
# a -preview suffix; a preview is never the evidence of a landing)
if [ -n "${TV04_PREVIEW_SPEC:-}" ]; then
ssh -o BatchMode=yes "$BOX" "mkdir -p ~/${RUN}/src/docs/plans/igneum-2.0-master/token-value/phase0/tv-01"
scp -q "$TV04_PREVIEW_SPEC" "$BOX:${RUN}/src/docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json"
fi
case "$MODE" in
red|green) CMD="python3 tools/token-value/tv-04/test_tv04.py" ;;
known-failed) CMD="python3 tools/token-value/tv-04/test_tv04.py --known-failed" ;;

View file

@ -37,14 +37,25 @@ def load_inputs():
# ---- the properties -------------------------------------------------------------------------------------------
def p_year1_matches_node_closed_form(inp, model, files):
"""Year 1 equals the node's closed form: rate x year minus the ramp's withheld coins (emission.rs ramp_withheld)."""
"""Year 1 per block (what nodes pay) sits within the ramp's per-block floors of the node's closed form
(emission.rs ramp_withheld: rate x year minus the ramp's withheld coins), at most one base unit per ramp block."""
s = inp["schedule"]
rate, year, r, start = s["launch_rate_base_units_per_second"], s["year_seconds"], s["ramp_seconds"], s["ramp_start_percent"]
n = r
withheld = rate * (100 - start) * (n * r - (0 + r - 1) * n // 2) // (100 * r)
want = rate * year - withheld
withheld = rate * (100 - start) * (r * r - (r - 1) * r // 2) // (100 * r)
closed = rate * year - withheld
got = model["emission"][1]
assert got == want, f"year-1 emission {got} != node closed form {want}"
assert closed == model["closed_form_year1"], f"the generator's closed form {model['closed_form_year1']} != the test's {closed}"
assert 0 <= closed - got <= r * s["bps"], f"year 1 per block {got} is {closed - got} base units from the closed form {closed}"
def p_tv01_reconciled(inp, model, files):
"""When the TV-01 supply spec is in the tree, every check this model makes against it agrees to the base unit."""
tv = model["tv01"]
if not tv["present"]:
return
assert tv["rows"], f"TV-01 spec present but not read: {tv['status']}"
bad = [r["check"] for r in tv["rows"] if not r["agree"]]
assert not bad, f"TV-01 disagrees on {bad}"
def p_no_hidden_issuance(inp, model, files):
@ -86,8 +97,8 @@ def p_conservation(inp, model, files):
def p_no_price_anywhere(inp, model, files):
"""VR-04 and the never-published list: no currency figure, no price line, no em dash, no zone word, anywhere."""
bad = ["$", "USD", "GBP", "EUR", "£", "€", "per IGN", "price per", "price of IGN", "IGN price", "—", "BST"]
"""VR-04 and the never-published list: no IGN price line, no per-coin figure, no em dash, no zone word, anywhere (USD costs are inputs)."""
bad = ["$", "\u00a3", "\u20ac", "per IGN", "/IGN", "price per", "price of IGN", "IGN price", "USD per IGN", "IGN per USD", "break-even price", "\u2014", "BST"]
for name, data in files.items():
text = data.decode("utf-8")
for b in bad:
@ -122,6 +133,7 @@ def p_byte_identical(inp, model, files):
PROPERTIES = [
p_year1_matches_node_closed_form,
p_tv01_reconciled,
p_no_hidden_issuance,
p_no_assumed_appreciation,
p_zero_external_jobs,
@ -172,7 +184,13 @@ def m_price(files):
files["README.md"] = files["README.md"] + "Reference: IGN price USD 0.01\n".encode("utf-8")
def spec_in_tree():
return os.path.exists(os.path.join(g.repo_root(), g.TV01_REL))
def mutants(base):
ramp20 = copy.deepcopy(base)
ramp20["schedule"]["ramp_start_percent"] = 20
tail = copy.deepcopy(base)
tail["schedule"]["tail"] = {"kind": "fixed", "rate_base_units_per_second": 1000000000}
return [
@ -181,7 +199,7 @@ def mutants(base):
("external-job income in a result row", base, m_external, None, "p_zero_external_jobs"),
("a currency figure in the output", base, None, m_price, "p_no_price_anywhere"),
("burned fees counted as a role receipt", base, m_burn, None, "p_conservation"),
]
] + ([("a ramp that starts at 20 percent against the TV-01 spec", ramp20, None, None, "p_tv01_reconciled")] if spec_in_tree() else [])
def known_failed(base):

View file

@ -11,8 +11,8 @@ Inputs: tools/token-value/tv-04/inputs.json (every parameter with its source and
tree, the TV-01 lane's supply spec (docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json),
reconciled year by year against the node's schedule reproduced here.
Units. Native amounts are base units at 8 decimals (the node's EmissionSchedule::CURRENT; the mainnet's 18-decimal
schedule is the same coins times 10^10). One BU is the purchasing power of the baseline: the whole year-1 subsidy on
Units. Native amounts are base units at 18 decimals, as the mainnet params carry them (EmissionSchedule::CURRENT
rescaled from 8 to 18 decimals, params.rs line 1858), paid per block at the mainnet's compiled 10 blocks a second. One BU is the purchasing power of the baseline: the whole year-1 subsidy on
the 1x path. A scenario multiple m scales the purchasing power of every native receipt, one constant for the whole
horizon (no assumed appreciation). No price figure is used or written.
"""
@ -94,6 +94,80 @@ class Schedule:
return self.supply[k] + rate * (t - a) - withheld
class PerBlock:
"""What nodes pay: one subsidy per DAA score, keyed on seconds = floor(daa / bps) (emission.rs block_subsidy, lines 329 to
333): the per-second rate of step k = floor(launch / divisor^k), divided by bps (floor), then the ramp (floor), and the
pool's share floored per block (igneum.rs proving_pool_share_units). Summed per second times bps: every block of a
DAA second carries the same subsidy."""
def __init__(self, s):
self.s = s
self.bps = s["bps"]
self.step = s["step_seconds"]
self.R = s["ramp_seconds"]
self.start = s["ramp_start_percent"]
self.pool_pct = s["pool_percent"]
self.rates = []
rate = s["launch_rate_base_units_per_second"]
for _ in range(4096):
self.rates.append(rate)
if rate // self.bps == 0:
break
rate = rate // s["step_divisor"]
else:
raise ValueError("the per-block subsidy does not reach zero within 4096 steps")
self.end_step = len(self.rates) - 1 # the first step whose per-block subsidy is zero
self.curve_end = self.end_step * self.step
assert self.R <= self.step
pb0 = max(self.rates[0], self._tail()) // self.bps
e = p = 0
den = 100 * self.R
for sec in range(self.R):
v = pb0 * (self.start * self.R + (100 - self.start) * sec) // den
e += v
p += v * self.pool_pct // 100
self.ramp_emission = e * self.bps
self.ramp_pool = p * self.bps
def _tail(self):
t = self.s["tail"]
if t["kind"] == "cap":
return 0
if t["kind"] == "fixed":
return t["rate_base_units_per_second"]
raise ValueError(f"tail kind {t['kind']} is not modelled")
def per_block(self, k):
rate = self.rates[k] if k < len(self.rates) else 0
return max(rate, self._tail()) // self.bps
def window(self, a, b):
"""(emission, pool) over DAA seconds [a, b), exact."""
e = p = 0
t = a
while t < b:
k = t // self.step
seg_end = min(b, (k + 1) * self.step)
pb = self.per_block(k)
lo = t
if k == 0 and t < self.R:
if t != 0 or seg_end < self.R:
raise ValueError("a window that starts or ends inside the ramp is not modelled")
e += self.ramp_emission
p += self.ramp_pool
lo = self.R
n = (seg_end - lo) * self.bps
e += pb * n
p += (pb * self.pool_pct // 100) * n
t = seg_end
if k >= self.end_step and self._tail() == 0:
break
return e, p
def total(self):
return self.window(0, self.curve_end)[0]
# ---- the model ------------------------------------------------------------------------------------------------
def route(inp, rid):
@ -103,65 +177,99 @@ def route(inp, rid):
raise KeyError(rid)
def read_tv01(inp, root, sched, years):
def read_tv01(inp, root, pb, years):
"""The TV-01 lane's supply spec, when it is in the tree: the mainnet profile's clocks, phase sums and year-end supplies
reconciled against this model to the base unit."""
path = os.path.join(root, TV01_REL)
if not os.path.exists(path):
return {"present": False, "status": "not in the tree at generation; the node's code (release-2.0.2-node a284380b) is the source", "rows": []}
return {"present": False, "status": "not in the tree at generation; the node's code (release-2.0.2-node a284380b) is the source", "rows": [], "spec": None}
sha = sha256_file(path)
try:
with open(path, "r", encoding="utf-8") as f:
spec = json.load(f)
except ValueError as e:
return {"present": True, "sha256": sha, "status": f"BLOCKED: the file does not parse as JSON ({e})", "rows": []}
found = None
for key in ("years", "annual", "emission_by_year", "schedule_years", "year_table"):
v = spec.get(key) if isinstance(spec, dict) else None
if isinstance(v, list) and v and isinstance(v[0], dict) and "year" in v[0]:
found = v
break
if found is None:
return {"present": True, "sha256": sha, "status": "BLOCKED: present, but no per-year emission list this generator reads (keys tried: years, annual, emission_by_year, schedule_years, year_table)", "rows": []}
rows, agree = [], True
dec = inp["schedule"]["decimals"]
for e in found:
y = int(e["year"])
if y < 1 or y > years:
continue
theirs = None
for k in ("emission_base_units", "emission_base_units_8dp", "emission_sompi"):
if k in e:
theirs = int(e[k])
break
if theirs is None and "emission_base_units_18dp" in e:
theirs = int(e["emission_base_units_18dp"]) // 10 ** (18 - dec)
ours = sched.supply_at(y * inp["schedule"]["year_seconds"]) - sched.supply_at((y - 1) * inp["schedule"]["year_seconds"])
ok = theirs is not None and theirs == ours
agree = agree and ok
rows.append({"year": y, "tv01": theirs, "tv04": ours, "agree": ok})
status = "reconciled: every year it lists agrees to the base unit" if rows and agree else "DISAGREES: see tv01-reconcile.csv" if rows else "BLOCKED: no year 1 to 20 rows"
return {"present": True, "sha256": sha, "status": status, "rows": rows}
return {"present": True, "sha256": sha, "status": f"BLOCKED: the file does not parse as JSON ({e})", "rows": [], "spec": None}
s = inp["schedule"]
Y = s["year_seconds"]
rows = []
try:
prof = [x for x in spec["schedules"] if x["profile"] == s["profile"]][0]
rows.append(("bps", prof["bps"], s["bps"]))
rows.append(("decimals", prof["decimals"], s["decimals"]))
rows.append(("genesis DAA score", prof["genesis_daa_score"], 0))
rows.append(("launch rate per second", int(spec["rules"]["launch_rate_per_second"]), s["launch_rate_base_units_per_second"]))
rows.append(("ramp seconds", spec["rules"]["ramp_seconds"], s["ramp_seconds"]))
rows.append(("ramp start percent", spec["rules"]["ramp_start_percent"], s["ramp_start_percent"]))
rows.append(("step seconds", spec["rules"]["step_seconds"], s["step_seconds"]))
rows.append(("cap", int(spec["cap"]["base_units"]), s["cap_coins"] * 10 ** s["decimals"]))
ph0 = [x for x in prof["phases"] if x["index"] == 0][0]
rows.append(("phase 0 (the ramp) sum", int(ph0["phase_sum"]), pb.ramp_emission))
for x in prof["phases"]:
if x["kind"] == "constant" and x["start_daa_score"] < years * Y * prof["bps"]:
rows.append((f"phase {x['index']} per-block subsidy", int(x["per_block_subsidy"]), pb.per_block(x["decay_step"])))
rows.append(("total issuance", int(prof["total_issuance"]), pb.total()))
for y, v in sorted(((int(k), v) for k, v in prof["scheduled_supply_at_year_end"].items())):
if y <= years:
rows.append((f"scheduled supply at the end of year {y}", int(v), pb.window(0, y * Y)[0]))
cs = [x for x in spec["coinbase_split"] if x["rule"] == "producer and proving pool"][0]
rows.append(("proving pool rule", cs["proving_pool"], f"floor(subsidy x {s['pool_percent']} / 100)"))
except (KeyError, IndexError, TypeError, ValueError) as e:
return {"present": True, "sha256": sha, "status": f"BLOCKED: a field this generator reads is missing ({e!r})", "rows": [], "spec": spec}
out = [{"check": c, "tv01": t, "tv04": o, "agree": t == o} for c, t, o in rows]
ok = all(r["agree"] for r in out)
status = f"reconciled: all {len(out)} checks agree to the base unit (tv01-reconcile.csv)" if ok else "DISAGREES on " + ", ".join(r["check"] for r in out if not r["agree"]) + " (tv01-reconcile.csv)"
return {"present": True, "sha256": sha, "status": status, "rows": out, "spec": spec, "agree": ok}
def role_costs(inp):
"""Each role's minimum cost per year in USD, per hardware class where the cost depends on one, from the cost inputs.
A missing input names itself; nothing is invented. Hours a year: year_seconds / 3600 (8,766)."""
cells = {c["id"]: c for c in inp.get("cost_inputs", [])}
hours = Fraction(inp["schedule"]["year_seconds"], 3600)
def v(i):
c = cells.get(i)
return None if c is None or c["value"] is None else Fraction(str(c["value"]))
def q(i):
c = cells.get(i)
return c["quantity"] if c else i
def make(cls, parts, fn):
missing = [f"{q(i)} ({i})" for i in parts if v(i) is None]
val = None if missing else fn(*[v(i) for i in parts])
return {"cls": cls, "usd_per_year": val, "missing": missing, "inputs": parts}
out = {r: [] for r in ROLES}
for hc in inp.get("hardware_classes", []):
out["miners"].append(make(hc["cls"], [hc["rate"], hc["mhs"], "N-min-hashrate"], lambda rate, mhs, need: rate / mhs * need * hours))
out["internal provers"].append(make(hc["cls"], [hc["rate"], hc["shards"], "N-shards-year"], lambda rate, sh, need: rate / sh * need))
out["minimum validators"].append(make("the minimum hub count", ["N-min-hubs", "N-hub-rate"], lambda n, rate: n * rate * hours))
out["minimum validators"].append(make("the devnet's 3 hubs (a configuration, not a minimum)", ["N-devnet-hubs", "N-hub-rate"], lambda n, rate: n * rate * hours))
out["maintenance"].append(make("committed maintenance", ["N-maint-month"], lambda m: m * 12))
out["maintenance"].append(make("committed infrastructure only (the build server; a floor, not the whole)", ["N-infra-month"], lambda m: m * 12))
return out
def build_model(inp, repo_root=None):
root = repo_root or globals()["repo_root"]()
s = inp["schedule"]
sched = Schedule(s)
pb = PerBlock(s)
cf = Schedule(s)
Y = s["year_seconds"]
emission, split = {}, {}
pool_pct = route(inp, "R1-pool")["share_percent_num"]
for y in range(1, YEARS_MODELLED + 1):
e = sched.supply_at(y * Y) - sched.supply_at((y - 1) * Y)
e, pool = pb.window((y - 1) * Y, y * Y)
emission[y] = e
pool = e * pool_pct // 100
split[y] = {"miners": e - pool, "internal provers": pool, "minimum validators": 0, "maintenance": 0, "burn_counted_as_receipt": 0}
B = emission[1]
after = sched.supply_at(sched.curve_end + Y) - sched.supply_at(sched.curve_end)
closed_form_y1 = cf.supply_at(Y)
after = pb.window(pb.curve_end, pb.curve_end + Y)[0]
scenarios = []
for sc in inp["scenarios"]:
m = Fraction(sc["multiple_num"], sc["multiple_den"])
scenarios.append({"id": sc["id"], "label": sc["label"], "kind": sc["kind"], "m": m, "multiple_by_year": {y: m for y in range(1, YEARS_MODELLED + 1)}})
panel = {c["id"]: c for c in inp["panel_cells"]}
cost_id = {"miners": "C-miners", "internal provers": "C-provers", "minimum validators": "C-validators", "maintenance": "C-maintenance"}
costs = role_costs(inp)
rows = []
for H in inp["horizons_years"]:
for sc in scenarios:
@ -171,13 +279,19 @@ def build_model(inp, repo_root=None):
y1 = split[1][role]
frac = Fraction(rec, y1) if y1 else None
ceil_exact = sc["multiple_by_year"][H] * Fraction(rec, B)
cost = panel[cost_id[role]]["value"]
cov = "" if cost is None else str(Fraction(ceil_exact) / Fraction(str(cost)))
vstar = []
for c in costs[role]:
if c["usd_per_year"] is None:
vstar.append({"cls": c["cls"], "value": None, "why": "BLOCKED: missing " + "; ".join(c["missing"])})
elif ceil_exact == 0:
vstar.append({"cls": c["cls"], "value": None, "why": "none: the protocol budget is zero, so no V brings coverage to 1.0"})
else:
vstar.append({"cls": c["cls"], "value": c["usd_per_year"] / ceil_exact, "why": ""})
decision = "BLOCKED" if role in ("minimum validators", "maintenance") else "NOT RUN"
rows.append({"key": f"y{H}-{sc['id']}-{role.replace(' ', '_')}", "horizon": H, "scenario": sc["id"], "label": sc["label"],
"multiple_num": sc["m"].numerator, "multiple_den": sc["m"].denominator, "role": role,
"native_receipts_base_units": rec, "cumulative_base_units": cum, "fraction_of_year1": frac,
"ceiling_exact": ceil_exact, "role_cost_bu": cost, "coverage": cov,
"ceiling_exact": ceil_exact, "role_cost_bu": None, "coverage": "", "vstar": vstar,
"external_job_receipts_base_units": 0, "decision": decision})
# tips that would hold the miners' year-1 receipts at constant purchasing power, through the code's 80% tip route
tip_miner = Fraction(route(inp, "R3-tip-miner")["share_percent_num"], 100)
@ -187,22 +301,22 @@ def build_model(inp, repo_root=None):
need = Fraction(gap) / tip_miner
feerep.append({"year": y, "miner_gap_base_units": gap, "tips_needed_exact": need, "tips_needed_bu": need / B})
dec = s["decimals"]
bound_per_year = 2 * 10 * Y # two floors (rate per block, pool share), each under one base unit, at up to 10 blocks a second
return {"emission": emission, "split": split, "baseline_base_units": B, "years_modelled": YEARS_MODELLED,
"total_schedule_base_units": sched.curve_total if s["tail"]["kind"] == "cap" else sched.supply_at(200 * Y),
"emission_after_curve": after, "curve_end_years": Fraction(sched.curve_end, Y), "periods": len(sched.rates) - 1,
"scenarios": scenarios, "rows": rows, "feerep": feerep, "tv01": read_tv01(inp, root, sched, YEARS_MODELLED),
"rounding_bound_base_units": bound_per_year, "decimals": dec, "schedule": sched}
"total_schedule_base_units": pb.total() if s["tail"]["kind"] == "cap" else pb.window(0, 200 * Y)[0],
"emission_after_curve": after, "curve_end_years": Fraction(pb.curve_end, Y), "periods": pb.end_step,
"closed_form_year1": closed_form_y1, "costs": costs,
"scenarios": scenarios, "rows": rows, "feerep": feerep, "tv01": read_tv01(inp, root, pb, YEARS_MODELLED),
"decimals": dec, "perblock": pb}
# ---- formatting ----------------------------------------------------------------------------------------------
def coins(b, dec=8):
def coins(b, dec=18):
q, r = divmod(b, 10 ** dec)
return f"{q}.{r:0{dec}d}"
def whole(b, dec=8):
def whole(b, dec=18):
return format(b // 10 ** dec, ",")
@ -244,11 +358,31 @@ def meaning(row, model):
mm = f"{fx(Fraction(row['multiple_num'], row['multiple_den']), 2)}x"
if role in ("minimum validators", "maintenance"):
return (f"In year {H} at {mm} the protocol routes nothing to {role}, so any positive minimum cost for the role is in the failure region "
f"until D03 names its recurring payer.")
f"until D03 names its recurring payer; no V brings its coverage to 1.0.")
return (f"In year {H} at {mm} the {role} receive {whole(row['native_receipts_base_units'])} coins, {pct(row['fraction_of_year1'])} of their year-1 receipts, "
f"which covers a minimum {role} cost of at most {c} BU; a panel cost above {c} BU puts this cell in the failure region.")
COVERAGE_FORMULA = "coverage = budget_BU x V / cost_USD (V: the USD value of one BU, the panel's figure)"
VSTAR_NOTE = ("V* is the reference value the panel compares against its own figure: the role's cost in USD divided by its budget in BU, "
"a quotient of two inputs, not a price. It is not a value, price or return claim (VR-04).")
def money(fr):
return "USD " + fx(fr, 2)
def cost_text(cs):
out = []
for c in cs:
out.append(f"{c['cls']}: " + (money(c["usd_per_year"]) + " a year" if c["usd_per_year"] is not None else "BLOCKED, missing " + "; ".join(c["missing"])))
return " | ".join(out)
def vstar_text(vs):
return " | ".join(f"{v['cls']}: " + (money(v["value"]) + " per BU" if v["value"] is not None else v["why"]) for v in vs)
def render_files(inp, model, repo_root=None):
root = repo_root or globals()["repo_root"]()
files = {}
@ -256,14 +390,14 @@ def render_files(inp, model, repo_root=None):
dec = model["decimals"]
# budget.csv: every horizon, scenario and role
hdr = ["horizon_year", "scenario", "multiple", "role", "route", "route_status", "native_receipts_base_units", "native_receipts_coins",
"cumulative_years_1_to_h_coins", "fraction_of_role_year1", "fundable_cost_ceiling_bu", "role_cost_bu_panel", "coverage",
"cumulative_years_1_to_h_coins", "fraction_of_role_year1", "fundable_cost_ceiling_bu", "role_cost_usd_per_year", "coverage_formula", "reference_value_v_star_usd_per_bu",
"external_job_receipts", "scenario_class_panel", "decision", "meaning"]
out = []
for r in model["rows"]:
rt = route(inp, ROLE_ROUTE[r["role"]])
out.append([r["horizon"], r["scenario"], fx(Fraction(r["multiple_num"], r["multiple_den"]), 2), r["role"], rt["id"], rt["status"],
r["native_receipts_base_units"], coins(r["native_receipts_base_units"], dec), coins(r["cumulative_base_units"], dec),
fx(r["fraction_of_year1"], 8), fx(r["ceiling_exact"], 8), "" if r["role_cost_bu"] is None else r["role_cost_bu"], r["coverage"],
fx(r["fraction_of_year1"], 8), fx(r["ceiling_exact"], 8), cost_text(model["costs"][r["role"]]), COVERAGE_FORMULA, vstar_text(r["vstar"]),
"0 (D04: the external-job rate is not ratified)", "", r["decision"], meaning(r, model)])
files["budget.csv"] = csv_bytes(hdr, out)
# emission.csv: the schedule year by year
@ -288,41 +422,75 @@ def render_files(inp, model, repo_root=None):
# parameters.csv
out = []
s = inp["schedule"]
out.append(["S-rate", "launch rate", s["launch_rate_base_units_per_second"], "base units per DAA second (8 decimals)", s["status"], s["source"]])
out.append(["S-rate", "launch rate", s["launch_rate_base_units_per_second"], f"base units per DAA second ({s['decimals']} decimals), {s['bps']} blocks a second", s["status"], s["source"]])
out.append(["S-ramp", "launch ramp", f"{s['ramp_seconds']} s from {s['ramp_start_percent']}%", "DAA seconds", s["status"], s["source"]])
out.append(["S-step", "decay step", f"{s['step_seconds']} s, rate divided by {s['step_divisor']}", "DAA seconds", s["status"], s["source"]])
out.append(["S-tail", "tail", s["tail"]["kind"], "", "RATIFIED (D01) and " + s["status"], s["source"] + "; " + s["ratified_by"]])
out.append(["S-cap", "cap", s["cap_coins"], "coins", "RATIFIED (D01) and " + s["status"], s["source"]])
for r in inp["routes"]:
out.append([r["id"], r["route"], f"{r['share_percent_num']}%" if r["status"] != "UNRATIFIED" else "not used (zero)", f"to {r['role']}", r["status"], r["source"]])
out.append([r["id"], r["route"], f"{r['share_percent_num']}%" if r["status"] != "UNRATIFIED" else "not used (zero)", f"to {r['role']}", route_status(inp, model, r), r["source"]])
for sc in inp["scenarios"]:
out.append([sc["id"], "scenario multiple", fx(Fraction(sc["multiple_num"], sc["multiple_den"]), 2), "of the baseline's purchasing power, constant over the horizon", "RATIFIED (TV-04 method words)", sc["label"]])
out.append(["X-ext", "external jobs per year", 0, "jobs", "UNRATIFIED (D04)", "TV-04 method: zero external jobs; the rate is a parameter, never a result"])
for c in inp.get("cost_inputs", []):
out.append([c["id"], c["quantity"], "" if c["value"] is None else c["value"], c["unit"], c["status"] if c["value"] is not None or c["status"] == "PANEL" else "BLOCKED: missing", c["source"]])
for c in inp["panel_cells"]:
out.append([c["id"], c["parameter"], "" if c["value"] is None else c["value"], c["unit"], c["status"], c["source_hint"]])
files["parameters.csv"] = csv_bytes(["id", "parameter", "value", "unit", "status", "source"], out)
# blocked.csv
files["blocked.csv"] = csv_bytes(["id", "row", "waits_on", "earliest_clock_uk"], [[b["id"], b["row"], b["waits_on"], b["clock"]] for b in blocked_rows(inp, model)])
files["blocked.csv"] = csv_bytes(["id", "row", "status", "waits_on_or_resolution", "earliest_clock_uk"],
[[b["id"], b["row"], "BLOCKED", b["waits_on"], b["clock"]] for b in blocked_rows(inp, model)]
+ [[b["id"], b["row"], "RESOLVED by TV-01", b["resolution"], ""] for b in blocked_rows(inp, model, resolved=True)])
if model["tv01"]["rows"]:
files["tv01-reconcile.csv"] = csv_bytes(["year", "tv01_base_units", "tv04_base_units", "agree"], [[r["year"], r["tv01"], r["tv04"], r["agree"]] for r in model["tv01"]["rows"]])
files["tv01-reconcile.csv"] = csv_bytes(["check", "tv01", "tv04", "agree"], [[r["check"], r["tv01"], r["tv04"], "yes" if r["agree"] else "NO"] for r in model["tv01"]["rows"]])
files["README.md"] = readme(inp, model, files, root).encode("utf-8")
return files
def blocked_rows(inp, model):
def _blocked_base(inp, model):
return [
{"id": "B-01", "row": "the internal provers' share of the priority fee", "waits_on": "D04's frozen routes (TV-01): the node's code pays the 80% tip share to the block's beneficiary alone (igneum/exec executor.rs lines 318 to 329, line 729), the litepaper's routing table row 3 and the design text read '80% the block's miner and provers' with no split; the master, p. 36, asks for the discrepancy resolved before security income is modelled", "clock": "the TV-01 supply spec, due 13:00 UK today; the node lane names where the rule lives"},
{"id": "B-02", "row": "internal provers: paid against assigned", "waits_on": "the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid", "clock": "the node lane's answer; TV-02's replay separates assigned, paid and burned"},
{"id": "B-01", "row": "the internal provers' share of the priority fee", "conflict": "C10", "waits_on": "D04's frozen routes (TV-01): the node's code pays the 80% tip share to the block's beneficiary alone (igneum/exec executor.rs lines 318 to 329, line 729), the litepaper's routing table row 3 and the design text read '80% the block's miner and provers' with no split; the master, p. 36, asks for the discrepancy resolved before security income is modelled", "clock": "the TV-01 supply spec, due 13:00 UK today; the node lane names where the rule lives"},
{"id": "B-02", "row": "internal provers: paid against assigned", "conflict": "C06-stranded", "waits_on": "the stranded-credit rule (the litepaper: unclaimed pool credit stays in the escrow, the fix is designed) and the single coinbase payout that replaces the devnet's burn of the 20% output; this table carries the assigned 20%, an upper bound on what provers are paid", "clock": "the node lane's answer; TV-02's replay separates assigned, paid and burned"},
{"id": "B-03", "row": "minimum validators: the recurring payer", "waits_on": "D03 (ratified: separate accountable budgets) names no payer for the minimum validator role; the protocol routes it nothing (no coinbase output, no fee share)", "clock": "the panel and the founder; no clock in the ratified rules"},
{"id": "B-04", "row": "maintenance: committed resources", "waits_on": "the master, p. 68, P13 (at least 12 months committed; burned fees, rising prices and uncommitted sales excluded) and the volume, p. 31; the registry's P13 deferral note (the founder, 8 October 2026, 18:2x UK); the protocol routes maintenance nothing", "clock": "the founder's lifting of the P13 deferral"},
{"id": "B-05", "row": "role costs (four cells) and the scenario classes", "waits_on": "the independent panel: the minimum required cost per role per year in BU, and which scenario-year cells are approved viable and which are collapse cases, declared before results (the master, p. 68, P12)", "clock": "the panel's reading; every coverage cell reads NOT RUN until then"},
{"id": "B-06", "row": "the tail-vote clause beside the cap", "waits_on": "D01 (ratified: capped issuance) against the litepaper's clause sending a tail reward to the miners' vote when external proving revenue is under one fifth of the subsidy after year 5 (with zero external jobs that condition holds from year 5 in every scenario here); the volume, p. 12: no undisclosed future rescue. This model mints no tail", "clock": "TV-01's frozen contract (13:00 UK today) and the site lane's wording"},
{"id": "B-07", "row": "the testnet parameters' 1% tail", "waits_on": "params.rs line 2014: TESTNET_PARAMS carries EmissionSchedule::TESTNET_1 (emission.rs lines 116 to 123, a 1 percent a year tail), while MAINNET_PARAMS carries the capped CURRENT (line 1858); this model reads the mainnet params; the node lane answers which schedule a value-bearing network carries", "clock": "the node lane's one-question answer"},
{"id": "B-05", "row": "the cost cells and the scenario classes", "waits_on": "by name: the minimum network hashrate the security model requires (MH/s); the proof records per year the chain must prove at the declared minimum workload; the minimum hub count (validating non-mining full nodes), the founder's to set; committed maintenance (people-hours or USD per month); V, the USD value of one BU, the panel's figure; and the panel's declaration of which scenario-year cells are approved viable and which are collapse cases, before results (the master, p. 68, P12). The fleet's unit costs and the hub box's rate are in", "clock": "the founder and the panel; every coverage cell reads NOT RUN until then"},
{"id": "B-06", "row": "the tail-vote clause beside the cap", "conflict": "C01", "waits_on": "D01 (ratified: capped issuance) against the litepaper's clause sending a tail reward to the miners' vote when external proving revenue is under one fifth of the subsidy after year 5 (with zero external jobs that condition holds from year 5 in every scenario here); the volume, p. 12: no undisclosed future rescue. This model mints no tail", "clock": "TV-01's frozen contract (13:00 UK today) and the site lane's wording"},
{"id": "B-07", "row": "the testnet parameters' 1% tail", "conflict": "C12", "waits_on": "params.rs line 2014: TESTNET_PARAMS carries EmissionSchedule::TESTNET_1 (emission.rs lines 116 to 123, a 1 percent a year tail), while MAINNET_PARAMS carries the capped CURRENT (line 1858); this model reads the mainnet params; the node lane answers which schedule a value-bearing network carries", "clock": "the node lane's one-question answer"},
{"id": "B-08", "row": "the schedule itself", "waits_on": "D02 (approved: the same-cap comparison; the schedule pending evidence): every figure here is conditional on EmissionSchedule::CURRENT and regenerates from inputs.json if the schedule changes", "clock": "TV-03's emission comparison"},
{"id": "B-09", "row": "safe behaviour in the collapse cases", "waits_on": "the gate's words for collapse scenarios (safe behaviour, not universal profit) are native evidence this model cannot give: contraction of the finality vote weight, honest pauses and recovery labelled apart from finality (D05) belong to TV-07, TV-09 and TV-15", "clock": "those gates' native runs"},
{"id": "B-10", "row": "a block-rate step after launch", "conflict": "C04", "waits_on": "the TV-01 spec's C04: the subsidy is keyed on seconds = daa / bps with no block-rate history, so a step from 1 to 10 blocks a second one year in would issue past the cap (hidden issuance under D01); the mainnet as compiled runs 10 blocks a second from genesis, which this model uses", "clock": "the founder's answer to TV-01's C04", "only_with_spec": True},
]
def _conflicts(model):
spec = model["tv01"].get("spec") or {}
return {c.get("id"): c for c in spec.get("conflicts", []) if isinstance(c, dict)}
def blocked_rows(inp, model, resolved=False):
"""The open rows; with resolved=True, the rows the TV-01 spec has resolved (its conflict reads RESOLVED)."""
cs = _conflicts(model)
out = []
for b in _blocked_base(inp, model):
c = cs.get(b.get("conflict"))
if b.get("only_with_spec") and c is None:
continue
is_res = c is not None and str(c.get("status", "")).startswith("RESOLVED")
if is_res != resolved:
continue
if is_res:
b = dict(b, resolution=f"TV-01 {c['id']} ({c.get('topic', '')}): {c.get('spec_takes', '')}; {c.get('status', '')}")
out.append(b)
return out
def route_status(inp, model, r):
cs = _conflicts(model)
if r["id"] == "R3-tip-provers" and str(cs.get("C10", {}).get("status", "")).startswith("RESOLVED"):
return "IMPLEMENTED (TV-01 C10 resolved, confirmed by the node lane 10:06 UK: the code, none to provers; the design's proving payment is on an unmerged branch with no activation)"
return r["status"]
def readme(inp, model, files, root):
B = model["baseline_base_units"]
dec = model["decimals"]
@ -337,6 +505,8 @@ def readme(inp, model, files, root):
a("")
a("Status: **NOT RUN**. Phase 0 lands documents and tests only; nothing activates. The independent panel reads this model; until it does, every verdict below reads NOT RUN, and the rows that wait on an unratified choice read BLOCKED. This document never writes PASS.")
a("")
a("Nothing in this document is a value, price or return claim (VR-04): it models what the ratified rules route to each role in native units and what the roles cost, and it never states what a coin is worth.")
a("")
a("Every figure on this page and in the CSVs beside it is written by `tools/token-value/tv-04/tv04_budget.py` from `tools/token-value/tv-04/inputs.json`. No price figure appears anywhere in it (VR-04 and the never-published list); the minus-90-percent case is a 0.1x multiple of the 1x path.")
a("")
a("## The gate")
@ -375,7 +545,7 @@ def readme(inp, model, files, root):
a("")
a("## Method")
a("")
a(f"1. The schedule. The node's `EmissionSchedule::CURRENT` on the mainnet params (emission.rs lines 103 to 110; params.rs line 1858): {inp['schedule']['launch_rate_base_units_per_second']:,} base units a DAA second at 8 decimals, a {inp['schedule']['ramp_seconds']:,}-second ramp from {inp['schedule']['ramp_start_percent']}%, the rate halved every {inp['schedule']['step_seconds']:,} DAA seconds, the tail the cap. Each year's emission is the node's closed-form scheduled supply at the year's end minus its start, in integers. The rate reaches zero after {model['periods']} halvings ({fx(model['curve_end_years'], 0)} years) and sums to {whole(model['total_schedule_base_units'])} coins under the {inp['schedule']['cap_coins']:,} cap. Per-block rounding (the per-block floor of the rate and the pool's floor) moves a year's figures by under {(model['rounding_bound_base_units'] + 10 ** dec - 1) // 10 ** dec} coins at up to ten blocks a second.")
a(f"1. The schedule. The node's `EmissionSchedule::CURRENT` on the mainnet params (emission.rs lines 103 to 110; params.rs line 1858, rescaled to {inp['schedule']['decimals']} decimals; {inp['schedule']['bps']} blocks a second as compiled, params.rs line 1789): {inp['schedule']['launch_rate_base_units_per_second']:,} base units a DAA second, a {inp['schedule']['ramp_seconds']:,}-second ramp from {inp['schedule']['ramp_start_percent']}%, the rate halved every {inp['schedule']['step_seconds']:,} DAA seconds, the tail the cap. Each year's emission is what nodes pay: one subsidy per DAA score, the per-block floor of the rate, the ramp's floor and the pool's floor applied per block (emission.rs lines 329 to 333; igneum.rs lines 201 to 208), summed in integers. The per-block subsidy reaches zero at halving {model['periods']}, from the start of year {fx(model['curve_end_years'] + 1, 0)} and the schedule sums to {whole(model['total_schedule_base_units'])} coins under the {inp['schedule']['cap_coins']:,} cap. The node's closed form (scheduled supply, per-block rounding ignored) gives year 1 as {coins(model['closed_form_year1'], dec)}, {model['closed_form_year1'] - B:+,} base units from the per-block sum.")
a(f"2. The baseline. The whole year-1 subsidy, {whole(B)} coins ({coins(B, dec)}), the ramp included. One BU is its purchasing power on the 1x path.")
a("3. The routing. Emission: 80% to the block's producer (miners), 20% to the proving pool (internal provers), nothing to validators or maintenance (igneum.rs lines 43 to 44, 85 to 88, 123 to 126; the signing bonus is off on the mainnet params, lines 1809 to 1810). Fees: the base fee of both gas dimensions burned in full; the tip 80% to the beneficiary and 20% to developers (exec config.rs lines 75 to 76). External jobs: zero; the published 90/10 is UNRATIFIED under D04 and enters no row.")
a("4. The scenarios. Multiples 0.1x (the minus-90-percent case), 0.25x, 1x, 4x and 10x of the baseline's purchasing power, each one constant over the whole horizon, so no row assumes appreciation. Native receipts are the same in every scenario; the multiple scales what they buy.")
@ -424,6 +594,64 @@ def readme(inp, model, files, root):
a(f"- {role}: the role's year-{H} budget buys at most {fx(lo['ceiling_exact'], 6)} BU in the minus-90-percent case, {fx(r['ceiling_exact'], 6)} BU at 1x and {fx(hi['ceiling_exact'], 6)} BU at 10x, so a panel minimum cost above the cell's ceiling is the failure region for that scenario.")
a("- external jobs: zero in every scenario by the method; the published rate is unratified (D04) and funds no role here.")
a("")
a("## The cost side")
a("")
a("The cost inputs, measured or committed, each with its source; an empty input is BLOCKED and named. Electricity is included as a rented pod's price includes it. Hours a year: 8,766.")
a("")
a("| Id | Input | Value | Source | Status |")
a("|---|---|---|---|---|")
for c in inp.get("cost_inputs", []):
val = "(missing)" if c["value"] is None else f"{c['value']} {c['unit']}"
a(f"| {c['id']} | {c['quantity']} | {val} | {c['source']} | {c['status'] if c['value'] is not None else ('**PANEL**' if c['status'] == 'PANEL' else '**BLOCKED**')} |")
a("")
a("Unit costs from those inputs, by class:")
a("")
a("| Class | USD per MH/s per hour | USD per proof record |")
a("|---|---|---|")
cv = {c["id"]: c["value"] for c in inp.get("cost_inputs", [])}
for hc in inp.get("hardware_classes", []):
r_, m_, s_ = cv.get(hc["rate"]), cv.get(hc["mhs"]), cv.get(hc["shards"])
u1 = fx(Fraction(str(r_)) / Fraction(str(m_)), 4) if r_ is not None and m_ is not None else "BLOCKED"
u2 = fx(Fraction(str(r_)) / Fraction(str(s_)), 4) if r_ is not None and s_ is not None else "BLOCKED"
a(f"| {hc['cls']} | {u1} | {u2} |")
a("")
if inp.get("fleet_memo"):
a(f"Memo, not a role cost: {inp['fleet_memo']}.")
a("")
a("Each role's minimum cost per year: miners, USD per MH/s per hour x the minimum hashrate x hours; internal provers, USD per proved shard x the shards per year; minimum validators, hubs x the hub box's USD per hour x hours; maintenance, the committed month x 12.")
a("")
a("| Role | Minimum cost per year |")
a("|---|---|")
for role in ROLES:
a(f"| {role} | {cost_text(model['costs'][role])} |")
a("")
a(f"Coverage, the one formula: {COVERAGE_FORMULA}. Coverage of 1.0 or more funds the role in that cell. The budgets stay in native units; V is the one unknown and the panel fills it.")
a("")
a(VSTAR_NOTE + " Where an input is missing, V* is BLOCKED by that input's name; where the protocol budget is zero, no V reaches 1.0.")
a("")
a("| Year | Scenario | Role | Budget (BU) | V* by class |")
a("|---|---|---|---|---|")
for H in inp["horizons_years"]:
for sc in scs:
for role in ROLES:
r = [x for x in model["rows"] if x["horizon"] == H and x["scenario"] == sc["id"] and x["role"] == role][0]
a(f"| {H} | {mult(sc)} | {role} | {fx(r['ceiling_exact'], 6)} | {vstar_text(r['vstar'])} |")
a("")
a("V* per unit of the missing capacity. The miners' and provers' V* scale linearly with the capacity the security model requires, so the table gives V* for each 1,000 MH/s of required hashrate and for each 1,000,000 required proof records a year, on the 1x path; divide by the multiple for another scenario. A quotient of inputs, not a price.")
a("")
a("| Year | Class | Miners: V* per 1,000 MH/s required (USD per BU) | Provers: V* per 1,000,000 records a year required (USD per BU) |")
a("|---|---|---|---|")
cvals = {c["id"]: c["value"] for c in inp.get("cost_inputs", [])}
hrs = Fraction(inp["schedule"]["year_seconds"], 3600)
for H in inp["horizons_years"]:
bm = [x for x in model["rows"] if x["horizon"] == H and x["scenario"] == "m100" and x["role"] == "miners"][0]["ceiling_exact"]
bp = [x for x in model["rows"] if x["horizon"] == H and x["scenario"] == "m100" and x["role"] == "internal provers"][0]["ceiling_exact"]
for hc in inp.get("hardware_classes", []):
r_, m_, s_ = cvals.get(hc["rate"]), cvals.get(hc["mhs"]), cvals.get(hc["shards"])
vm = money(Fraction(str(r_)) / Fraction(str(m_)) * 1000 * hrs / bm) if None not in (r_, m_) and bm else "BLOCKED"
vp = money(Fraction(str(r_)) / Fraction(str(s_)) * 1000000 / bp) if None not in (r_, s_) and bp else "BLOCKED"
a(f"| {H} | {hc['cls']} | {vm} | {vp} |")
a("")
a("## The verdict per scenario and year")
a("")
a("In the gate's words. The class of each cell (approved viable, or collapse) is the panel's declaration before results; the computed ceilings stand beside it. The failure region of a cell is every role whose minimum cost exceeds its ceiling, and minimum validators and maintenance at any positive cost.")
@ -452,7 +680,19 @@ def readme(inp, model, files, root):
a("")
a(f"Under the ratified cap with zero external jobs, the subsidy that pays the miners and the internal provers falls to {pct(Fraction(e[5], e[1]))} of year 1 in year 5, {pct(Fraction(e[10], e[1]))} in year 10 and {pct(Fraction(e[20], e[1]))} in year 20; at 10x purchasing power the year-20 miner budget buys {fx([x for x in model['rows'] if x['horizon'] == 20 and x['scenario'] == 'm1000' and x['role'] == 'miners'][0]['ceiling_exact'], 6)} BU, and in the minus-90-percent case {fx([x for x in model['rows'] if x['horizon'] == 20 and x['scenario'] == 'm010' and x['role'] == 'miners'][0]['ceiling_exact'], 6)} BU.")
a(f"Holding the miners' year-1 budget needs tips of {fx(model['feerep'][9]['tips_needed_bu'], 4)} of the baseline a year by year 10 and {fx(model['feerep'][19]['tips_needed_bu'], 4)} by year 20; the internal provers have no fee route in the node's code, so nothing in the ratified routing replaces their declining 20%; minimum validators and maintenance receive nothing from the protocol at any horizon.")
a("So whether TV-04 can pass turns on four things this model cannot supply: the panel's role costs and viable-or-collapse declarations, the tip level, a named payer for validators and maintenance, and the provers' fee route. Those are the BLOCKED rows below.")
costs = model["costs"]
known = [(r, c) for r in ROLES for c in costs[r] if c["usd_per_year"] is not None]
missing = sorted({m for r in ROLES for c in costs[r] for m in c["missing"]})
if known:
a("On the cost side, the inputs that are in give these annual costs: " + "; ".join(f"{r}, {c['cls']}: {money(c['usd_per_year'])} a year" for r, c in known)
+ ". Each of those roles has a zero protocol budget, so its coverage is zero at any V until D03 names a payer.")
if missing:
a("What no cell can be closed without: " + "; ".join(missing) + ", and V, the panel's USD value of one BU.")
c10 = any(b["id"] == "B-01" for b in blocked_rows(inp, model, resolved=True))
if c10:
a("The TV-01 spec settles the provers' fee route as the code has it (C10: none of the tip reaches provers), so their 20% of a falling subsidy is their only protocol income at every horizon. Whether TV-04 can pass turns on what this model cannot supply: the required capacities and the committed figures named above, V, the panel's viable-or-collapse declarations, the tip level, a named payer for validators and maintenance, and a recurring payer for internal proving as issuance falls (D03). Those are the BLOCKED rows below.")
else:
a("So whether TV-04 can pass turns on four things this model cannot supply: the panel's role costs and viable-or-collapse declarations, the tip level, a named payer for validators and maintenance, and the provers' fee route. Those are the BLOCKED rows below.")
a("")
a("## BLOCKED rows")
a("")
@ -461,13 +701,22 @@ def readme(inp, model, files, root):
for b in blocked_rows(inp, model):
a(f"| {b['id']} | {b['row']} | {b['waits_on']} | {b['clock']} |")
a("")
res = blocked_rows(inp, model, resolved=True)
if res:
a("Rows the TV-01 supply spec resolved (its conflict register reads RESOLVED); kept here with the resolution so the history stays visible:")
a("")
a("| Id | Row | Resolution |")
a("|---|---|---|")
for b in res:
a(f"| {b['id']} | {b['row']} | {b['resolution']} |")
a("")
a("## Files")
a("")
a("| File | What | sha256 |")
a("|---|---|---|")
desc = {"budget.csv": "every horizon x scenario x role row, with its meaning", "emission.csv": "the schedule and the role split, years 1 to 20",
"fee-replacement.csv": "the tips the miners' year-1 budget would need, years 1 to 20", "parameters.csv": "every parameter with its status and source",
"blocked.csv": "the BLOCKED rows", "tv01-reconcile.csv": "the TV-01 supply spec against this schedule, year by year"}
"blocked.csv": "the BLOCKED rows", "tv01-reconcile.csv": "the TV-01 supply spec against this model, check by check"}
for name in sorted(files):
a(f"| `{name}` | {desc.get(name, '')} | `{hashlib.sha256(files[name]).hexdigest()}` |")
a("")