Merge master 4bf9442cf into ci-r15-track-b under the master-landing lock

This commit is contained in:
igneum-labs 2026-10-09 10:10:38 +00:00
commit e16301c8e3
113 changed files with 8090 additions and 281 deletions

View file

@ -0,0 +1,226 @@
# X4: byte-identical implementation forms of the reg64c layer (the 1.5x programme, 9 October 2026)
Lane: the k lane (X4). Item in the founder's brief (sha256 74ee0732...): "Byte-identical reg64 implementation
alternatives: direct/generated/prefix alternative performance; state/storage/port update costs on both sides".
The frozen control: the class v6 generator tree 1a938abe4 (igneum-pow fingerprint 5f4d6dc6...), the class string
mx8-erad810f22d+sh256x27+state+reg64c+fold+rw. This document claims no pass. It changes nothing on the chain and
activates nothing.
## 1. The layer and the four forms
The reg64c layer is defined in `igneum-pow/src/verify.rs`, `step`'s `addr_src`. Every load's address source is
`r[s] ^ m`, where `m = r[k0]; m = rotl(m, 1) ^ r[k1]; ...` runs over the 63 registers other than the source `s`, in
index order. The fold stays the definition. Each form below computes the same 32-bit word on every register state and
every source.
| Form | What it computes | State beyond the 64-register window | Source |
|---|---|---|---|
| fold (frozen) | the 63-term dependent chain per load | none | `emit.rs` `reg64_mix_line` (the frozen text) |
| direct | the closed sum `XOR_{k<s} rotl(r[k], (62-k) mod 32) ^ XOR_{k>s} rotl(r[k], (63-k) mod 32)` as a balanced tree, depth 6 | none | `reg64form::direct`, `emit.rs` `reg64_direct_mix_line` |
| generated | 8 group sums `g_j = XOR_{k in 8j..8j+7} rotl(r[k], (63-k) mod 32)`. Before each load the generator recomputes only the groups the static schedule wrote since the last load (`reg64form::generated_plan`). Then `r[s] ^ ror(P,1) ^ S ^ P ^ a[s]`, with `S` the 8 groups and `P` the whole groups before `s`'s group plus the in-group partial | 8 x 32 bits per lane | `reg64form::grouped`, `emit.rs` `reg64_generated_mix_line` |
| prefix | review B's F05 text as landed: a running `S` updated after every write (main list and shadow), and `P_s` recomputed per load | 1 x 32 bits per lane | `verify::reg64_address_source`, `emit.rs` `reg64_prefix_mix_line` |
| grouped incremental (chip only) | the generated form's query, with groups 1..7 kept up to date on the base program's writes to r8..r63, and group 0 recomputed at each load | 8 x 32 bits per lane | modelled only; no GPU text |
The fact that makes the generated and grouped forms cheap: the shadow block draws its destination as
`dst = rng.below(8)` (`generator.rs`, the shadow draw). So all 55,296 shadow writes per hash land in r0..r7 (group 0),
and the shadow moves no other group. `tools/1p5x/x4/chip_rows.py` asserts this on the exported text.
Code, on branch 1p5x-x4:
- b51d8c04b: the crate's forms.
- `igneum-pow/src/reg64form.rs`: new.
- `verify.rs`: an override hook in `step`. It is off unless `--reg64-cpu-form` names a form other than the fold.
- `emit.rs`: `--reg64-form`. It changes only the CUDA text, and `--reg64-prefix` is the same as `prefix`.
- `main.rs`: the two switches.
- The tools: `tools/1p5x/x4/` (`differential.sh`, `pod-x4.sh`, `chip_rows.py`, `gpu_rows.py`, `arith.py`).
The texts, exported on build-9 from the frozen object by the b51d8c04b binary (`igneum-pow` sha256 ccb1bf0e...):
| Form | kernel.cu sha256 | kernel_bound.cu sha256 | kernel.cu blake2b-256 (identity.json) | bytes |
|---|---|---|---|---|
| fold | b73ed77eb55d1b49 | 77cabb0602ee7ad5 | 368068868cbff44f | 86,027 |
| direct | 1fdd27fb8eff2bf5 | 010ae3a6dea7d431 | 895f573979f37b51 | 77,035 |
| generated | c1935ca84e7626dd | c39ff235fdff09ad | 6994fbdafe8e4bd1 | 54,664 |
| prefix | 3fe78c3928ba9b77 | 23fb860b5a258b52 | a859b9d88dc4a731 | 84,948 |
The four packs, as one tarball: x4-packs.tgz, sha256 6666d915.... It holds the frozen pack and the three alternatives.
## 2. Equivalence verdicts
| Test | Result | Evidence |
|---|---|---|
| Fold text check: `export` with no switch on b51d8c04b, compared with the frozen tarball hl-v6-all.tgz (91314310...) | kernel.cu, kernel_bound.cu, program.h and identity.json byte-identical | build-9 `/srv/builds/igneum-wt-1p5x-x4/ex/` |
| Prefix text check: `--reg64-form prefix`, compared with hl-v6-all-prefix.tgz (d4b07747...) | all 14 files byte-identical | as above |
| Unit test, known-failed first (`reg64form::tests::x4_forms_equal_the_fold_and_the_wrong_form_is_refused`): the wrong form (`r[s] ^ S ^ a[s]`) must disagree with the fold. Then direct, grouped and prefix must equal the fold on every source, over 4,096 random states, all zero, all ones, 2,048 single-bit states and the init rule's registers | PASS | `rows/suite-b51d8c04b.txt` |
| The crate suite on build-9 (rule 24) | green: 76 lib tests plus 12 test binaries, 0 failed | `rows/suite-b51d8c04b.txt` |
| CPU differential, whole hashes (`tools/1p5x/x4/differential.sh out 4096 32`): the CPU interpreter runs each form and keeps its state per form (the generated plan's stale groups, the prefix's running S) | **EQUIVALENT**. The known-failed form is refused on all 8 reg64c windows and all 32 fuzz seeds. Direct, generated and prefix agree on 44 of 44 checks each: 12 same-work windows, plus 32 fuzz seeds against the fold. Context 03 (class v5, no reg64) is the no-op control: every form agrees there, the wrong one too | `rows/VERDICT`, `rows/verdicts.txt` |
| GPU, the pack self-test and the 2^24 fingerprint at base nonce 0: the gen-6 worker 804a6f7f on an RTX 4090, eight runs | **EQUIVALENT**. check=PASS (96 of 96 vector lanes) and fingerprint e8f4f3289c6ee1fc on all four texts in both passes | `pod-s1/bench-*.log` |
The same-work windows: contexts 01 and 02 (`docs/analysis/class-v6/same-work/same-work-20261008-0{1,2}`), days D and
D+1. Each window is 4,096 nonces: nonce 0, the last 4,096 before the boundary 1,572,864, the first 4,096 after it, and
the last 4,096 of D+1. Each window is checked against that context's own `references/ref-D*.txt` from build-1. Context
03 (`same-work-20261008-03`, class v5) uses the same four windows.
The fuzz set: 32 seeds `i`. Each seed takes the epoch, era and prehash from `sha256("x4-fuzz-i")`, `"x4-era-i"` and
`"x4-pre-i"`, a nonce from `"x4-nonce-i"`, and runs 1,024 nonces on the class v6 string over the node1 state stream
(abb58003...).
## 3. The GPU side (measured)
The recipe is the hash lane's (build-1:/srv/artefacts/1p5x/gpu-row-recipe.md, sha256 cbab453c...):
- Run: worker `--bench`, 250 x 2^24, block-warps 1.
- Rate: the worker's own `mhs=`.
- Power: board power, `power.draw` mean from 8 s in to the end of the timed dispatches. No wall meter; idle is not
subtracted.
- The sampler read power.draw, clocks.sm, utilization.gpu and temperature.gpu at 1 Hz. The recipe's instant and average
fields were not read.
Hardware: one rented RTX 4090 (fk-x4-4090: a RunPod container, driver 595.91.07, CUDA 12.8 image, 450 W limit), at
stock. Worker igneum-worker-cuda-gen6, sha256 804a6f7fea10a62e (the class v6 zip 3 worker).
Session 1 ran 2026-10-09 08:45:43Z to 09:05Z in the order A B C D D C B A (`tools/1p5x/x4/pod-x4.sh`). On an island,
not a network.
| Run | Pack | MH/s | W | nJ per hash | Registers | Blocks per SM | Fingerprint |
|---|---|---|---|---|---|---|---|
| 1 | hl-v6-all (frozen fold) | 35.080 | 285.4 | 8,134 | 93 | 20 | e8f4f3289c6ee1fc |
| 2 | direct | 35.021 | 274.5 | 7,839 | 182 | 8 | e8f4f3289c6ee1fc |
| 3 | generated | 35.053 | 274.2 | 7,824 | 142 | 12 | e8f4f3289c6ee1fc |
| 4 | prefix | 35.056 | 277.1 | 7,905 | 154 | 12 | e8f4f3289c6ee1fc |
| 5 | prefix | 35.053 | 277.8 | 7,926 | 154 | 12 | e8f4f3289c6ee1fc |
| 6 | generated | 35.056 | 274.8 | 7,840 | 142 | 12 | e8f4f3289c6ee1fc |
| 7 | direct | 35.020 | 274.9 | 7,851 | 182 | 8 | e8f4f3289c6ee1fc |
| 8 | hl-v6-all (frozen fold) | 35.054 | 287.4 | 8,199 | 93 | 20 | e8f4f3289c6ee1fc |
Pass 1 compares runs 2 to 4 with run 1. Pass 2 compares runs 5 to 7 with run 8. g is the mean of the two joules-per-hash
ratios.
| Pair | Pass 1 rate / J per hash | Pass 2 rate / J per hash | Mean rate / J per hash | g |
|---|---|---|---|---|
| A/A: frozen run 8 against run 1 | -0.07% / +0.80% | | | (noise floor) |
| direct | -0.17% / -3.63% | -0.10% / -4.25% | -0.13% / -3.94% | 0.961 |
| generated | -0.08% / -3.82% | +0.01% / -4.38% | -0.04% / -4.10% | 0.959 |
| prefix | -0.07% / -2.82% | -0.00% / -3.33% | -0.04% / -3.07% | 0.969 |
Session 2 is the replicate: the same pod, 09:05:41Z to 09:25Z, the same order (`pod-s2/`, `rows/gpu-rows-s2.txt`).
| Pair (session 2) | Mean rate | Mean J per hash | g |
|---|---|---|---|
| A/A: frozen run 8 against run 1 | +0.00% | +0.15% | (noise floor) |
| direct | -0.17% | -3.97% | 0.960 |
| generated | -0.08% | -4.08% | 0.959 |
| prefix | -0.20% | -3.11% | 0.969 |
The two sessions agree to 0.001 in g on every form. Session 2's frozen runs read 35.081 MH/s at 8,172 and 8,184 nJ per
hash.
What the rows say: on the 4090 at stock, every form keeps the rate within 0.2 percent. Every form cuts board joules per
hash by 3 to 4 percent, about four times the A/A spread (0.15 to 0.8 percent), in both passes of both sessions.
The confound, open (BLOCKED row B2 below): nvcc gives the frozen fold 93 registers and 20 resident blocks per SM, and
the alternatives 142 to 182 registers and 8 to 12 blocks. The kernel is memory-bound: the rate is equal at every
occupancy. So the saving may come from fewer resident warps rather than from the form. Yesterday's F05 rows point the
other way on the other card (`docs/analysis/class-v6/rows/fleet-f05-20261008.md`): on the 5090 the prefix text halved
the blocks and cost 14 percent more joules per hash.
What it means per tier:
- A 24 GB card (4090) with a generated or direct pack would mine at the same rate for about 4 percent less board power.
That is about 11 W of 285.
- 8, 12 and 16 GB cards, AMD (OpenCL) and Apple (Metal) are not measured. The OpenCL and Metal texts keep the fold.
- No pack ships from this. A form change is a text change to a fleet kit, and it would go through the hash lane and
the kit lane.
## 4. The chip side (modelled)
Every row is modelled; no chip was measured. The counts come from the exported texts
(`tools/1p5x/x4/chip_rows.py ex`, `rows/chip-rows.txt`).
The constants are the adversary lane's calibrated row (its message of 09:4x UK; class-v6-adversary 43c9f7cd8
`tools/chip-model/mf/`):
- e_op: 6.55 pJ per lane-op at N5 (band 6.01 to 7.77). An xor-rotate that does not pass the slot's macro read costs
about 1.0 pJ.
- e_rf: 3.5 pJ per 256-bit macro access shared by 8 lanes (band 2.0 to 7.0).
- Flop bits written: 0.03 pJ per bit.
- The slot already reads 3 and writes 1 window register per instruction.
- The machine: 1.528 microjoules per hash (N5, GDDR7 board), of which the shadow is 0.672.
Counted from the texts: 256 executed loads per hash (32 per iteration x 8; the worker's RESULT line also says
loads=256). 128 base writes per iteration, 112 of them to r8..r63. 256 shadow writes per pass, all to r0..r7.
Two pricings are given. "Slot" prices each mix op as a full lane-op at 6.55 pJ, the adversary's literal-fold row.
"Datapath" prices each mix op as an xor at 1.0 pJ, the adversary's running-total row. In both, every extra window read
costs e_rf / 8.
| Form | Mix ops per hash | Extra window reads per hash | Flop bits written per hash | State per lane | Ports | nJ per hash, slot (lo / c / hi) | nJ per hash, datapath (lo / c / hi) | pJ per lane-op delta at N5 (slot / datapath) |
|---|---|---|---|---|---|---|---|---|
| fold (frozen) | 16,128 | 16,128 | 0 | 64 registers | 63 reads per load | 101.0 / 112.7 / 139.4 | 20.2 / 23.2 / 30.2 | +1.10 / +0.23 |
| direct | 15,872 | 16,128 | 0 | 64 registers | 63 reads per load (tree) | 99.4 / 111.0 / 137.4 | 19.9 / 22.9 / 30.0 | +1.08 / +0.22 |
| generated | 8,400 | 5,792 | 20,224 | +32 B (8 flop registers) | 8 reads per recomputed group | 52.5 / 58.2 / 70.9 | 10.5 / 11.5 / 14.1 | +0.57 / +0.11 |
| prefix (F05) | 121,320 | 8,160 | 1,802,240 | +4 B | a read-modify-write of S on every write, shadow included | 785.2 / 852.3 / 1003.9 | 177.4 / 179.0 / 182.5 | +8.31 / +1.74 |
| grouped incremental | 7,560 | 2,784 | 36,864 | +32 B | 1 group RMW per base write to r8..r63, 8 reads per load | 47.2 / 51.8 / 62.3 | 9.4 / 9.9 / 11.1 | +0.50 / +0.10 |
The per-lane-op delta spreads the mix's energy over the 102,612 shadow and base lane-ops.
Readings:
- The specialist's cheapest byte-identical form is the grouped incremental one: 10 to 52 nJ per hash, against 23 to
113 nJ for the literal fold.
- The adversary lane's 7 nJ running-total figure (5 to 10) counts 128 loads, and it leaves out the prefix `P_s` that
every load needs. It is corrected here and sent back to that lane.
- The adversary's section 17 Fenwick tree costs more on every reading. Its seven read-modify-writes land on every
write, the shadow's included.
## 5. The arithmetic (`tools/1p5x/x4/arith.py`, `rows/arith.txt`)
`r_new = r0 * g / a`. g comes from section 3. a is the specialist's machine energy with a form, divided by its energy
on a reference, at 1.528 microjoules. Two references:
- fold: a specialist that implements the frozen literal fold.
- model: the served machine, which carries no address-mix term at all. Against it, any form raises the specialist's
energy; that is a model correction, not a design gain.
Each side picks its cheapest form on its own. The card takes generated (g 0.959). The specialist takes grouped
incremental.
| r0 | vs fold, slot | vs fold, datapath | vs model, slot | vs model, datapath |
|---|---|---|---|---|
| 2.0 | a 0.963, r_new 1.99 | a 0.991, r_new 1.94 | a 1.034, r_new 1.86 | a 1.007, r_new 1.91 |
| 1.9 | 1.89 | 1.84 | 1.76 | 1.81 |
| 2.1 | 2.09 | 2.03 | 1.95 | 2.00 |
Per form, with both sides on the same form, from 2.0:
| Form | g | r_new vs fold (slot / datapath) | r_new vs model (slot / datapath) |
|---|---|---|---|
| direct | 0.961 | 1.92 / 1.92 | 1.79 / 1.89 |
| generated | 0.959 | 1.98 / 1.93 | 1.85 / 1.90 |
| prefix | 0.969 | 1.34 / 1.76 | 1.24 / 1.74 |
The prefix rows are not a credible opponent: no specialist would choose the costlier form.
Reaching 1.5 from 2.0 needs g / a = 0.75. The best credible pair gives 0.93 to 1.00. **X4 does not reach 1.5x**, and
no pass is claimed. What X4 does move:
- The card side: a 3 to 4 percent cut in board joules per hash on the 4090, open on the occupancy confound.
- The model side: the served chip omits a 10 to 52 nJ per hash term, worth 0.7 to 3.4 percent of the machine.
- Together, about 0.05 to 0.15 off a 2.0x ratio.
## 6. BLOCKED and NOT RUN rows
| Row | Status | Reason | What it needs |
|---|---|---|---|
| B1: the knee (the 4090 locked), every form | NOT RUN | The rented container refuses `nvidia-smi -lgc` and `-pl`. The worker has no duty-cycle throttle. The house rigs are blocked for every lane (the brief's amendment 2) | a pod host that grants clock locks, or the rigs after the relay lane's "agent back" line |
| B2: the occupancy control (the frozen fold text at 12 and 8 blocks per SM) | BLOCKED | The worker sets no register or occupancy cap for a base-variant pack (`--warps` applies to variant 5 only) | a worker flag or a `__launch_bounds__` text variant from the hash lane. It decides whether g is the form or the occupancy |
| B3: the RTX 5090 pairs (and the 5080, the cohort cards) | NOT RUN | one pod in this item's clock | a 5090 pod from the fleet lane. The F05 row says the sign can flip there |
| B4: OpenCL and Metal texts of the alternatives | NOT RUN | the switch is CUDA-only by design | emitter work in the three dialects, if a form is adopted |
| B5: the grouped incremental form as an executable text | NOT RUN | a chip-side design. Its equivalence rests on the prefix form's tested update rule and the generated form's tested query, and was not emulated on its own | a FormState arm in `reg64form.rs` and the differential, if the adversary lane carries the row |
| B6: the chip rows on the adversary lane's placed core run | BLOCKED | the model has no input file for an address-form row (its own answer). The rows above are this script's arithmetic on its constants | the adversary lane taking `rows/chip-rows.txt` into its section 17 |
## 7. Reproduce
All on a build box, never the Mac:
1. Build: `cargo build --release` in `igneum-pow` at 1p5x-x4.
2. Fetch the inputs from build-1 (the paths are in `differential.sh`'s header).
3. Export: `igneum-pow export --epoch-hex edc4fa84... --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa84... --era-widths 4 --state node1-state.igsd1 --reg64-form <form> --out <form>`.
4. Differential: `tools/1p5x/x4/differential.sh out 4096 32`.
5. Chip rows: `tools/1p5x/x4/chip_rows.py ex > chip-rows.txt`.
6. On the pod: `pod-x4.sh` with the worker and the packs, then `gpu_rows.py out out-run.log > gpu-rows.txt`.
7. Arithmetic: `arith.py gpu-rows.txt chip-rows.txt`.
The registry batch is `registry-batch-1p5x-x4-20261009.json` beside this file, every cell NOT RUN. It names the cell `rows:1p5x-x4`, which is not in the test map; the steward records it through `tools/ci/test-record.mjs`.

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2644 cache 2 dataset 29 hot 0 check 1352 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.05 ms; 250 timed dispatches of 16777216 nonces: mean 478.25 ms
RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.080 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1486 cache 2 dataset 29 hot 0 check 1168 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.90 ms; 250 timed dispatches of 16777216 nonces: mean 479.07 ms
RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.021 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1426 cache 3 dataset 29 hot 0 check 1119 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.37 ms; 250 timed dispatches of 16777216 nonces: mean 478.62 ms
RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.053 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1745 cache 2 dataset 29 hot 0 check 1163 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.73 ms; 250 timed dispatches of 16777216 nonces: mean 478.58 ms
RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.056 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1588 cache 2 dataset 29 hot 0 check 1183 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.50 ms; 250 timed dispatches of 16777216 nonces: mean 478.62 ms
RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.053 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1588 cache 2 dataset 28 hot 0 check 1170 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.37 ms; 250 timed dispatches of 16777216 nonces: mean 478.58 ms
RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.056 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1646 cache 8 dataset 47 hot 0 check 1147 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 479.00 ms; 250 timed dispatches of 16777216 nonces: mean 479.07 ms
RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.020 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2367 cache 3 dataset 29 hot 0 check 1105 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.05 ms; 250 timed dispatches of 16777216 nonces: mean 478.61 ms
RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.054 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,35 @@
RESULT start 2026-10-09T08:45:43Z NVIDIA GeForce RTX 4090, 595.91.07, 450.00 W, 3105 MHz
RESULT worker sha256 804a6f7fea10a62e
RESULT run 01-hl-v6-all rc=0 secs=125 t0=1791535543 t1=1791535668
BENCH 01-hl-v6-all | pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2644 cache 2 dataset 29 hot 0 check 1352 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 01-hl-v6-all | warm-up dispatch (base 0): 478.05 ms; 250 timed dispatches of 16777216 nonces: mean 478.25 ms
BENCH 01-hl-v6-all | RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.080 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 02-x4-direct rc=0 secs=123 t0=1791535688 t1=1791535811
BENCH 02-x4-direct | pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1486 cache 2 dataset 29 hot 0 check 1168 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 02-x4-direct | warm-up dispatch (base 0): 478.90 ms; 250 timed dispatches of 16777216 nonces: mean 479.07 ms
BENCH 02-x4-direct | RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.021 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 03-x4-generated rc=0 secs=124 t0=1791535831 t1=1791535955
BENCH 03-x4-generated | pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1426 cache 3 dataset 29 hot 0 check 1119 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 03-x4-generated | warm-up dispatch (base 0): 478.37 ms; 250 timed dispatches of 16777216 nonces: mean 478.62 ms
BENCH 03-x4-generated | RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.053 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 04-x4-prefix rc=0 secs=124 t0=1791535975 t1=1791536099
BENCH 04-x4-prefix | pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1745 cache 2 dataset 29 hot 0 check 1163 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 04-x4-prefix | warm-up dispatch (base 0): 478.73 ms; 250 timed dispatches of 16777216 nonces: mean 478.58 ms
BENCH 04-x4-prefix | RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.056 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 05-x4-prefix rc=0 secs=123 t0=1791536119 t1=1791536242
BENCH 05-x4-prefix | pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1588 cache 2 dataset 29 hot 0 check 1183 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 05-x4-prefix | warm-up dispatch (base 0): 478.50 ms; 250 timed dispatches of 16777216 nonces: mean 478.62 ms
BENCH 05-x4-prefix | RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.053 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 06-x4-generated rc=0 secs=124 t0=1791536262 t1=1791536386
BENCH 06-x4-generated | pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1588 cache 2 dataset 28 hot 0 check 1170 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 06-x4-generated | warm-up dispatch (base 0): 478.37 ms; 250 timed dispatches of 16777216 nonces: mean 478.58 ms
BENCH 06-x4-generated | RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.056 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 07-x4-direct rc=0 secs=124 t0=1791536406 t1=1791536530
BENCH 07-x4-direct | pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1646 cache 8 dataset 47 hot 0 check 1147 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 07-x4-direct | warm-up dispatch (base 0): 479.00 ms; 250 timed dispatches of 16777216 nonces: mean 479.07 ms
BENCH 07-x4-direct | RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.020 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 08-hl-v6-all rc=0 secs=124 t0=1791536550 t1=1791536674
BENCH 08-hl-v6-all | pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2367 cache 3 dataset 29 hot 0 check 1105 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 08-hl-v6-all | warm-up dispatch (base 0): 478.05 ms; 250 timed dispatches of 16777216 nonces: mean 478.61 ms
BENCH 08-hl-v6-all | RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.054 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT end 2026-10-09T09:04:54Z

View file

@ -0,0 +1,118 @@
1791535543,25.73,210,0,23
1791535544,41.92,2520,0,24
1791535545,80.03,2520,0,24
1791535546,79.72,2520,0,24
1791535547,83.98,2520,0,25
1791535548,214.87,2655,100,30
1791535549,280.28,2655,100,31
1791535551,280.39,2655,100,32
1791535552,280.38,2655,100,32
1791535553,280.40,2655,100,33
1791535554,280.54,2655,100,33
1791535555,280.64,2655,100,34
1791535556,280.79,2655,100,34
1791535557,280.88,2655,100,34
1791535558,280.84,2655,100,35
1791535559,281.21,2685,100,35
1791535560,281.50,2685,100,35
1791535561,281.46,2685,100,36
1791535562,281.81,2685,100,36
1791535563,282.10,2685,100,36
1791535564,282.20,2685,100,37
1791535565,282.20,2685,100,37
1791535566,282.62,2685,100,37
1791535567,282.67,2685,100,37
1791535568,282.63,2685,100,38
1791535570,282.77,2685,100,38
1791535571,282.88,2685,100,38
1791535572,282.96,2685,100,38
1791535573,282.77,2685,100,38
1791535574,283.22,2685,100,39
1791535575,283.19,2685,100,39
1791535576,283.71,2685,100,39
1791535577,283.31,2685,99,39
1791535578,283.61,2685,100,39
1791535579,283.69,2685,100,40
1791535580,283.76,2685,100,40
1791535581,284.29,2685,100,40
1791535582,284.29,2685,100,40
1791535583,284.29,2685,100,40
1791535584,284.29,2685,100,40
1791535585,284.08,2685,100,41
1791535586,284.09,2685,100,41
1791535587,284.27,2685,100,41
1791535589,284.52,2685,100,41
1791535590,284.69,2685,100,41
1791535591,285.17,2685,100,41
1791535592,284.58,2685,100,41
1791535593,284.85,2685,100,42
1791535594,285.05,2685,100,42
1791535595,285.57,2685,100,42
1791535596,285.45,2685,100,42
1791535597,285.14,2685,100,42
1791535598,285.25,2685,100,42
1791535599,285.37,2685,100,42
1791535600,285.58,2685,100,42
1791535601,285.74,2685,100,43
1791535602,285.55,2685,100,43
1791535603,285.70,2685,100,43
1791535605,285.65,2685,100,43
1791535606,285.56,2685,100,43
1791535607,285.64,2685,100,43
1791535608,286.10,2685,100,43
1791535609,285.48,2685,100,43
1791535610,285.57,2685,100,43
1791535611,285.86,2685,100,43
1791535612,285.49,2685,100,43
1791535613,285.84,2685,100,44
1791535614,286.10,2685,100,44
1791535615,286.06,2685,100,44
1791535616,285.77,2685,100,44
1791535617,285.92,2685,100,44
1791535618,286.16,2685,100,44
1791535619,286.63,2685,100,44
1791535620,286.40,2685,100,44
1791535621,286.33,2685,100,44
1791535623,286.91,2685,100,44
1791535624,286.25,2685,100,44
1791535625,286.94,2685,100,44
1791535626,287.21,2685,100,44
1791535627,287.43,2685,100,44
1791535628,287.06,2685,100,45
1791535629,287.04,2685,100,45
1791535630,287.20,2685,100,45
1791535631,287.46,2685,100,45
1791535632,287.78,2685,100,45
1791535633,288.03,2685,100,45
1791535634,287.81,2685,100,45
1791535635,287.69,2685,100,45
1791535636,288.01,2685,100,45
1791535637,287.39,2685,100,45
1791535638,287.20,2670,100,45
1791535639,287.27,2670,100,45
1791535640,287.52,2670,100,45
1791535641,287.89,2670,100,45
1791535643,287.58,2670,100,45
1791535644,287.44,2670,100,45
1791535645,287.64,2670,100,45
1791535646,287.27,2670,100,45
1791535647,287.41,2670,100,45
1791535648,287.34,2670,100,45
1791535649,287.58,2670,100,45
1791535650,287.78,2670,100,46
1791535651,287.32,2670,100,46
1791535652,287.36,2670,100,46
1791535653,287.67,2670,100,46
1791535654,287.97,2670,100,46
1791535655,287.86,2670,100,46
1791535656,287.72,2670,100,46
1791535658,288.10,2670,100,46
1791535659,287.65,2670,100,46
1791535660,288.01,2670,100,46
1791535661,287.50,2670,100,46
1791535662,287.42,2670,100,46
1791535663,288.01,2670,100,46
1791535664,287.81,2670,100,46
1791535665,287.93,2670,100,46
1791535666,287.92,2670,100,46
1791535667,287.99,2670,100,46
1 1791535543 25.73 210 0 23
2 1791535544 41.92 2520 0 24
3 1791535545 80.03 2520 0 24
4 1791535546 79.72 2520 0 24
5 1791535547 83.98 2520 0 25
6 1791535548 214.87 2655 100 30
7 1791535549 280.28 2655 100 31
8 1791535551 280.39 2655 100 32
9 1791535552 280.38 2655 100 32
10 1791535553 280.40 2655 100 33
11 1791535554 280.54 2655 100 33
12 1791535555 280.64 2655 100 34
13 1791535556 280.79 2655 100 34
14 1791535557 280.88 2655 100 34
15 1791535558 280.84 2655 100 35
16 1791535559 281.21 2685 100 35
17 1791535560 281.50 2685 100 35
18 1791535561 281.46 2685 100 36
19 1791535562 281.81 2685 100 36
20 1791535563 282.10 2685 100 36
21 1791535564 282.20 2685 100 37
22 1791535565 282.20 2685 100 37
23 1791535566 282.62 2685 100 37
24 1791535567 282.67 2685 100 37
25 1791535568 282.63 2685 100 38
26 1791535570 282.77 2685 100 38
27 1791535571 282.88 2685 100 38
28 1791535572 282.96 2685 100 38
29 1791535573 282.77 2685 100 38
30 1791535574 283.22 2685 100 39
31 1791535575 283.19 2685 100 39
32 1791535576 283.71 2685 100 39
33 1791535577 283.31 2685 99 39
34 1791535578 283.61 2685 100 39
35 1791535579 283.69 2685 100 40
36 1791535580 283.76 2685 100 40
37 1791535581 284.29 2685 100 40
38 1791535582 284.29 2685 100 40
39 1791535583 284.29 2685 100 40
40 1791535584 284.29 2685 100 40
41 1791535585 284.08 2685 100 41
42 1791535586 284.09 2685 100 41
43 1791535587 284.27 2685 100 41
44 1791535589 284.52 2685 100 41
45 1791535590 284.69 2685 100 41
46 1791535591 285.17 2685 100 41
47 1791535592 284.58 2685 100 41
48 1791535593 284.85 2685 100 42
49 1791535594 285.05 2685 100 42
50 1791535595 285.57 2685 100 42
51 1791535596 285.45 2685 100 42
52 1791535597 285.14 2685 100 42
53 1791535598 285.25 2685 100 42
54 1791535599 285.37 2685 100 42
55 1791535600 285.58 2685 100 42
56 1791535601 285.74 2685 100 43
57 1791535602 285.55 2685 100 43
58 1791535603 285.70 2685 100 43
59 1791535605 285.65 2685 100 43
60 1791535606 285.56 2685 100 43
61 1791535607 285.64 2685 100 43
62 1791535608 286.10 2685 100 43
63 1791535609 285.48 2685 100 43
64 1791535610 285.57 2685 100 43
65 1791535611 285.86 2685 100 43
66 1791535612 285.49 2685 100 43
67 1791535613 285.84 2685 100 44
68 1791535614 286.10 2685 100 44
69 1791535615 286.06 2685 100 44
70 1791535616 285.77 2685 100 44
71 1791535617 285.92 2685 100 44
72 1791535618 286.16 2685 100 44
73 1791535619 286.63 2685 100 44
74 1791535620 286.40 2685 100 44
75 1791535621 286.33 2685 100 44
76 1791535623 286.91 2685 100 44
77 1791535624 286.25 2685 100 44
78 1791535625 286.94 2685 100 44
79 1791535626 287.21 2685 100 44
80 1791535627 287.43 2685 100 44
81 1791535628 287.06 2685 100 45
82 1791535629 287.04 2685 100 45
83 1791535630 287.20 2685 100 45
84 1791535631 287.46 2685 100 45
85 1791535632 287.78 2685 100 45
86 1791535633 288.03 2685 100 45
87 1791535634 287.81 2685 100 45
88 1791535635 287.69 2685 100 45
89 1791535636 288.01 2685 100 45
90 1791535637 287.39 2685 100 45
91 1791535638 287.20 2670 100 45
92 1791535639 287.27 2670 100 45
93 1791535640 287.52 2670 100 45
94 1791535641 287.89 2670 100 45
95 1791535643 287.58 2670 100 45
96 1791535644 287.44 2670 100 45
97 1791535645 287.64 2670 100 45
98 1791535646 287.27 2670 100 45
99 1791535647 287.41 2670 100 45
100 1791535648 287.34 2670 100 45
101 1791535649 287.58 2670 100 45
102 1791535650 287.78 2670 100 46
103 1791535651 287.32 2670 100 46
104 1791535652 287.36 2670 100 46
105 1791535653 287.67 2670 100 46
106 1791535654 287.97 2670 100 46
107 1791535655 287.86 2670 100 46
108 1791535656 287.72 2670 100 46
109 1791535658 288.10 2670 100 46
110 1791535659 287.65 2670 100 46
111 1791535660 288.01 2670 100 46
112 1791535661 287.50 2670 100 46
113 1791535662 287.42 2670 100 46
114 1791535663 288.01 2670 100 46
115 1791535664 287.81 2670 100 46
116 1791535665 287.93 2670 100 46
117 1791535666 287.92 2670 100 46
118 1791535667 287.99 2670 100 46

View file

@ -0,0 +1,117 @@
1791535688,27.52,210,0,33
1791535689,69.40,2520,0,33
1791535690,85.81,2520,11,33
1791535691,80.89,2520,1,35
1791535692,217.63,2685,100,38
1791535693,271.20,2685,100,39
1791535694,272.12,2685,100,39
1791535695,272.26,2685,100,39
1791535696,272.58,2685,100,40
1791535697,273.06,2685,100,40
1791535698,272.48,2685,100,40
1791535700,272.13,2685,100,40
1791535701,272.77,2685,100,40
1791535702,273.29,2685,100,41
1791535703,273.24,2685,100,41
1791535704,273.06,2685,100,41
1791535705,273.71,2685,100,41
1791535706,273.73,2685,100,41
1791535707,273.53,2685,100,41
1791535708,273.34,2685,100,41
1791535709,273.05,2685,100,42
1791535710,273.11,2685,100,42
1791535711,273.22,2685,100,42
1791535712,273.33,2685,100,42
1791535713,273.39,2685,100,42
1791535714,273.43,2685,100,42
1791535715,273.09,2685,100,42
1791535716,273.15,2685,100,42
1791535718,273.32,2685,100,42
1791535719,273.34,2685,100,42
1791535720,273.08,2685,100,42
1791535721,273.26,2685,100,43
1791535722,273.36,2685,100,43
1791535723,273.81,2685,100,43
1791535724,273.88,2685,100,43
1791535725,274.15,2685,100,43
1791535726,274.29,2685,100,43
1791535727,274.35,2685,100,43
1791535728,274.49,2685,100,43
1791535729,274.58,2685,100,43
1791535730,274.31,2685,100,43
1791535731,273.94,2685,100,43
1791535732,274.05,2685,100,43
1791535734,274.08,2685,100,43
1791535735,274.50,2685,100,43
1791535736,274.56,2685,100,43
1791535737,274.41,2685,100,43
1791535738,274.16,2685,100,44
1791535739,274.39,2685,100,44
1791535740,274.76,2685,100,44
1791535741,274.97,2685,100,44
1791535742,274.87,2685,100,44
1791535743,274.46,2685,100,44
1791535744,274.72,2685,100,44
1791535745,274.83,2685,100,44
1791535746,275.01,2685,100,44
1791535747,274.87,2685,100,44
1791535748,274.77,2685,100,44
1791535749,274.91,2685,100,44
1791535751,274.91,2685,100,44
1791535752,275.30,2685,100,44
1791535753,275.23,2685,100,44
1791535754,275.14,2685,100,44
1791535755,275.17,2685,100,44
1791535756,275.04,2685,100,44
1791535757,274.95,2685,100,44
1791535758,274.85,2685,100,44
1791535759,274.61,2685,100,44
1791535760,274.70,2685,100,44
1791535761,274.73,2685,100,44
1791535762,274.67,2685,100,45
1791535763,274.85,2685,100,45
1791535764,274.88,2685,100,45
1791535765,275.33,2685,100,45
1791535766,275.20,2685,100,45
1791535768,275.22,2685,100,45
1791535769,274.88,2685,100,45
1791535770,275.15,2685,100,45
1791535771,275.35,2685,100,45
1791535772,275.56,2685,100,45
1791535773,275.42,2685,100,45
1791535774,275.36,2685,100,45
1791535775,275.31,2685,100,45
1791535776,275.20,2685,100,45
1791535777,274.76,2685,100,45
1791535778,275.26,2685,100,45
1791535779,275.42,2685,100,45
1791535780,275.17,2685,100,45
1791535781,275.35,2685,100,45
1791535782,275.11,2670,100,45
1791535783,275.03,2670,100,45
1791535784,275.04,2670,100,45
1791535786,275.02,2670,100,45
1791535787,275.10,2670,100,45
1791535788,275.11,2670,100,45
1791535789,275.12,2670,100,45
1791535790,275.40,2670,100,45
1791535791,275.03,2670,100,45
1791535792,275.15,2670,100,45
1791535793,275.04,2670,100,45
1791535794,275.05,2670,100,45
1791535795,275.22,2670,100,45
1791535796,274.60,2670,100,45
1791535797,275.23,2670,100,45
1791535798,275.25,2670,100,45
1791535799,275.49,2670,100,45
1791535800,275.52,2670,100,45
1791535801,275.48,2670,100,45
1791535802,275.28,2670,100,45
1791535803,275.30,2670,100,45
1791535805,275.35,2670,100,45
1791535806,275.39,2670,100,45
1791535807,275.68,2670,100,45
1791535808,275.70,2670,100,45
1791535809,275.25,2670,100,45
1791535810,274.96,2670,100,45
1791535811,275.22,2670,100,45
1 1791535688 27.52 210 0 33
2 1791535689 69.40 2520 0 33
3 1791535690 85.81 2520 11 33
4 1791535691 80.89 2520 1 35
5 1791535692 217.63 2685 100 38
6 1791535693 271.20 2685 100 39
7 1791535694 272.12 2685 100 39
8 1791535695 272.26 2685 100 39
9 1791535696 272.58 2685 100 40
10 1791535697 273.06 2685 100 40
11 1791535698 272.48 2685 100 40
12 1791535700 272.13 2685 100 40
13 1791535701 272.77 2685 100 40
14 1791535702 273.29 2685 100 41
15 1791535703 273.24 2685 100 41
16 1791535704 273.06 2685 100 41
17 1791535705 273.71 2685 100 41
18 1791535706 273.73 2685 100 41
19 1791535707 273.53 2685 100 41
20 1791535708 273.34 2685 100 41
21 1791535709 273.05 2685 100 42
22 1791535710 273.11 2685 100 42
23 1791535711 273.22 2685 100 42
24 1791535712 273.33 2685 100 42
25 1791535713 273.39 2685 100 42
26 1791535714 273.43 2685 100 42
27 1791535715 273.09 2685 100 42
28 1791535716 273.15 2685 100 42
29 1791535718 273.32 2685 100 42
30 1791535719 273.34 2685 100 42
31 1791535720 273.08 2685 100 42
32 1791535721 273.26 2685 100 43
33 1791535722 273.36 2685 100 43
34 1791535723 273.81 2685 100 43
35 1791535724 273.88 2685 100 43
36 1791535725 274.15 2685 100 43
37 1791535726 274.29 2685 100 43
38 1791535727 274.35 2685 100 43
39 1791535728 274.49 2685 100 43
40 1791535729 274.58 2685 100 43
41 1791535730 274.31 2685 100 43
42 1791535731 273.94 2685 100 43
43 1791535732 274.05 2685 100 43
44 1791535734 274.08 2685 100 43
45 1791535735 274.50 2685 100 43
46 1791535736 274.56 2685 100 43
47 1791535737 274.41 2685 100 43
48 1791535738 274.16 2685 100 44
49 1791535739 274.39 2685 100 44
50 1791535740 274.76 2685 100 44
51 1791535741 274.97 2685 100 44
52 1791535742 274.87 2685 100 44
53 1791535743 274.46 2685 100 44
54 1791535744 274.72 2685 100 44
55 1791535745 274.83 2685 100 44
56 1791535746 275.01 2685 100 44
57 1791535747 274.87 2685 100 44
58 1791535748 274.77 2685 100 44
59 1791535749 274.91 2685 100 44
60 1791535751 274.91 2685 100 44
61 1791535752 275.30 2685 100 44
62 1791535753 275.23 2685 100 44
63 1791535754 275.14 2685 100 44
64 1791535755 275.17 2685 100 44
65 1791535756 275.04 2685 100 44
66 1791535757 274.95 2685 100 44
67 1791535758 274.85 2685 100 44
68 1791535759 274.61 2685 100 44
69 1791535760 274.70 2685 100 44
70 1791535761 274.73 2685 100 44
71 1791535762 274.67 2685 100 45
72 1791535763 274.85 2685 100 45
73 1791535764 274.88 2685 100 45
74 1791535765 275.33 2685 100 45
75 1791535766 275.20 2685 100 45
76 1791535768 275.22 2685 100 45
77 1791535769 274.88 2685 100 45
78 1791535770 275.15 2685 100 45
79 1791535771 275.35 2685 100 45
80 1791535772 275.56 2685 100 45
81 1791535773 275.42 2685 100 45
82 1791535774 275.36 2685 100 45
83 1791535775 275.31 2685 100 45
84 1791535776 275.20 2685 100 45
85 1791535777 274.76 2685 100 45
86 1791535778 275.26 2685 100 45
87 1791535779 275.42 2685 100 45
88 1791535780 275.17 2685 100 45
89 1791535781 275.35 2685 100 45
90 1791535782 275.11 2670 100 45
91 1791535783 275.03 2670 100 45
92 1791535784 275.04 2670 100 45
93 1791535786 275.02 2670 100 45
94 1791535787 275.10 2670 100 45
95 1791535788 275.11 2670 100 45
96 1791535789 275.12 2670 100 45
97 1791535790 275.40 2670 100 45
98 1791535791 275.03 2670 100 45
99 1791535792 275.15 2670 100 45
100 1791535793 275.04 2670 100 45
101 1791535794 275.05 2670 100 45
102 1791535795 275.22 2670 100 45
103 1791535796 274.60 2670 100 45
104 1791535797 275.23 2670 100 45
105 1791535798 275.25 2670 100 45
106 1791535799 275.49 2670 100 45
107 1791535800 275.52 2670 100 45
108 1791535801 275.48 2670 100 45
109 1791535802 275.28 2670 100 45
110 1791535803 275.30 2670 100 45
111 1791535805 275.35 2670 100 45
112 1791535806 275.39 2670 100 45
113 1791535807 275.68 2670 100 45
114 1791535808 275.70 2670 100 45
115 1791535809 275.25 2670 100 45
116 1791535810 274.96 2670 100 45
117 1791535811 275.22 2670 100 45

View file

@ -0,0 +1,117 @@
1791535831,27.25,210,0,32
1791535833,49.74,2520,0,33
1791535834,85.31,2520,22,33
1791535835,88.45,2520,64,33
1791535836,224.31,2685,100,38
1791535837,271.14,2685,100,39
1791535838,271.38,2685,100,39
1791535839,271.62,2685,100,40
1791535840,272.30,2685,100,40
1791535841,272.25,2685,100,40
1791535842,272.54,2685,100,40
1791535843,272.06,2685,100,40
1791535844,272.07,2685,100,41
1791535845,272.16,2685,100,41
1791535846,272.17,2685,100,41
1791535847,272.37,2685,100,41
1791535848,272.78,2685,100,41
1791535849,272.36,2685,100,41
1791535851,272.49,2685,100,41
1791535852,272.80,2685,100,42
1791535853,272.65,2685,100,42
1791535854,273.15,2685,100,42
1791535855,272.84,2685,100,42
1791535856,272.83,2685,100,42
1791535857,272.61,2685,100,42
1791535858,272.90,2685,100,42
1791535859,272.84,2685,100,42
1791535860,272.77,2685,100,42
1791535861,273.01,2685,100,42
1791535862,273.06,2685,100,42
1791535863,273.05,2685,100,43
1791535864,273.18,2685,100,43
1791535865,273.01,2685,100,43
1791535866,273.25,2685,100,43
1791535867,273.29,2685,100,43
1791535869,273.23,2685,100,43
1791535870,273.46,2685,100,43
1791535871,273.69,2685,100,43
1791535872,273.69,2685,100,43
1791535873,273.89,2685,100,43
1791535874,274.04,2685,100,43
1791535875,273.84,2685,100,43
1791535876,273.99,2685,100,43
1791535877,273.86,2685,100,43
1791535878,273.83,2685,100,44
1791535879,273.71,2685,100,44
1791535880,273.68,2685,100,44
1791535881,273.66,2685,100,44
1791535882,274.34,2685,100,44
1791535883,274.34,2685,100,44
1791535885,274.30,2685,100,44
1791535886,274.42,2685,100,44
1791535887,274.77,2685,100,44
1791535888,273.87,2685,100,44
1791535889,274.47,2685,100,44
1791535890,274.31,2685,100,44
1791535891,274.41,2685,100,44
1791535892,274.47,2685,100,44
1791535893,274.72,2685,100,44
1791535894,274.63,2685,100,44
1791535895,274.57,2685,100,44
1791535896,274.82,2685,100,44
1791535897,274.97,2685,100,44
1791535898,275.07,2685,100,44
1791535899,274.86,2685,100,44
1791535900,275.02,2685,100,44
1791535901,275.05,2685,100,44
1791535903,274.89,2685,100,44
1791535904,274.55,2685,100,44
1791535905,274.19,2685,100,45
1791535906,274.60,2685,100,45
1791535907,274.92,2685,100,45
1791535908,274.77,2685,100,45
1791535909,274.70,2685,100,45
1791535910,274.42,2685,100,45
1791535911,274.79,2685,100,45
1791535912,274.67,2685,100,45
1791535913,274.90,2685,100,45
1791535914,274.70,2685,100,45
1791535915,274.62,2685,100,45
1791535916,275.07,2685,100,45
1791535917,275.22,2685,100,45
1791535918,274.96,2670,100,45
1791535919,274.87,2670,100,45
1791535921,275.05,2670,100,45
1791535922,275.33,2670,100,45
1791535923,275.34,2670,100,45
1791535924,275.29,2670,100,45
1791535925,275.45,2670,100,45
1791535926,275.76,2670,100,45
1791535927,275.78,2670,100,45
1791535928,275.33,2670,100,45
1791535929,275.23,2670,100,45
1791535930,275.19,2670,100,45
1791535931,275.16,2670,100,45
1791535932,275.17,2670,100,45
1791535933,275.62,2670,100,45
1791535934,275.60,2670,100,45
1791535935,275.57,2670,100,45
1791535936,275.15,2670,100,45
1791535937,275.25,2670,100,45
1791535939,275.21,2670,100,45
1791535940,275.23,2670,100,45
1791535941,275.19,2670,100,45
1791535942,275.31,2670,100,45
1791535943,275.45,2670,100,45
1791535944,275.72,2670,100,45
1791535945,275.94,2670,100,45
1791535946,275.33,2670,100,45
1791535947,275.23,2670,100,45
1791535948,274.83,2670,100,45
1791535949,274.60,2670,100,45
1791535950,274.83,2670,100,45
1791535951,275.42,2670,100,45
1791535952,275.43,2670,100,45
1791535953,275.14,2670,100,45
1791535954,275.43,2670,100,45
1 1791535831 27.25 210 0 32
2 1791535833 49.74 2520 0 33
3 1791535834 85.31 2520 22 33
4 1791535835 88.45 2520 64 33
5 1791535836 224.31 2685 100 38
6 1791535837 271.14 2685 100 39
7 1791535838 271.38 2685 100 39
8 1791535839 271.62 2685 100 40
9 1791535840 272.30 2685 100 40
10 1791535841 272.25 2685 100 40
11 1791535842 272.54 2685 100 40
12 1791535843 272.06 2685 100 40
13 1791535844 272.07 2685 100 41
14 1791535845 272.16 2685 100 41
15 1791535846 272.17 2685 100 41
16 1791535847 272.37 2685 100 41
17 1791535848 272.78 2685 100 41
18 1791535849 272.36 2685 100 41
19 1791535851 272.49 2685 100 41
20 1791535852 272.80 2685 100 42
21 1791535853 272.65 2685 100 42
22 1791535854 273.15 2685 100 42
23 1791535855 272.84 2685 100 42
24 1791535856 272.83 2685 100 42
25 1791535857 272.61 2685 100 42
26 1791535858 272.90 2685 100 42
27 1791535859 272.84 2685 100 42
28 1791535860 272.77 2685 100 42
29 1791535861 273.01 2685 100 42
30 1791535862 273.06 2685 100 42
31 1791535863 273.05 2685 100 43
32 1791535864 273.18 2685 100 43
33 1791535865 273.01 2685 100 43
34 1791535866 273.25 2685 100 43
35 1791535867 273.29 2685 100 43
36 1791535869 273.23 2685 100 43
37 1791535870 273.46 2685 100 43
38 1791535871 273.69 2685 100 43
39 1791535872 273.69 2685 100 43
40 1791535873 273.89 2685 100 43
41 1791535874 274.04 2685 100 43
42 1791535875 273.84 2685 100 43
43 1791535876 273.99 2685 100 43
44 1791535877 273.86 2685 100 43
45 1791535878 273.83 2685 100 44
46 1791535879 273.71 2685 100 44
47 1791535880 273.68 2685 100 44
48 1791535881 273.66 2685 100 44
49 1791535882 274.34 2685 100 44
50 1791535883 274.34 2685 100 44
51 1791535885 274.30 2685 100 44
52 1791535886 274.42 2685 100 44
53 1791535887 274.77 2685 100 44
54 1791535888 273.87 2685 100 44
55 1791535889 274.47 2685 100 44
56 1791535890 274.31 2685 100 44
57 1791535891 274.41 2685 100 44
58 1791535892 274.47 2685 100 44
59 1791535893 274.72 2685 100 44
60 1791535894 274.63 2685 100 44
61 1791535895 274.57 2685 100 44
62 1791535896 274.82 2685 100 44
63 1791535897 274.97 2685 100 44
64 1791535898 275.07 2685 100 44
65 1791535899 274.86 2685 100 44
66 1791535900 275.02 2685 100 44
67 1791535901 275.05 2685 100 44
68 1791535903 274.89 2685 100 44
69 1791535904 274.55 2685 100 44
70 1791535905 274.19 2685 100 45
71 1791535906 274.60 2685 100 45
72 1791535907 274.92 2685 100 45
73 1791535908 274.77 2685 100 45
74 1791535909 274.70 2685 100 45
75 1791535910 274.42 2685 100 45
76 1791535911 274.79 2685 100 45
77 1791535912 274.67 2685 100 45
78 1791535913 274.90 2685 100 45
79 1791535914 274.70 2685 100 45
80 1791535915 274.62 2685 100 45
81 1791535916 275.07 2685 100 45
82 1791535917 275.22 2685 100 45
83 1791535918 274.96 2670 100 45
84 1791535919 274.87 2670 100 45
85 1791535921 275.05 2670 100 45
86 1791535922 275.33 2670 100 45
87 1791535923 275.34 2670 100 45
88 1791535924 275.29 2670 100 45
89 1791535925 275.45 2670 100 45
90 1791535926 275.76 2670 100 45
91 1791535927 275.78 2670 100 45
92 1791535928 275.33 2670 100 45
93 1791535929 275.23 2670 100 45
94 1791535930 275.19 2670 100 45
95 1791535931 275.16 2670 100 45
96 1791535932 275.17 2670 100 45
97 1791535933 275.62 2670 100 45
98 1791535934 275.60 2670 100 45
99 1791535935 275.57 2670 100 45
100 1791535936 275.15 2670 100 45
101 1791535937 275.25 2670 100 45
102 1791535939 275.21 2670 100 45
103 1791535940 275.23 2670 100 45
104 1791535941 275.19 2670 100 45
105 1791535942 275.31 2670 100 45
106 1791535943 275.45 2670 100 45
107 1791535944 275.72 2670 100 45
108 1791535945 275.94 2670 100 45
109 1791535946 275.33 2670 100 45
110 1791535947 275.23 2670 100 45
111 1791535948 274.83 2670 100 45
112 1791535949 274.60 2670 100 45
113 1791535950 274.83 2670 100 45
114 1791535951 275.42 2670 100 45
115 1791535952 275.43 2670 100 45
116 1791535953 275.14 2670 100 45
117 1791535954 275.43 2670 100 45

View file

@ -0,0 +1,117 @@
1791535975,27.63,210,0,33
1791535976,70.46,2520,0,33
1791535977,84.48,2520,0,35
1791535978,84.79,2520,0,33
1791535979,184.00,2685,38,37
1791535980,274.23,2685,100,39
1791535981,274.58,2685,100,39
1791535982,274.89,2685,100,40
1791535983,274.91,2685,100,40
1791535984,274.85,2685,100,40
1791535985,274.90,2685,100,40
1791535987,275.24,2685,100,41
1791535988,275.67,2685,100,41
1791535989,275.32,2685,100,41
1791535990,275.45,2685,100,41
1791535991,275.68,2685,100,41
1791535992,275.32,2685,100,41
1791535993,275.49,2685,100,41
1791535994,275.38,2685,100,42
1791535995,275.61,2685,100,42
1791535996,275.51,2685,100,42
1791535997,275.56,2685,100,42
1791535998,275.83,2685,100,42
1791535999,276.10,2685,100,42
1791536000,276.18,2685,100,42
1791536001,276.22,2685,100,42
1791536002,275.97,2685,100,42
1791536003,275.76,2685,100,42
1791536005,275.83,2685,100,43
1791536006,276.27,2685,100,43
1791536007,276.33,2685,100,43
1791536008,276.27,2685,100,43
1791536009,276.44,2685,100,43
1791536010,276.55,2685,100,43
1791536011,276.41,2685,100,43
1791536012,276.32,2685,100,43
1791536013,276.25,2685,100,43
1791536014,276.77,2685,100,43
1791536015,276.57,2685,100,43
1791536016,276.93,2685,100,43
1791536017,276.51,2685,100,43
1791536018,276.32,2685,100,43
1791536019,276.52,2685,100,43
1791536020,276.63,2685,100,44
1791536022,276.20,2685,100,44
1791536023,276.42,2685,100,44
1791536024,276.52,2685,100,44
1791536025,276.70,2685,100,44
1791536026,276.72,2685,100,44
1791536027,277.21,2685,100,44
1791536028,277.27,2685,100,44
1791536029,277.52,2685,100,44
1791536030,277.48,2685,100,44
1791536031,277.17,2685,100,44
1791536032,277.19,2685,100,44
1791536033,277.62,2685,100,44
1791536034,277.53,2685,100,44
1791536035,277.41,2685,100,44
1791536036,277.33,2685,100,44
1791536037,277.19,2685,100,44
1791536038,277.43,2685,100,44
1791536040,277.14,2685,100,44
1791536041,276.92,2685,100,44
1791536042,277.00,2685,100,44
1791536043,277.45,2685,100,44
1791536044,277.70,2685,100,44
1791536045,277.84,2685,100,44
1791536046,277.77,2685,100,44
1791536047,277.65,2685,100,45
1791536048,277.70,2685,100,45
1791536049,277.43,2685,100,45
1791536050,277.80,2685,100,45
1791536051,277.65,2685,100,45
1791536052,277.70,2685,100,45
1791536053,277.70,2685,100,45
1791536054,277.76,2685,100,45
1791536055,277.66,2685,100,45
1791536057,277.46,2685,100,45
1791536058,277.61,2685,100,45
1791536059,277.44,2685,100,45
1791536060,277.64,2685,100,45
1791536061,277.70,2685,100,45
1791536062,277.62,2685,100,45
1791536063,277.50,2685,100,45
1791536064,277.41,2670,100,45
1791536065,277.47,2670,100,45
1791536066,277.35,2670,100,45
1791536067,277.39,2670,100,45
1791536068,277.63,2670,100,45
1791536069,277.67,2670,100,45
1791536070,277.78,2670,100,45
1791536071,277.88,2670,100,45
1791536072,277.93,2670,100,45
1791536073,278.37,2670,100,45
1791536075,278.32,2670,100,45
1791536076,278.23,2670,100,45
1791536077,278.16,2670,100,45
1791536078,277.95,2670,100,45
1791536079,277.93,2670,100,45
1791536080,278.41,2670,100,45
1791536081,278.61,2670,100,45
1791536082,278.41,2670,100,45
1791536083,278.26,2670,100,45
1791536084,278.21,2670,100,45
1791536085,278.17,2670,100,45
1791536086,278.15,2670,100,45
1791536087,278.33,2670,100,45
1791536088,278.08,2670,100,45
1791536089,278.18,2670,100,45
1791536090,278.43,2670,100,45
1791536091,278.36,2670,100,45
1791536093,278.36,2670,100,45
1791536094,278.60,2670,100,45
1791536095,278.60,2670,100,45
1791536096,278.50,2670,100,45
1791536097,278.64,2670,100,45
1791536098,278.22,2670,100,45
1 1791535975 27.63 210 0 33
2 1791535976 70.46 2520 0 33
3 1791535977 84.48 2520 0 35
4 1791535978 84.79 2520 0 33
5 1791535979 184.00 2685 38 37
6 1791535980 274.23 2685 100 39
7 1791535981 274.58 2685 100 39
8 1791535982 274.89 2685 100 40
9 1791535983 274.91 2685 100 40
10 1791535984 274.85 2685 100 40
11 1791535985 274.90 2685 100 40
12 1791535987 275.24 2685 100 41
13 1791535988 275.67 2685 100 41
14 1791535989 275.32 2685 100 41
15 1791535990 275.45 2685 100 41
16 1791535991 275.68 2685 100 41
17 1791535992 275.32 2685 100 41
18 1791535993 275.49 2685 100 41
19 1791535994 275.38 2685 100 42
20 1791535995 275.61 2685 100 42
21 1791535996 275.51 2685 100 42
22 1791535997 275.56 2685 100 42
23 1791535998 275.83 2685 100 42
24 1791535999 276.10 2685 100 42
25 1791536000 276.18 2685 100 42
26 1791536001 276.22 2685 100 42
27 1791536002 275.97 2685 100 42
28 1791536003 275.76 2685 100 42
29 1791536005 275.83 2685 100 43
30 1791536006 276.27 2685 100 43
31 1791536007 276.33 2685 100 43
32 1791536008 276.27 2685 100 43
33 1791536009 276.44 2685 100 43
34 1791536010 276.55 2685 100 43
35 1791536011 276.41 2685 100 43
36 1791536012 276.32 2685 100 43
37 1791536013 276.25 2685 100 43
38 1791536014 276.77 2685 100 43
39 1791536015 276.57 2685 100 43
40 1791536016 276.93 2685 100 43
41 1791536017 276.51 2685 100 43
42 1791536018 276.32 2685 100 43
43 1791536019 276.52 2685 100 43
44 1791536020 276.63 2685 100 44
45 1791536022 276.20 2685 100 44
46 1791536023 276.42 2685 100 44
47 1791536024 276.52 2685 100 44
48 1791536025 276.70 2685 100 44
49 1791536026 276.72 2685 100 44
50 1791536027 277.21 2685 100 44
51 1791536028 277.27 2685 100 44
52 1791536029 277.52 2685 100 44
53 1791536030 277.48 2685 100 44
54 1791536031 277.17 2685 100 44
55 1791536032 277.19 2685 100 44
56 1791536033 277.62 2685 100 44
57 1791536034 277.53 2685 100 44
58 1791536035 277.41 2685 100 44
59 1791536036 277.33 2685 100 44
60 1791536037 277.19 2685 100 44
61 1791536038 277.43 2685 100 44
62 1791536040 277.14 2685 100 44
63 1791536041 276.92 2685 100 44
64 1791536042 277.00 2685 100 44
65 1791536043 277.45 2685 100 44
66 1791536044 277.70 2685 100 44
67 1791536045 277.84 2685 100 44
68 1791536046 277.77 2685 100 44
69 1791536047 277.65 2685 100 45
70 1791536048 277.70 2685 100 45
71 1791536049 277.43 2685 100 45
72 1791536050 277.80 2685 100 45
73 1791536051 277.65 2685 100 45
74 1791536052 277.70 2685 100 45
75 1791536053 277.70 2685 100 45
76 1791536054 277.76 2685 100 45
77 1791536055 277.66 2685 100 45
78 1791536057 277.46 2685 100 45
79 1791536058 277.61 2685 100 45
80 1791536059 277.44 2685 100 45
81 1791536060 277.64 2685 100 45
82 1791536061 277.70 2685 100 45
83 1791536062 277.62 2685 100 45
84 1791536063 277.50 2685 100 45
85 1791536064 277.41 2670 100 45
86 1791536065 277.47 2670 100 45
87 1791536066 277.35 2670 100 45
88 1791536067 277.39 2670 100 45
89 1791536068 277.63 2670 100 45
90 1791536069 277.67 2670 100 45
91 1791536070 277.78 2670 100 45
92 1791536071 277.88 2670 100 45
93 1791536072 277.93 2670 100 45
94 1791536073 278.37 2670 100 45
95 1791536075 278.32 2670 100 45
96 1791536076 278.23 2670 100 45
97 1791536077 278.16 2670 100 45
98 1791536078 277.95 2670 100 45
99 1791536079 277.93 2670 100 45
100 1791536080 278.41 2670 100 45
101 1791536081 278.61 2670 100 45
102 1791536082 278.41 2670 100 45
103 1791536083 278.26 2670 100 45
104 1791536084 278.21 2670 100 45
105 1791536085 278.17 2670 100 45
106 1791536086 278.15 2670 100 45
107 1791536087 278.33 2670 100 45
108 1791536088 278.08 2670 100 45
109 1791536089 278.18 2670 100 45
110 1791536090 278.43 2670 100 45
111 1791536091 278.36 2670 100 45
112 1791536093 278.36 2670 100 45
113 1791536094 278.60 2670 100 45
114 1791536095 278.60 2670 100 45
115 1791536096 278.50 2670 100 45
116 1791536097 278.64 2670 100 45
117 1791536098 278.22 2670 100 45

View file

@ -0,0 +1,118 @@
1791536119,27.42,210,0,32
1791536120,46.44,2520,0,33
1791536121,80.51,2520,0,33
1791536122,84.09,2520,0,33
1791536123,162.79,2685,0,35
1791536124,252.19,2685,100,39
1791536125,274.83,2685,100,39
1791536126,275.12,2685,100,40
1791536127,275.51,2685,100,40
1791536128,275.73,2685,100,40
1791536129,275.47,2685,100,40
1791536130,275.54,2685,100,40
1791536131,275.97,2685,100,41
1791536132,276.06,2685,100,41
1791536133,275.98,2685,100,41
1791536134,276.30,2685,100,41
1791536136,276.28,2685,100,41
1791536137,276.26,2685,100,41
1791536138,276.54,2685,100,41
1791536139,276.40,2685,100,42
1791536140,276.72,2685,100,42
1791536141,276.51,2685,100,42
1791536142,276.54,2685,100,42
1791536143,276.39,2685,100,42
1791536144,276.48,2685,100,42
1791536145,276.59,2685,100,42
1791536146,277.00,2685,100,42
1791536147,276.94,2685,100,42
1791536148,276.95,2685,100,42
1791536149,276.96,2685,100,43
1791536150,277.07,2685,100,43
1791536151,277.21,2685,100,43
1791536152,277.40,2685,100,43
1791536154,277.45,2685,100,43
1791536155,277.56,2685,100,43
1791536156,277.65,2685,100,43
1791536157,277.60,2685,100,43
1791536158,277.47,2685,100,43
1791536159,277.64,2685,100,43
1791536160,277.66,2685,100,43
1791536161,278.01,2685,100,43
1791536162,278.20,2685,100,43
1791536163,278.12,2685,100,43
1791536164,278.05,2685,100,44
1791536165,277.90,2685,100,44
1791536166,278.01,2685,100,44
1791536167,278.00,2685,100,44
1791536168,278.24,2685,100,44
1791536169,278.14,2685,100,44
1791536170,278.00,2685,100,44
1791536171,277.94,2685,100,44
1791536173,277.95,2685,100,44
1791536174,278.15,2685,100,44
1791536175,278.29,2685,100,44
1791536176,278.26,2685,100,44
1791536177,278.58,2685,100,44
1791536178,278.41,2685,100,44
1791536179,278.51,2685,100,44
1791536180,278.36,2685,100,44
1791536181,277.93,2685,100,44
1791536182,278.20,2685,100,44
1791536183,278.05,2685,100,44
1791536184,277.98,2685,100,44
1791536185,277.91,2685,100,44
1791536186,278.07,2685,100,45
1791536187,278.10,2685,100,45
1791536188,278.10,2685,100,45
1791536189,278.35,2685,100,45
1791536190,278.29,2685,100,45
1791536191,278.22,2685,100,45
1791536192,278.36,2685,100,45
1791536194,278.56,2685,100,45
1791536195,278.19,2685,100,45
1791536196,278.21,2685,100,45
1791536197,278.46,2685,100,45
1791536198,278.67,2670,100,45
1791536199,278.57,2670,100,45
1791536200,278.30,2670,100,45
1791536201,278.27,2670,100,45
1791536202,278.49,2670,100,45
1791536203,278.13,2670,100,45
1791536204,278.25,2670,100,45
1791536205,278.53,2670,100,45
1791536206,278.37,2670,100,45
1791536207,278.25,2670,100,45
1791536208,278.35,2670,100,45
1791536209,278.34,2670,100,45
1791536210,278.46,2670,100,45
1791536211,278.27,2670,100,45
1791536213,278.51,2670,100,45
1791536214,278.33,2670,100,45
1791536215,278.56,2670,100,45
1791536216,278.57,2670,100,45
1791536217,278.54,2670,100,45
1791536218,278.68,2670,100,45
1791536219,278.48,2670,100,45
1791536220,278.57,2670,100,45
1791536221,278.55,2670,100,45
1791536222,278.15,2670,100,45
1791536223,278.38,2670,100,45
1791536224,278.28,2670,100,45
1791536225,277.98,2670,100,45
1791536226,278.02,2670,100,45
1791536227,278.02,2670,100,45
1791536228,278.19,2670,100,46
1791536229,278.29,2670,100,46
1791536231,278.26,2670,100,46
1791536232,278.38,2670,100,46
1791536233,278.38,2670,100,46
1791536234,278.29,2670,100,46
1791536235,278.22,2670,100,46
1791536236,278.52,2670,100,46
1791536237,278.37,2670,100,46
1791536238,278.84,2670,100,46
1791536239,278.82,2670,100,46
1791536240,278.72,2670,100,46
1791536241,278.38,2670,100,46
1791536242,278.26,2670,100,46
1 1791536119 27.42 210 0 32
2 1791536120 46.44 2520 0 33
3 1791536121 80.51 2520 0 33
4 1791536122 84.09 2520 0 33
5 1791536123 162.79 2685 0 35
6 1791536124 252.19 2685 100 39
7 1791536125 274.83 2685 100 39
8 1791536126 275.12 2685 100 40
9 1791536127 275.51 2685 100 40
10 1791536128 275.73 2685 100 40
11 1791536129 275.47 2685 100 40
12 1791536130 275.54 2685 100 40
13 1791536131 275.97 2685 100 41
14 1791536132 276.06 2685 100 41
15 1791536133 275.98 2685 100 41
16 1791536134 276.30 2685 100 41
17 1791536136 276.28 2685 100 41
18 1791536137 276.26 2685 100 41
19 1791536138 276.54 2685 100 41
20 1791536139 276.40 2685 100 42
21 1791536140 276.72 2685 100 42
22 1791536141 276.51 2685 100 42
23 1791536142 276.54 2685 100 42
24 1791536143 276.39 2685 100 42
25 1791536144 276.48 2685 100 42
26 1791536145 276.59 2685 100 42
27 1791536146 277.00 2685 100 42
28 1791536147 276.94 2685 100 42
29 1791536148 276.95 2685 100 42
30 1791536149 276.96 2685 100 43
31 1791536150 277.07 2685 100 43
32 1791536151 277.21 2685 100 43
33 1791536152 277.40 2685 100 43
34 1791536154 277.45 2685 100 43
35 1791536155 277.56 2685 100 43
36 1791536156 277.65 2685 100 43
37 1791536157 277.60 2685 100 43
38 1791536158 277.47 2685 100 43
39 1791536159 277.64 2685 100 43
40 1791536160 277.66 2685 100 43
41 1791536161 278.01 2685 100 43
42 1791536162 278.20 2685 100 43
43 1791536163 278.12 2685 100 43
44 1791536164 278.05 2685 100 44
45 1791536165 277.90 2685 100 44
46 1791536166 278.01 2685 100 44
47 1791536167 278.00 2685 100 44
48 1791536168 278.24 2685 100 44
49 1791536169 278.14 2685 100 44
50 1791536170 278.00 2685 100 44
51 1791536171 277.94 2685 100 44
52 1791536173 277.95 2685 100 44
53 1791536174 278.15 2685 100 44
54 1791536175 278.29 2685 100 44
55 1791536176 278.26 2685 100 44
56 1791536177 278.58 2685 100 44
57 1791536178 278.41 2685 100 44
58 1791536179 278.51 2685 100 44
59 1791536180 278.36 2685 100 44
60 1791536181 277.93 2685 100 44
61 1791536182 278.20 2685 100 44
62 1791536183 278.05 2685 100 44
63 1791536184 277.98 2685 100 44
64 1791536185 277.91 2685 100 44
65 1791536186 278.07 2685 100 45
66 1791536187 278.10 2685 100 45
67 1791536188 278.10 2685 100 45
68 1791536189 278.35 2685 100 45
69 1791536190 278.29 2685 100 45
70 1791536191 278.22 2685 100 45
71 1791536192 278.36 2685 100 45
72 1791536194 278.56 2685 100 45
73 1791536195 278.19 2685 100 45
74 1791536196 278.21 2685 100 45
75 1791536197 278.46 2685 100 45
76 1791536198 278.67 2670 100 45
77 1791536199 278.57 2670 100 45
78 1791536200 278.30 2670 100 45
79 1791536201 278.27 2670 100 45
80 1791536202 278.49 2670 100 45
81 1791536203 278.13 2670 100 45
82 1791536204 278.25 2670 100 45
83 1791536205 278.53 2670 100 45
84 1791536206 278.37 2670 100 45
85 1791536207 278.25 2670 100 45
86 1791536208 278.35 2670 100 45
87 1791536209 278.34 2670 100 45
88 1791536210 278.46 2670 100 45
89 1791536211 278.27 2670 100 45
90 1791536213 278.51 2670 100 45
91 1791536214 278.33 2670 100 45
92 1791536215 278.56 2670 100 45
93 1791536216 278.57 2670 100 45
94 1791536217 278.54 2670 100 45
95 1791536218 278.68 2670 100 45
96 1791536219 278.48 2670 100 45
97 1791536220 278.57 2670 100 45
98 1791536221 278.55 2670 100 45
99 1791536222 278.15 2670 100 45
100 1791536223 278.38 2670 100 45
101 1791536224 278.28 2670 100 45
102 1791536225 277.98 2670 100 45
103 1791536226 278.02 2670 100 45
104 1791536227 278.02 2670 100 45
105 1791536228 278.19 2670 100 46
106 1791536229 278.29 2670 100 46
107 1791536231 278.26 2670 100 46
108 1791536232 278.38 2670 100 46
109 1791536233 278.38 2670 100 46
110 1791536234 278.29 2670 100 46
111 1791536235 278.22 2670 100 46
112 1791536236 278.52 2670 100 46
113 1791536237 278.37 2670 100 46
114 1791536238 278.84 2670 100 46
115 1791536239 278.82 2670 100 46
116 1791536240 278.72 2670 100 46
117 1791536241 278.38 2670 100 46
118 1791536242 278.26 2670 100 46

View file

@ -0,0 +1,116 @@
1791536262,28.12,210,0,33
1791536263,45.22,2520,0,33
1791536264,86.39,2520,13,33
1791536266,83.65,2520,27,33
1791536267,221.16,2685,100,38
1791536268,271.83,2685,100,39
1791536269,271.62,2685,100,40
1791536270,271.83,2685,100,40
1791536271,271.95,2685,100,40
1791536272,272.41,2685,100,40
1791536274,272.62,2685,100,41
1791536275,273.05,2685,100,41
1791536276,272.71,2685,100,41
1791536277,272.42,2685,100,41
1791536278,273.08,2685,100,41
1791536279,273.56,2685,100,41
1791536280,273.76,2685,100,41
1791536281,273.98,2685,100,42
1791536282,273.49,2685,100,42
1791536283,273.72,2685,100,42
1791536284,273.59,2685,100,42
1791536285,274.44,2685,100,42
1791536286,274.20,2685,100,42
1791536288,274.36,2685,100,42
1791536289,274.20,2685,100,42
1791536290,274.58,2685,100,42
1791536291,274.60,2685,100,43
1791536292,274.28,2685,100,43
1791536293,274.16,2685,100,43
1791536294,274.61,2685,100,43
1791536295,274.58,2685,100,43
1791536296,274.69,2685,100,43
1791536297,274.48,2685,100,43
1791536298,274.05,2685,100,43
1791536299,274.47,2685,100,43
1791536300,274.74,2685,100,43
1791536301,274.72,2685,100,43
1791536302,274.21,2685,100,43
1791536303,274.35,2685,100,43
1791536305,274.51,2685,100,43
1791536306,274.27,2685,100,44
1791536307,274.30,2685,100,44
1791536308,274.39,2685,100,44
1791536309,274.46,2685,100,44
1791536310,274.56,2685,100,44
1791536311,274.28,2685,100,44
1791536312,274.35,2685,100,44
1791536313,274.34,2685,100,44
1791536314,274.94,2685,100,44
1791536315,274.96,2685,100,44
1791536316,275.16,2685,100,44
1791536317,274.94,2685,100,44
1791536318,275.14,2685,100,44
1791536319,275.30,2685,100,44
1791536320,275.43,2685,100,44
1791536321,275.68,2685,100,44
1791536323,275.28,2685,100,44
1791536324,275.09,2685,100,44
1791536325,275.04,2685,100,44
1791536326,275.32,2685,100,44
1791536327,275.37,2685,100,45
1791536328,275.01,2685,100,45
1791536329,275.25,2685,100,45
1791536330,275.58,2685,100,45
1791536331,275.47,2685,100,45
1791536332,275.31,2670,100,45
1791536333,274.92,2670,100,45
1791536334,275.14,2670,100,45
1791536335,275.06,2670,100,45
1791536336,274.90,2670,100,45
1791536337,274.87,2670,100,45
1791536338,274.95,2670,100,45
1791536339,275.16,2670,100,45
1791536341,275.11,2670,100,45
1791536342,275.24,2670,100,45
1791536343,275.62,2670,100,45
1791536344,275.53,2670,100,45
1791536345,275.52,2670,100,45
1791536346,275.66,2670,100,45
1791536347,275.52,2670,100,45
1791536348,275.30,2670,100,45
1791536349,275.38,2670,100,45
1791536350,275.12,2670,100,45
1791536351,275.18,2670,100,45
1791536352,275.64,2670,100,45
1791536353,275.77,2670,100,45
1791536354,275.83,2670,100,45
1791536355,275.69,2670,100,45
1791536356,275.42,2670,100,45
1791536357,275.40,2670,100,45
1791536358,275.39,2670,100,45
1791536360,275.35,2670,100,45
1791536361,275.18,2670,100,45
1791536362,275.49,2670,100,45
1791536363,275.30,2670,100,45
1791536364,275.49,2670,100,45
1791536365,275.52,2670,100,45
1791536366,275.42,2670,100,45
1791536367,275.55,2670,100,45
1791536368,275.41,2670,100,45
1791536369,275.51,2670,100,45
1791536370,275.74,2670,100,45
1791536371,275.93,2670,100,45
1791536372,275.71,2670,100,45
1791536373,275.59,2670,100,45
1791536374,275.64,2670,100,45
1791536375,275.63,2670,100,45
1791536376,275.64,2670,100,45
1791536377,275.20,2670,100,45
1791536379,275.46,2670,100,46
1791536380,275.75,2670,100,46
1791536381,275.81,2670,100,46
1791536382,275.48,2670,100,46
1791536383,275.74,2670,100,46
1791536384,275.67,2670,100,46
1791536385,275.55,2670,100,46
1 1791536262 28.12 210 0 33
2 1791536263 45.22 2520 0 33
3 1791536264 86.39 2520 13 33
4 1791536266 83.65 2520 27 33
5 1791536267 221.16 2685 100 38
6 1791536268 271.83 2685 100 39
7 1791536269 271.62 2685 100 40
8 1791536270 271.83 2685 100 40
9 1791536271 271.95 2685 100 40
10 1791536272 272.41 2685 100 40
11 1791536274 272.62 2685 100 41
12 1791536275 273.05 2685 100 41
13 1791536276 272.71 2685 100 41
14 1791536277 272.42 2685 100 41
15 1791536278 273.08 2685 100 41
16 1791536279 273.56 2685 100 41
17 1791536280 273.76 2685 100 41
18 1791536281 273.98 2685 100 42
19 1791536282 273.49 2685 100 42
20 1791536283 273.72 2685 100 42
21 1791536284 273.59 2685 100 42
22 1791536285 274.44 2685 100 42
23 1791536286 274.20 2685 100 42
24 1791536288 274.36 2685 100 42
25 1791536289 274.20 2685 100 42
26 1791536290 274.58 2685 100 42
27 1791536291 274.60 2685 100 43
28 1791536292 274.28 2685 100 43
29 1791536293 274.16 2685 100 43
30 1791536294 274.61 2685 100 43
31 1791536295 274.58 2685 100 43
32 1791536296 274.69 2685 100 43
33 1791536297 274.48 2685 100 43
34 1791536298 274.05 2685 100 43
35 1791536299 274.47 2685 100 43
36 1791536300 274.74 2685 100 43
37 1791536301 274.72 2685 100 43
38 1791536302 274.21 2685 100 43
39 1791536303 274.35 2685 100 43
40 1791536305 274.51 2685 100 43
41 1791536306 274.27 2685 100 44
42 1791536307 274.30 2685 100 44
43 1791536308 274.39 2685 100 44
44 1791536309 274.46 2685 100 44
45 1791536310 274.56 2685 100 44
46 1791536311 274.28 2685 100 44
47 1791536312 274.35 2685 100 44
48 1791536313 274.34 2685 100 44
49 1791536314 274.94 2685 100 44
50 1791536315 274.96 2685 100 44
51 1791536316 275.16 2685 100 44
52 1791536317 274.94 2685 100 44
53 1791536318 275.14 2685 100 44
54 1791536319 275.30 2685 100 44
55 1791536320 275.43 2685 100 44
56 1791536321 275.68 2685 100 44
57 1791536323 275.28 2685 100 44
58 1791536324 275.09 2685 100 44
59 1791536325 275.04 2685 100 44
60 1791536326 275.32 2685 100 44
61 1791536327 275.37 2685 100 45
62 1791536328 275.01 2685 100 45
63 1791536329 275.25 2685 100 45
64 1791536330 275.58 2685 100 45
65 1791536331 275.47 2685 100 45
66 1791536332 275.31 2670 100 45
67 1791536333 274.92 2670 100 45
68 1791536334 275.14 2670 100 45
69 1791536335 275.06 2670 100 45
70 1791536336 274.90 2670 100 45
71 1791536337 274.87 2670 100 45
72 1791536338 274.95 2670 100 45
73 1791536339 275.16 2670 100 45
74 1791536341 275.11 2670 100 45
75 1791536342 275.24 2670 100 45
76 1791536343 275.62 2670 100 45
77 1791536344 275.53 2670 100 45
78 1791536345 275.52 2670 100 45
79 1791536346 275.66 2670 100 45
80 1791536347 275.52 2670 100 45
81 1791536348 275.30 2670 100 45
82 1791536349 275.38 2670 100 45
83 1791536350 275.12 2670 100 45
84 1791536351 275.18 2670 100 45
85 1791536352 275.64 2670 100 45
86 1791536353 275.77 2670 100 45
87 1791536354 275.83 2670 100 45
88 1791536355 275.69 2670 100 45
89 1791536356 275.42 2670 100 45
90 1791536357 275.40 2670 100 45
91 1791536358 275.39 2670 100 45
92 1791536360 275.35 2670 100 45
93 1791536361 275.18 2670 100 45
94 1791536362 275.49 2670 100 45
95 1791536363 275.30 2670 100 45
96 1791536364 275.49 2670 100 45
97 1791536365 275.52 2670 100 45
98 1791536366 275.42 2670 100 45
99 1791536367 275.55 2670 100 45
100 1791536368 275.41 2670 100 45
101 1791536369 275.51 2670 100 45
102 1791536370 275.74 2670 100 45
103 1791536371 275.93 2670 100 45
104 1791536372 275.71 2670 100 45
105 1791536373 275.59 2670 100 45
106 1791536374 275.64 2670 100 45
107 1791536375 275.63 2670 100 45
108 1791536376 275.64 2670 100 45
109 1791536377 275.20 2670 100 45
110 1791536379 275.46 2670 100 46
111 1791536380 275.75 2670 100 46
112 1791536381 275.81 2670 100 46
113 1791536382 275.48 2670 100 46
114 1791536383 275.74 2670 100 46
115 1791536384 275.67 2670 100 46
116 1791536385 275.55 2670 100 46

View file

@ -0,0 +1,118 @@
1791536406,81.86,2520,0,34
1791536407,82.61,2520,0,34
1791536408,81.17,2520,0,34
1791536409,84.94,2520,0,34
1791536410,161.93,2685,0,37
1791536411,255.04,2685,100,39
1791536412,271.83,2685,100,40
1791536414,272.05,2685,100,40
1791536415,272.34,2685,100,40
1791536416,272.39,2685,100,40
1791536417,272.58,2685,100,41
1791536418,272.46,2685,100,41
1791536419,272.73,2685,100,41
1791536420,272.76,2685,100,41
1791536421,273.18,2685,100,41
1791536422,273.53,2685,100,41
1791536423,273.18,2685,100,41
1791536424,273.10,2685,100,42
1791536425,273.57,2685,100,42
1791536426,273.57,2685,100,42
1791536427,273.70,2685,100,42
1791536428,273.65,2685,100,42
1791536429,273.97,2685,100,42
1791536430,273.85,2685,100,42
1791536431,273.86,2685,100,42
1791536433,273.15,2685,100,42
1791536434,273.28,2685,100,43
1791536435,273.96,2685,100,43
1791536436,273.66,2685,100,43
1791536437,273.58,2685,100,43
1791536438,273.76,2685,100,43
1791536439,273.79,2685,100,43
1791536440,274.06,2685,100,43
1791536441,273.95,2685,100,43
1791536442,273.91,2685,100,43
1791536443,273.31,2685,100,43
1791536444,274.12,2685,100,43
1791536445,274.60,2685,100,43
1791536446,274.74,2685,100,43
1791536447,275.15,2685,100,43
1791536448,275.27,2685,100,43
1791536449,275.23,2685,100,44
1791536450,275.21,2685,100,44
1791536451,275.15,2685,100,44
1791536452,274.94,2685,100,44
1791536454,274.99,2685,100,44
1791536455,274.55,2685,100,44
1791536456,274.55,2685,100,44
1791536457,274.17,2685,100,44
1791536458,274.52,2685,100,44
1791536459,274.63,2685,100,44
1791536460,274.92,2685,100,44
1791536461,274.98,2685,100,44
1791536462,274.93,2685,100,44
1791536463,274.99,2685,100,44
1791536464,274.79,2685,100,44
1791536465,274.97,2685,100,44
1791536466,275.01,2685,100,44
1791536467,275.02,2685,100,44
1791536468,275.00,2685,100,44
1791536469,274.83,2685,100,44
1791536470,274.89,2670,100,44
1791536471,274.91,2670,100,45
1791536472,275.43,2670,100,45
1791536474,275.52,2670,100,45
1791536475,275.33,2670,100,45
1791536476,275.53,2670,100,45
1791536477,275.92,2670,100,45
1791536478,275.80,2670,100,45
1791536479,275.93,2670,100,45
1791536480,275.83,2670,100,45
1791536481,275.52,2670,100,45
1791536482,275.53,2670,100,45
1791536483,275.63,2670,100,45
1791536484,275.48,2670,100,45
1791536485,275.54,2670,100,45
1791536486,275.52,2670,100,45
1791536487,275.50,2670,100,45
1791536488,275.49,2670,100,45
1791536489,275.57,2670,100,45
1791536490,275.48,2670,100,45
1791536491,275.97,2670,100,45
1791536493,276.09,2670,100,45
1791536494,275.72,2670,100,45
1791536495,275.89,2670,100,45
1791536496,275.75,2670,100,45
1791536497,275.57,2670,100,45
1791536498,275.65,2670,100,45
1791536499,275.46,2670,100,45
1791536500,275.24,2670,100,45
1791536501,275.60,2670,100,45
1791536502,275.50,2670,100,45
1791536503,275.70,2670,100,45
1791536504,275.83,2670,100,45
1791536505,275.92,2670,100,45
1791536506,276.33,2670,100,45
1791536507,276.05,2670,100,45
1791536508,275.96,2670,100,45
1791536510,276.06,2670,100,45
1791536511,276.02,2670,100,45
1791536512,275.94,2670,100,45
1791536513,275.80,2670,100,45
1791536514,275.54,2670,100,45
1791536515,275.71,2670,100,45
1791536516,275.78,2670,100,45
1791536517,276.05,2670,100,45
1791536518,275.77,2670,100,45
1791536519,275.95,2670,100,45
1791536520,275.71,2670,100,45
1791536521,276.18,2670,100,45
1791536522,276.31,2670,100,45
1791536523,276.28,2670,100,45
1791536524,275.84,2670,100,45
1791536525,275.84,2670,100,45
1791536526,276.17,2670,100,45
1791536528,276.52,2670,100,45
1791536529,276.46,2670,100,45
1791536530,276.26,2670,100,45
1 1791536406 81.86 2520 0 34
2 1791536407 82.61 2520 0 34
3 1791536408 81.17 2520 0 34
4 1791536409 84.94 2520 0 34
5 1791536410 161.93 2685 0 37
6 1791536411 255.04 2685 100 39
7 1791536412 271.83 2685 100 40
8 1791536414 272.05 2685 100 40
9 1791536415 272.34 2685 100 40
10 1791536416 272.39 2685 100 40
11 1791536417 272.58 2685 100 41
12 1791536418 272.46 2685 100 41
13 1791536419 272.73 2685 100 41
14 1791536420 272.76 2685 100 41
15 1791536421 273.18 2685 100 41
16 1791536422 273.53 2685 100 41
17 1791536423 273.18 2685 100 41
18 1791536424 273.10 2685 100 42
19 1791536425 273.57 2685 100 42
20 1791536426 273.57 2685 100 42
21 1791536427 273.70 2685 100 42
22 1791536428 273.65 2685 100 42
23 1791536429 273.97 2685 100 42
24 1791536430 273.85 2685 100 42
25 1791536431 273.86 2685 100 42
26 1791536433 273.15 2685 100 42
27 1791536434 273.28 2685 100 43
28 1791536435 273.96 2685 100 43
29 1791536436 273.66 2685 100 43
30 1791536437 273.58 2685 100 43
31 1791536438 273.76 2685 100 43
32 1791536439 273.79 2685 100 43
33 1791536440 274.06 2685 100 43
34 1791536441 273.95 2685 100 43
35 1791536442 273.91 2685 100 43
36 1791536443 273.31 2685 100 43
37 1791536444 274.12 2685 100 43
38 1791536445 274.60 2685 100 43
39 1791536446 274.74 2685 100 43
40 1791536447 275.15 2685 100 43
41 1791536448 275.27 2685 100 43
42 1791536449 275.23 2685 100 44
43 1791536450 275.21 2685 100 44
44 1791536451 275.15 2685 100 44
45 1791536452 274.94 2685 100 44
46 1791536454 274.99 2685 100 44
47 1791536455 274.55 2685 100 44
48 1791536456 274.55 2685 100 44
49 1791536457 274.17 2685 100 44
50 1791536458 274.52 2685 100 44
51 1791536459 274.63 2685 100 44
52 1791536460 274.92 2685 100 44
53 1791536461 274.98 2685 100 44
54 1791536462 274.93 2685 100 44
55 1791536463 274.99 2685 100 44
56 1791536464 274.79 2685 100 44
57 1791536465 274.97 2685 100 44
58 1791536466 275.01 2685 100 44
59 1791536467 275.02 2685 100 44
60 1791536468 275.00 2685 100 44
61 1791536469 274.83 2685 100 44
62 1791536470 274.89 2670 100 44
63 1791536471 274.91 2670 100 45
64 1791536472 275.43 2670 100 45
65 1791536474 275.52 2670 100 45
66 1791536475 275.33 2670 100 45
67 1791536476 275.53 2670 100 45
68 1791536477 275.92 2670 100 45
69 1791536478 275.80 2670 100 45
70 1791536479 275.93 2670 100 45
71 1791536480 275.83 2670 100 45
72 1791536481 275.52 2670 100 45
73 1791536482 275.53 2670 100 45
74 1791536483 275.63 2670 100 45
75 1791536484 275.48 2670 100 45
76 1791536485 275.54 2670 100 45
77 1791536486 275.52 2670 100 45
78 1791536487 275.50 2670 100 45
79 1791536488 275.49 2670 100 45
80 1791536489 275.57 2670 100 45
81 1791536490 275.48 2670 100 45
82 1791536491 275.97 2670 100 45
83 1791536493 276.09 2670 100 45
84 1791536494 275.72 2670 100 45
85 1791536495 275.89 2670 100 45
86 1791536496 275.75 2670 100 45
87 1791536497 275.57 2670 100 45
88 1791536498 275.65 2670 100 45
89 1791536499 275.46 2670 100 45
90 1791536500 275.24 2670 100 45
91 1791536501 275.60 2670 100 45
92 1791536502 275.50 2670 100 45
93 1791536503 275.70 2670 100 45
94 1791536504 275.83 2670 100 45
95 1791536505 275.92 2670 100 45
96 1791536506 276.33 2670 100 45
97 1791536507 276.05 2670 100 45
98 1791536508 275.96 2670 100 45
99 1791536510 276.06 2670 100 45
100 1791536511 276.02 2670 100 45
101 1791536512 275.94 2670 100 45
102 1791536513 275.80 2670 100 45
103 1791536514 275.54 2670 100 45
104 1791536515 275.71 2670 100 45
105 1791536516 275.78 2670 100 45
106 1791536517 276.05 2670 100 45
107 1791536518 275.77 2670 100 45
108 1791536519 275.95 2670 100 45
109 1791536520 275.71 2670 100 45
110 1791536521 276.18 2670 100 45
111 1791536522 276.31 2670 100 45
112 1791536523 276.28 2670 100 45
113 1791536524 275.84 2670 100 45
114 1791536525 275.84 2670 100 45
115 1791536526 276.17 2670 100 45
116 1791536528 276.52 2670 100 45
117 1791536529 276.46 2670 100 45
118 1791536530 276.26 2670 100 45

View file

@ -0,0 +1,118 @@
1791536550,27.22,210,0,33
1791536551,70.72,2520,0,33
1791536552,80.23,2520,0,33
1791536553,83.13,2520,0,33
1791536554,121.69,2685,100,38
1791536555,246.83,2685,100,39
1791536556,284.11,2685,100,40
1791536557,284.58,2685,100,40
1791536558,285.01,2685,100,40
1791536559,284.97,2685,100,41
1791536561,285.17,2685,100,41
1791536562,285.15,2685,100,41
1791536563,285.45,2685,100,41
1791536564,285.45,2685,100,41
1791536565,285.62,2685,100,42
1791536566,285.60,2685,100,42
1791536567,285.28,2685,100,42
1791536568,285.67,2685,100,42
1791536569,285.45,2685,100,42
1791536570,286.00,2685,100,42
1791536571,286.44,2685,100,42
1791536572,286.33,2685,100,43
1791536573,285.72,2685,100,43
1791536574,270.98,2685,100,43
1791536575,286.06,2685,100,43
1791536576,286.34,2685,100,43
1791536577,286.22,2685,100,43
1791536578,286.79,2685,100,43
1791536580,286.43,2685,100,43
1791536581,286.62,2685,100,43
1791536582,286.93,2685,100,43
1791536583,286.74,2685,100,44
1791536584,286.87,2685,100,44
1791536585,287.43,2685,100,44
1791536586,287.43,2685,100,44
1791536587,287.36,2685,100,44
1791536588,287.42,2685,100,44
1791536589,287.30,2685,99,44
1791536590,286.99,2685,100,44
1791536591,287.13,2685,100,44
1791536592,287.50,2685,100,44
1791536593,287.59,2670,100,44
1791536594,287.57,2670,100,44
1791536595,287.72,2670,100,44
1791536596,287.69,2670,100,45
1791536597,287.35,2670,100,45
1791536598,287.59,2670,100,45
1791536600,287.33,2670,100,45
1791536601,287.55,2670,100,45
1791536602,287.71,2670,100,45
1791536603,288.11,2670,100,45
1791536604,287.80,2670,100,45
1791536605,288.04,2670,100,45
1791536606,287.35,2670,100,45
1791536607,287.53,2670,100,45
1791536608,287.66,2670,100,45
1791536609,287.89,2670,100,45
1791536610,287.96,2670,100,45
1791536611,288.00,2670,100,45
1791536612,288.10,2670,100,45
1791536613,287.76,2670,100,45
1791536614,287.67,2670,100,45
1791536615,287.89,2670,100,45
1791536616,287.79,2670,100,45
1791536617,287.85,2670,100,45
1791536619,287.77,2670,100,46
1791536620,288.14,2670,100,46
1791536621,287.73,2670,100,46
1791536622,287.70,2670,100,46
1791536623,286.94,2670,100,46
1791536624,288.00,2670,100,46
1791536625,287.60,2670,100,46
1791536626,288.13,2670,100,46
1791536627,287.82,2670,100,46
1791536628,288.33,2670,100,46
1791536629,287.87,2670,100,46
1791536630,288.07,2670,100,46
1791536631,287.86,2670,100,46
1791536632,287.82,2670,100,46
1791536633,287.90,2670,100,46
1791536634,287.91,2670,100,46
1791536635,288.30,2670,100,46
1791536636,288.10,2670,100,46
1791536638,287.83,2670,100,46
1791536639,287.74,2670,100,46
1791536640,287.73,2670,100,46
1791536641,287.73,2670,100,46
1791536642,288.01,2670,100,46
1791536643,288.17,2670,100,46
1791536644,288.14,2670,100,46
1791536645,288.11,2670,100,46
1791536646,288.37,2670,100,46
1791536647,288.34,2670,100,46
1791536648,288.06,2670,100,46
1791536649,288.03,2670,100,46
1791536650,288.05,2670,100,46
1791536651,288.24,2670,100,46
1791536652,287.95,2670,100,46
1791536653,288.25,2670,100,46
1791536654,288.16,2670,100,46
1791536656,288.24,2670,100,46
1791536657,288.70,2670,100,46
1791536658,289.14,2670,100,46
1791536659,289.04,2670,100,46
1791536660,289.00,2670,100,46
1791536661,288.88,2670,100,46
1791536662,288.70,2670,100,46
1791536663,288.77,2670,100,47
1791536664,288.74,2670,100,47
1791536665,289.04,2670,100,47
1791536666,288.94,2670,100,47
1791536667,288.78,2670,100,47
1791536668,288.69,2670,100,47
1791536669,288.47,2670,100,47
1791536670,289.04,2670,100,47
1791536672,289.11,2670,100,47
1791536673,289.05,2670,100,47
1791536674,288.86,2670,100,47
1 1791536550 27.22 210 0 33
2 1791536551 70.72 2520 0 33
3 1791536552 80.23 2520 0 33
4 1791536553 83.13 2520 0 33
5 1791536554 121.69 2685 100 38
6 1791536555 246.83 2685 100 39
7 1791536556 284.11 2685 100 40
8 1791536557 284.58 2685 100 40
9 1791536558 285.01 2685 100 40
10 1791536559 284.97 2685 100 41
11 1791536561 285.17 2685 100 41
12 1791536562 285.15 2685 100 41
13 1791536563 285.45 2685 100 41
14 1791536564 285.45 2685 100 41
15 1791536565 285.62 2685 100 42
16 1791536566 285.60 2685 100 42
17 1791536567 285.28 2685 100 42
18 1791536568 285.67 2685 100 42
19 1791536569 285.45 2685 100 42
20 1791536570 286.00 2685 100 42
21 1791536571 286.44 2685 100 42
22 1791536572 286.33 2685 100 43
23 1791536573 285.72 2685 100 43
24 1791536574 270.98 2685 100 43
25 1791536575 286.06 2685 100 43
26 1791536576 286.34 2685 100 43
27 1791536577 286.22 2685 100 43
28 1791536578 286.79 2685 100 43
29 1791536580 286.43 2685 100 43
30 1791536581 286.62 2685 100 43
31 1791536582 286.93 2685 100 43
32 1791536583 286.74 2685 100 44
33 1791536584 286.87 2685 100 44
34 1791536585 287.43 2685 100 44
35 1791536586 287.43 2685 100 44
36 1791536587 287.36 2685 100 44
37 1791536588 287.42 2685 100 44
38 1791536589 287.30 2685 99 44
39 1791536590 286.99 2685 100 44
40 1791536591 287.13 2685 100 44
41 1791536592 287.50 2685 100 44
42 1791536593 287.59 2670 100 44
43 1791536594 287.57 2670 100 44
44 1791536595 287.72 2670 100 44
45 1791536596 287.69 2670 100 45
46 1791536597 287.35 2670 100 45
47 1791536598 287.59 2670 100 45
48 1791536600 287.33 2670 100 45
49 1791536601 287.55 2670 100 45
50 1791536602 287.71 2670 100 45
51 1791536603 288.11 2670 100 45
52 1791536604 287.80 2670 100 45
53 1791536605 288.04 2670 100 45
54 1791536606 287.35 2670 100 45
55 1791536607 287.53 2670 100 45
56 1791536608 287.66 2670 100 45
57 1791536609 287.89 2670 100 45
58 1791536610 287.96 2670 100 45
59 1791536611 288.00 2670 100 45
60 1791536612 288.10 2670 100 45
61 1791536613 287.76 2670 100 45
62 1791536614 287.67 2670 100 45
63 1791536615 287.89 2670 100 45
64 1791536616 287.79 2670 100 45
65 1791536617 287.85 2670 100 45
66 1791536619 287.77 2670 100 46
67 1791536620 288.14 2670 100 46
68 1791536621 287.73 2670 100 46
69 1791536622 287.70 2670 100 46
70 1791536623 286.94 2670 100 46
71 1791536624 288.00 2670 100 46
72 1791536625 287.60 2670 100 46
73 1791536626 288.13 2670 100 46
74 1791536627 287.82 2670 100 46
75 1791536628 288.33 2670 100 46
76 1791536629 287.87 2670 100 46
77 1791536630 288.07 2670 100 46
78 1791536631 287.86 2670 100 46
79 1791536632 287.82 2670 100 46
80 1791536633 287.90 2670 100 46
81 1791536634 287.91 2670 100 46
82 1791536635 288.30 2670 100 46
83 1791536636 288.10 2670 100 46
84 1791536638 287.83 2670 100 46
85 1791536639 287.74 2670 100 46
86 1791536640 287.73 2670 100 46
87 1791536641 287.73 2670 100 46
88 1791536642 288.01 2670 100 46
89 1791536643 288.17 2670 100 46
90 1791536644 288.14 2670 100 46
91 1791536645 288.11 2670 100 46
92 1791536646 288.37 2670 100 46
93 1791536647 288.34 2670 100 46
94 1791536648 288.06 2670 100 46
95 1791536649 288.03 2670 100 46
96 1791536650 288.05 2670 100 46
97 1791536651 288.24 2670 100 46
98 1791536652 287.95 2670 100 46
99 1791536653 288.25 2670 100 46
100 1791536654 288.16 2670 100 46
101 1791536656 288.24 2670 100 46
102 1791536657 288.70 2670 100 46
103 1791536658 289.14 2670 100 46
104 1791536659 289.04 2670 100 46
105 1791536660 289.00 2670 100 46
106 1791536661 288.88 2670 100 46
107 1791536662 288.70 2670 100 46
108 1791536663 288.77 2670 100 47
109 1791536664 288.74 2670 100 47
110 1791536665 289.04 2670 100 47
111 1791536666 288.94 2670 100 47
112 1791536667 288.78 2670 100 47
113 1791536668 288.69 2670 100 47
114 1791536669 288.47 2670 100 47
115 1791536670 289.04 2670 100 47
116 1791536672 289.11 2670 100 47
117 1791536673 289.05 2670 100 47
118 1791536674 288.86 2670 100 47

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2347 cache 2 dataset 29 hot 0 check 1092 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 477.97 ms; 250 timed dispatches of 16777216 nonces: mean 478.24 ms
RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.081 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1626 cache 3 dataset 28 hot 0 check 1163 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 479.01 ms; 250 timed dispatches of 16777216 nonces: mean 479.05 ms
RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.022 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1479 cache 2 dataset 29 hot 0 check 1190 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.44 ms; 250 timed dispatches of 16777216 nonces: mean 478.59 ms
RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.055 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1676 cache 3 dataset 28 hot 0 check 1158 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.39 ms; 250 timed dispatches of 16777216 nonces: mean 479.74 ms
RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=34.971 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1552 cache 2 dataset 29 hot 0 check 1183 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.53 ms; 250 timed dispatches of 16777216 nonces: mean 478.66 ms
RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.050 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1566 cache 2 dataset 29 hot 0 check 1652 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.47 ms; 250 timed dispatches of 16777216 nonces: mean 478.63 ms
RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.053 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1454 cache 2 dataset 29 hot 0 check 1187 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 479.02 ms; 250 timed dispatches of 16777216 nonces: mean 479.05 ms
RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.022 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,4 @@
info igneum-worker-cuda 1.0 (4 October 2026): device 0 NVIDIA_GeForce_RTX_4090 (sm_89, 128 SMs), driver 13.2 from libcuda.so.1, NVRTC 12.8 from libnvrtc.so.12, target sm_89 (the device's architecture, listed by NVRTC)
pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2538 cache 2 dataset 29 hot 0 check 1105 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
warm-up dispatch (base 0): 478.21 ms; 250 timed dispatches of 16777216 nonces: mean 478.24 ms
RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.081 loads=256 bytes=1024 scratch_ops=0 time=wall

View file

@ -0,0 +1,35 @@
RESULT start 2026-10-09T09:05:41Z NVIDIA GeForce RTX 4090, 595.91.07, 450.00 W, 3105 MHz
RESULT worker sha256 804a6f7fea10a62e
RESULT run 01-hl-v6-all rc=0 secs=124 t0=1791536741 t1=1791536865
BENCH 01-hl-v6-all | pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2347 cache 2 dataset 29 hot 0 check 1092 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 01-hl-v6-all | warm-up dispatch (base 0): 477.97 ms; 250 timed dispatches of 16777216 nonces: mean 478.24 ms
BENCH 01-hl-v6-all | RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.081 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 02-x4-direct rc=0 secs=124 t0=1791536885 t1=1791537009
BENCH 02-x4-direct | pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1626 cache 3 dataset 28 hot 0 check 1163 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 02-x4-direct | warm-up dispatch (base 0): 479.01 ms; 250 timed dispatches of 16777216 nonces: mean 479.05 ms
BENCH 02-x4-direct | RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.022 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 03-x4-generated rc=0 secs=123 t0=1791537029 t1=1791537152
BENCH 03-x4-generated | pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1479 cache 2 dataset 29 hot 0 check 1190 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 03-x4-generated | warm-up dispatch (base 0): 478.44 ms; 250 timed dispatches of 16777216 nonces: mean 478.59 ms
BENCH 03-x4-generated | RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.055 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 04-x4-prefix rc=0 secs=124 t0=1791537172 t1=1791537296
BENCH 04-x4-prefix | pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1676 cache 3 dataset 28 hot 0 check 1158 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 04-x4-prefix | warm-up dispatch (base 0): 478.39 ms; 250 timed dispatches of 16777216 nonces: mean 479.74 ms
BENCH 04-x4-prefix | RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=34.971 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 05-x4-prefix rc=0 secs=124 t0=1791537316 t1=1791537440
BENCH 05-x4-prefix | pack packs/x4-prefix on NVIDIA_GeForce_RTX_4090: nvrtc 1552 cache 2 dataset 29 hot 0 check 1183 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 05-x4-prefix | warm-up dispatch (base 0): 478.53 ms; 250 timed dispatches of 16777216 nonces: mean 478.66 ms
BENCH 05-x4-prefix | RESULT pack=packs/x4-prefix class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=154 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.050 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 06-x4-generated rc=0 secs=124 t0=1791537460 t1=1791537584
BENCH 06-x4-generated | pack packs/x4-generated on NVIDIA_GeForce_RTX_4090: nvrtc 1566 cache 2 dataset 29 hot 0 check 1652 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 06-x4-generated | warm-up dispatch (base 0): 478.47 ms; 250 timed dispatches of 16777216 nonces: mean 478.63 ms
BENCH 06-x4-generated | RESULT pack=packs/x4-generated class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=142 blocks_per_sm=12 warps=0 resident=1536 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.053 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 07-x4-direct rc=0 secs=123 t0=1791537604 t1=1791537727
BENCH 07-x4-direct | pack packs/x4-direct on NVIDIA_GeForce_RTX_4090: nvrtc 1454 cache 2 dataset 29 hot 0 check 1187 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 07-x4-direct | warm-up dispatch (base 0): 479.02 ms; 250 timed dispatches of 16777216 nonces: mean 479.05 ms
BENCH 07-x4-direct | RESULT pack=packs/x4-direct class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=182 blocks_per_sm=8 warps=0 resident=1024 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.022 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT run 08-hl-v6-all rc=0 secs=125 t0=1791537747 t1=1791537872
BENCH 08-hl-v6-all | pack packs/hl-v6-all on NVIDIA_GeForce_RTX_4090: nvrtc 2538 cache 2 dataset 29 hot 0 check 1105 race 0 ms variant base class v6 (state leaves 93, uploaded for the build and freed); self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
BENCH 08-hl-v6-all | warm-up dispatch (base 0): 478.21 ms; 250 timed dispatches of 16777216 nonces: mean 478.24 ms
BENCH 08-hl-v6-all | RESULT pack=packs/hl-v6-all class=mx8-erad810f22d+sh256x27+state+reg64c+fold+rw device=NVIDIA_GeForce_RTX_4090 arch=sm_89 regs=93 blocks_per_sm=20 warps=0 resident=2560 arena_mib=0 hot_mib=0 hot_slots=0 hot_fill_ms=0.00 nonces=16777216 batches=250 check=PASS fingerprint=e8f4f3289c6ee1fc mhs=35.081 loads=256 bytes=1024 scratch_ops=0 time=wall
RESULT end 2026-10-09T09:24:52Z

View file

@ -0,0 +1,118 @@
1791536741,27.54,210,0,26
1791536742,56.07,2520,0,27
1791536743,82.60,2520,0,27
1791536744,85.62,2520,11,28
1791536745,90.67,2520,57,27
1791536746,251.28,2655,100,34
1791536747,281.96,2685,100,35
1791536748,282.36,2685,100,35
1791536749,282.45,2685,100,35
1791536750,282.71,2685,100,36
1791536751,282.52,2685,100,36
1791536752,282.61,2685,100,36
1791536753,282.40,2685,100,37
1791536754,282.54,2685,100,37
1791536756,282.72,2685,100,37
1791536757,283.36,2685,100,38
1791536758,283.44,2685,100,38
1791536759,283.25,2685,100,38
1791536760,283.73,2685,100,38
1791536761,284.11,2685,100,38
1791536762,284.14,2685,100,39
1791536763,284.19,2685,100,39
1791536764,284.22,2685,100,39
1791536765,284.22,2685,100,39
1791536766,284.55,2685,100,40
1791536767,284.48,2685,100,40
1791536768,284.77,2685,100,40
1791536769,284.98,2685,100,40
1791536770,284.96,2685,100,40
1791536771,284.94,2685,100,40
1791536772,285.17,2685,100,41
1791536773,285.14,2685,100,41
1791536775,284.91,2685,100,41
1791536776,285.24,2685,100,41
1791536777,285.16,2685,100,41
1791536778,285.23,2685,100,41
1791536779,285.40,2685,100,41
1791536780,285.35,2685,100,42
1791536781,285.25,2685,100,42
1791536782,285.20,2685,100,42
1791536783,285.48,2685,100,42
1791536784,285.70,2685,100,42
1791536785,286.04,2685,100,42
1791536786,286.20,2685,100,42
1791536787,286.10,2685,100,42
1791536788,286.15,2685,100,43
1791536789,285.95,2685,100,43
1791536790,286.59,2685,100,43
1791536791,286.56,2685,100,43
1791536793,286.33,2685,100,43
1791536794,286.56,2685,100,43
1791536795,286.70,2685,100,43
1791536796,286.51,2685,100,43
1791536797,286.30,2685,100,43
1791536798,286.80,2685,100,43
1791536799,286.39,2685,100,43
1791536800,286.27,2685,100,44
1791536801,286.57,2685,100,44
1791536802,286.67,2685,100,44
1791536803,286.65,2685,100,44
1791536804,286.59,2685,100,44
1791536805,286.91,2685,100,44
1791536806,286.94,2685,100,44
1791536807,286.84,2685,100,44
1791536808,286.92,2685,100,44
1791536810,287.06,2670,100,44
1791536811,287.07,2670,100,44
1791536812,287.24,2670,100,44
1791536813,287.26,2670,100,44
1791536814,287.13,2670,100,44
1791536815,287.39,2670,100,45
1791536816,287.57,2670,100,45
1791536817,287.45,2670,100,45
1791536818,287.37,2670,100,45
1791536819,287.87,2670,100,45
1791536820,287.90,2670,100,45
1791536821,287.97,2670,100,45
1791536822,287.47,2670,100,45
1791536823,287.40,2670,100,45
1791536824,287.09,2670,100,45
1791536825,287.00,2670,100,45
1791536827,287.51,2670,100,45
1791536828,288.05,2670,100,45
1791536829,288.44,2670,100,45
1791536830,288.36,2670,100,45
1791536831,288.67,2670,100,45
1791536832,288.64,2670,100,45
1791536833,288.62,2670,100,45
1791536834,288.22,2670,100,45
1791536835,288.23,2670,100,46
1791536836,288.16,2670,100,46
1791536837,288.39,2670,100,46
1791536838,288.55,2670,100,46
1791536839,288.68,2670,100,46
1791536840,288.95,2670,100,46
1791536841,289.35,2670,100,46
1791536842,288.96,2670,100,46
1791536843,288.62,2670,100,46
1791536845,288.23,2670,100,46
1791536846,288.88,2670,100,46
1791536847,289.12,2670,100,46
1791536848,289.02,2670,100,46
1791536849,289.05,2670,100,46
1791536850,289.06,2670,100,46
1791536851,288.89,2670,100,46
1791536852,288.90,2670,100,46
1791536853,288.96,2670,100,46
1791536854,288.76,2670,100,46
1791536855,288.70,2670,100,46
1791536856,288.69,2670,100,46
1791536857,288.75,2670,100,46
1791536858,288.92,2670,100,46
1791536859,288.92,2670,100,46
1791536860,288.77,2670,100,46
1791536862,289.04,2670,100,46
1791536863,289.11,2670,100,46
1791536864,289.12,2670,100,46
1791536865,288.96,2670,100,46
1 1791536741 27.54 210 0 26
2 1791536742 56.07 2520 0 27
3 1791536743 82.60 2520 0 27
4 1791536744 85.62 2520 11 28
5 1791536745 90.67 2520 57 27
6 1791536746 251.28 2655 100 34
7 1791536747 281.96 2685 100 35
8 1791536748 282.36 2685 100 35
9 1791536749 282.45 2685 100 35
10 1791536750 282.71 2685 100 36
11 1791536751 282.52 2685 100 36
12 1791536752 282.61 2685 100 36
13 1791536753 282.40 2685 100 37
14 1791536754 282.54 2685 100 37
15 1791536756 282.72 2685 100 37
16 1791536757 283.36 2685 100 38
17 1791536758 283.44 2685 100 38
18 1791536759 283.25 2685 100 38
19 1791536760 283.73 2685 100 38
20 1791536761 284.11 2685 100 38
21 1791536762 284.14 2685 100 39
22 1791536763 284.19 2685 100 39
23 1791536764 284.22 2685 100 39
24 1791536765 284.22 2685 100 39
25 1791536766 284.55 2685 100 40
26 1791536767 284.48 2685 100 40
27 1791536768 284.77 2685 100 40
28 1791536769 284.98 2685 100 40
29 1791536770 284.96 2685 100 40
30 1791536771 284.94 2685 100 40
31 1791536772 285.17 2685 100 41
32 1791536773 285.14 2685 100 41
33 1791536775 284.91 2685 100 41
34 1791536776 285.24 2685 100 41
35 1791536777 285.16 2685 100 41
36 1791536778 285.23 2685 100 41
37 1791536779 285.40 2685 100 41
38 1791536780 285.35 2685 100 42
39 1791536781 285.25 2685 100 42
40 1791536782 285.20 2685 100 42
41 1791536783 285.48 2685 100 42
42 1791536784 285.70 2685 100 42
43 1791536785 286.04 2685 100 42
44 1791536786 286.20 2685 100 42
45 1791536787 286.10 2685 100 42
46 1791536788 286.15 2685 100 43
47 1791536789 285.95 2685 100 43
48 1791536790 286.59 2685 100 43
49 1791536791 286.56 2685 100 43
50 1791536793 286.33 2685 100 43
51 1791536794 286.56 2685 100 43
52 1791536795 286.70 2685 100 43
53 1791536796 286.51 2685 100 43
54 1791536797 286.30 2685 100 43
55 1791536798 286.80 2685 100 43
56 1791536799 286.39 2685 100 43
57 1791536800 286.27 2685 100 44
58 1791536801 286.57 2685 100 44
59 1791536802 286.67 2685 100 44
60 1791536803 286.65 2685 100 44
61 1791536804 286.59 2685 100 44
62 1791536805 286.91 2685 100 44
63 1791536806 286.94 2685 100 44
64 1791536807 286.84 2685 100 44
65 1791536808 286.92 2685 100 44
66 1791536810 287.06 2670 100 44
67 1791536811 287.07 2670 100 44
68 1791536812 287.24 2670 100 44
69 1791536813 287.26 2670 100 44
70 1791536814 287.13 2670 100 44
71 1791536815 287.39 2670 100 45
72 1791536816 287.57 2670 100 45
73 1791536817 287.45 2670 100 45
74 1791536818 287.37 2670 100 45
75 1791536819 287.87 2670 100 45
76 1791536820 287.90 2670 100 45
77 1791536821 287.97 2670 100 45
78 1791536822 287.47 2670 100 45
79 1791536823 287.40 2670 100 45
80 1791536824 287.09 2670 100 45
81 1791536825 287.00 2670 100 45
82 1791536827 287.51 2670 100 45
83 1791536828 288.05 2670 100 45
84 1791536829 288.44 2670 100 45
85 1791536830 288.36 2670 100 45
86 1791536831 288.67 2670 100 45
87 1791536832 288.64 2670 100 45
88 1791536833 288.62 2670 100 45
89 1791536834 288.22 2670 100 45
90 1791536835 288.23 2670 100 46
91 1791536836 288.16 2670 100 46
92 1791536837 288.39 2670 100 46
93 1791536838 288.55 2670 100 46
94 1791536839 288.68 2670 100 46
95 1791536840 288.95 2670 100 46
96 1791536841 289.35 2670 100 46
97 1791536842 288.96 2670 100 46
98 1791536843 288.62 2670 100 46
99 1791536845 288.23 2670 100 46
100 1791536846 288.88 2670 100 46
101 1791536847 289.12 2670 100 46
102 1791536848 289.02 2670 100 46
103 1791536849 289.05 2670 100 46
104 1791536850 289.06 2670 100 46
105 1791536851 288.89 2670 100 46
106 1791536852 288.90 2670 100 46
107 1791536853 288.96 2670 100 46
108 1791536854 288.76 2670 100 46
109 1791536855 288.70 2670 100 46
110 1791536856 288.69 2670 100 46
111 1791536857 288.75 2670 100 46
112 1791536858 288.92 2670 100 46
113 1791536859 288.92 2670 100 46
114 1791536860 288.77 2670 100 46
115 1791536862 289.04 2670 100 46
116 1791536863 289.11 2670 100 46
117 1791536864 289.12 2670 100 46
118 1791536865 288.96 2670 100 46

View file

@ -0,0 +1,117 @@
1791536885,28.32,210,0,33
1791536886,45.95,2520,0,33
1791536887,81.58,2520,0,33
1791536888,92.40,2520,1,35
1791536889,236.97,2685,100,39
1791536890,271.90,2685,100,39
1791536891,272.15,2685,100,39
1791536892,272.65,2685,100,40
1791536893,272.92,2685,100,40
1791536894,272.83,2685,100,40
1791536895,273.21,2685,100,40
1791536897,273.50,2685,100,41
1791536898,273.73,2685,100,41
1791536899,274.07,2685,100,41
1791536900,274.05,2685,100,41
1791536902,274.03,2685,100,41
1791536903,273.95,2685,100,41
1791536904,273.79,2685,100,41
1791536905,273.93,2685,100,42
1791536906,273.85,2685,100,42
1791536907,273.32,2685,100,42
1791536908,273.64,2685,100,42
1791536909,273.77,2685,100,42
1791536910,274.04,2685,100,42
1791536911,273.89,2685,100,42
1791536912,273.93,2685,100,42
1791536913,273.90,2685,100,42
1791536914,274.49,2685,100,42
1791536915,274.20,2685,100,42
1791536916,274.49,2685,100,43
1791536918,274.60,2685,100,43
1791536919,274.71,2685,100,43
1791536920,274.73,2685,100,43
1791536921,274.92,2685,100,43
1791536922,274.90,2685,100,43
1791536923,274.51,2685,100,43
1791536924,274.92,2685,100,43
1791536925,275.17,2685,100,43
1791536926,275.02,2685,100,43
1791536927,274.99,2685,100,43
1791536928,274.83,2685,100,43
1791536929,275.14,2685,100,43
1791536930,275.21,2685,100,44
1791536931,274.90,2685,100,44
1791536932,275.20,2685,100,44
1791536933,274.90,2685,100,44
1791536934,275.14,2685,100,44
1791536935,275.32,2685,100,44
1791536937,275.12,2685,100,44
1791536938,275.21,2685,100,44
1791536939,275.60,2685,100,44
1791536940,275.48,2685,100,44
1791536941,275.73,2685,100,44
1791536942,275.49,2685,100,44
1791536943,275.42,2685,100,44
1791536944,275.24,2670,100,44
1791536945,275.29,2670,100,44
1791536946,274.87,2670,100,44
1791536947,275.12,2670,100,44
1791536948,275.17,2670,100,44
1791536949,275.04,2670,100,44
1791536950,275.22,2670,100,44
1791536951,275.48,2670,100,44
1791536952,275.39,2670,100,44
1791536953,275.36,2670,100,45
1791536954,275.43,2670,100,45
1791536956,275.14,2670,100,45
1791536957,275.07,2670,100,45
1791536958,275.15,2670,100,45
1791536959,274.97,2670,100,45
1791536960,274.90,2670,100,45
1791536961,275.13,2670,100,45
1791536962,275.48,2670,100,45
1791536963,275.73,2670,100,45
1791536964,275.68,2670,100,45
1791536965,275.81,2670,100,45
1791536966,275.70,2670,100,45
1791536967,276.07,2670,100,45
1791536968,276.11,2670,100,45
1791536969,275.77,2670,100,45
1791536970,275.46,2670,100,45
1791536971,276.10,2670,100,45
1791536972,275.91,2670,100,45
1791536974,275.78,2670,100,45
1791536975,275.83,2670,100,45
1791536976,276.08,2670,100,45
1791536977,275.75,2670,100,45
1791536978,275.88,2670,100,45
1791536979,276.15,2670,100,45
1791536980,276.06,2670,100,45
1791536981,276.06,2670,100,45
1791536982,276.08,2670,100,45
1791536983,275.98,2670,100,45
1791536984,275.48,2670,99,45
1791536985,275.74,2670,100,45
1791536986,276.10,2670,100,45
1791536987,275.86,2670,100,45
1791536988,275.90,2670,100,45
1791536989,275.91,2670,100,45
1791536990,275.75,2670,100,45
1791536991,275.67,2670,100,45
1791536993,275.41,2670,100,45
1791536994,275.77,2670,100,45
1791536995,275.87,2670,100,45
1791536996,275.66,2670,100,45
1791536997,275.86,2670,100,45
1791536998,275.86,2670,100,45
1791536999,275.53,2670,100,46
1791537000,275.66,2670,100,46
1791537001,276.23,2670,100,46
1791537002,276.32,2670,100,46
1791537003,276.15,2670,100,46
1791537004,276.25,2670,100,46
1791537005,276.30,2670,100,46
1791537006,276.02,2670,100,46
1791537007,276.08,2670,100,46
1791537008,276.01,2670,100,46
1 1791536885 28.32 210 0 33
2 1791536886 45.95 2520 0 33
3 1791536887 81.58 2520 0 33
4 1791536888 92.40 2520 1 35
5 1791536889 236.97 2685 100 39
6 1791536890 271.90 2685 100 39
7 1791536891 272.15 2685 100 39
8 1791536892 272.65 2685 100 40
9 1791536893 272.92 2685 100 40
10 1791536894 272.83 2685 100 40
11 1791536895 273.21 2685 100 40
12 1791536897 273.50 2685 100 41
13 1791536898 273.73 2685 100 41
14 1791536899 274.07 2685 100 41
15 1791536900 274.05 2685 100 41
16 1791536902 274.03 2685 100 41
17 1791536903 273.95 2685 100 41
18 1791536904 273.79 2685 100 41
19 1791536905 273.93 2685 100 42
20 1791536906 273.85 2685 100 42
21 1791536907 273.32 2685 100 42
22 1791536908 273.64 2685 100 42
23 1791536909 273.77 2685 100 42
24 1791536910 274.04 2685 100 42
25 1791536911 273.89 2685 100 42
26 1791536912 273.93 2685 100 42
27 1791536913 273.90 2685 100 42
28 1791536914 274.49 2685 100 42
29 1791536915 274.20 2685 100 42
30 1791536916 274.49 2685 100 43
31 1791536918 274.60 2685 100 43
32 1791536919 274.71 2685 100 43
33 1791536920 274.73 2685 100 43
34 1791536921 274.92 2685 100 43
35 1791536922 274.90 2685 100 43
36 1791536923 274.51 2685 100 43
37 1791536924 274.92 2685 100 43
38 1791536925 275.17 2685 100 43
39 1791536926 275.02 2685 100 43
40 1791536927 274.99 2685 100 43
41 1791536928 274.83 2685 100 43
42 1791536929 275.14 2685 100 43
43 1791536930 275.21 2685 100 44
44 1791536931 274.90 2685 100 44
45 1791536932 275.20 2685 100 44
46 1791536933 274.90 2685 100 44
47 1791536934 275.14 2685 100 44
48 1791536935 275.32 2685 100 44
49 1791536937 275.12 2685 100 44
50 1791536938 275.21 2685 100 44
51 1791536939 275.60 2685 100 44
52 1791536940 275.48 2685 100 44
53 1791536941 275.73 2685 100 44
54 1791536942 275.49 2685 100 44
55 1791536943 275.42 2685 100 44
56 1791536944 275.24 2670 100 44
57 1791536945 275.29 2670 100 44
58 1791536946 274.87 2670 100 44
59 1791536947 275.12 2670 100 44
60 1791536948 275.17 2670 100 44
61 1791536949 275.04 2670 100 44
62 1791536950 275.22 2670 100 44
63 1791536951 275.48 2670 100 44
64 1791536952 275.39 2670 100 44
65 1791536953 275.36 2670 100 45
66 1791536954 275.43 2670 100 45
67 1791536956 275.14 2670 100 45
68 1791536957 275.07 2670 100 45
69 1791536958 275.15 2670 100 45
70 1791536959 274.97 2670 100 45
71 1791536960 274.90 2670 100 45
72 1791536961 275.13 2670 100 45
73 1791536962 275.48 2670 100 45
74 1791536963 275.73 2670 100 45
75 1791536964 275.68 2670 100 45
76 1791536965 275.81 2670 100 45
77 1791536966 275.70 2670 100 45
78 1791536967 276.07 2670 100 45
79 1791536968 276.11 2670 100 45
80 1791536969 275.77 2670 100 45
81 1791536970 275.46 2670 100 45
82 1791536971 276.10 2670 100 45
83 1791536972 275.91 2670 100 45
84 1791536974 275.78 2670 100 45
85 1791536975 275.83 2670 100 45
86 1791536976 276.08 2670 100 45
87 1791536977 275.75 2670 100 45
88 1791536978 275.88 2670 100 45
89 1791536979 276.15 2670 100 45
90 1791536980 276.06 2670 100 45
91 1791536981 276.06 2670 100 45
92 1791536982 276.08 2670 100 45
93 1791536983 275.98 2670 100 45
94 1791536984 275.48 2670 99 45
95 1791536985 275.74 2670 100 45
96 1791536986 276.10 2670 100 45
97 1791536987 275.86 2670 100 45
98 1791536988 275.90 2670 100 45
99 1791536989 275.91 2670 100 45
100 1791536990 275.75 2670 100 45
101 1791536991 275.67 2670 100 45
102 1791536993 275.41 2670 100 45
103 1791536994 275.77 2670 100 45
104 1791536995 275.87 2670 100 45
105 1791536996 275.66 2670 100 45
106 1791536997 275.86 2670 100 45
107 1791536998 275.86 2670 100 45
108 1791536999 275.53 2670 100 46
109 1791537000 275.66 2670 100 46
110 1791537001 276.23 2670 100 46
111 1791537002 276.32 2670 100 46
112 1791537003 276.15 2670 100 46
113 1791537004 276.25 2670 100 46
114 1791537005 276.30 2670 100 46
115 1791537006 276.02 2670 100 46
116 1791537007 276.08 2670 100 46
117 1791537008 276.01 2670 100 46

View file

@ -0,0 +1,117 @@
1791537029,27.66,210,0,33
1791537030,49.07,2520,0,33
1791537031,85.97,2520,5,34
1791537032,81.32,2520,0,33
1791537033,203.31,2685,100,39
1791537034,272.00,2685,100,39
1791537035,272.31,2685,100,40
1791537036,272.09,2685,100,40
1791537037,272.53,2685,100,40
1791537038,272.13,2685,100,40
1791537039,272.68,2685,100,41
1791537040,272.79,2685,100,41
1791537041,272.94,2685,100,41
1791537042,273.07,2685,100,41
1791537043,273.10,2685,100,41
1791537045,273.07,2685,100,41
1791537046,273.30,2685,100,42
1791537047,273.49,2685,100,42
1791537048,273.49,2685,100,42
1791537049,273.74,2685,100,42
1791537050,273.77,2685,99,42
1791537051,273.86,2685,100,42
1791537052,273.77,2685,100,42
1791537053,273.90,2685,100,42
1791537054,274.03,2685,100,42
1791537055,273.97,2685,100,43
1791537056,274.10,2685,100,43
1791537057,273.77,2685,100,43
1791537058,273.93,2685,100,43
1791537059,274.38,2685,100,43
1791537060,274.26,2685,100,43
1791537061,274.35,2685,100,43
1791537062,274.69,2685,100,43
1791537064,274.33,2685,100,43
1791537065,274.71,2685,100,43
1791537066,275.16,2685,100,43
1791537067,275.14,2685,100,43
1791537068,275.09,2685,100,43
1791537069,274.91,2685,100,44
1791537070,275.14,2685,100,44
1791537071,274.98,2685,100,44
1791537072,275.21,2685,100,44
1791537073,275.32,2685,100,44
1791537074,275.83,2685,100,44
1791537075,275.63,2685,100,44
1791537076,275.89,2685,100,44
1791537077,275.54,2685,100,44
1791537078,275.65,2670,100,44
1791537079,275.15,2670,100,44
1791537081,275.23,2670,100,44
1791537082,275.42,2670,100,44
1791537083,275.24,2670,100,44
1791537084,274.85,2670,100,44
1791537085,274.88,2670,100,44
1791537086,274.88,2670,100,44
1791537087,275.05,2670,100,44
1791537088,275.16,2670,100,44
1791537089,275.00,2670,100,44
1791537090,275.00,2670,100,45
1791537091,275.17,2670,100,45
1791537092,274.95,2670,100,45
1791537093,274.98,2670,100,45
1791537094,275.10,2670,100,45
1791537095,274.61,2670,100,45
1791537096,274.99,2670,100,45
1791537097,275.37,2670,100,45
1791537099,275.49,2670,100,45
1791537100,275.48,2670,100,45
1791537101,275.46,2670,100,45
1791537102,275.20,2670,100,45
1791537103,275.04,2670,100,45
1791537104,275.05,2670,100,45
1791537105,274.96,2670,100,45
1791537106,275.33,2670,100,45
1791537107,275.64,2670,100,45
1791537108,275.24,2670,100,45
1791537109,275.51,2670,100,45
1791537110,275.32,2670,100,45
1791537111,275.23,2670,100,45
1791537112,275.09,2670,100,45
1791537113,274.94,2670,100,45
1791537114,275.56,2670,100,45
1791537116,275.22,2670,100,45
1791537117,275.43,2670,100,45
1791537118,275.17,2670,100,45
1791537119,275.43,2670,100,45
1791537120,275.65,2670,100,45
1791537121,275.96,2670,100,45
1791537122,276.02,2670,100,45
1791537123,276.05,2670,100,45
1791537124,276.19,2670,100,45
1791537125,276.01,2670,100,45
1791537126,275.80,2670,100,45
1791537127,276.15,2670,100,45
1791537128,275.88,2670,100,45
1791537129,275.86,2670,100,46
1791537130,275.82,2670,100,46
1791537131,276.18,2670,100,46
1791537133,276.09,2670,100,46
1791537134,276.21,2670,100,46
1791537135,276.31,2670,100,46
1791537136,275.97,2670,100,46
1791537137,276.20,2670,100,46
1791537138,276.17,2670,100,46
1791537139,276.55,2670,100,46
1791537140,276.47,2670,100,46
1791537141,276.25,2670,100,46
1791537142,276.45,2670,100,46
1791537143,276.54,2670,100,46
1791537144,276.25,2670,100,46
1791537145,276.14,2670,100,46
1791537146,275.65,2670,100,46
1791537147,275.82,2670,100,46
1791537148,275.87,2670,100,46
1791537150,275.84,2670,99,46
1791537151,275.64,2670,100,46
1791537152,275.50,2670,100,46
1 1791537029 27.66 210 0 33
2 1791537030 49.07 2520 0 33
3 1791537031 85.97 2520 5 34
4 1791537032 81.32 2520 0 33
5 1791537033 203.31 2685 100 39
6 1791537034 272.00 2685 100 39
7 1791537035 272.31 2685 100 40
8 1791537036 272.09 2685 100 40
9 1791537037 272.53 2685 100 40
10 1791537038 272.13 2685 100 40
11 1791537039 272.68 2685 100 41
12 1791537040 272.79 2685 100 41
13 1791537041 272.94 2685 100 41
14 1791537042 273.07 2685 100 41
15 1791537043 273.10 2685 100 41
16 1791537045 273.07 2685 100 41
17 1791537046 273.30 2685 100 42
18 1791537047 273.49 2685 100 42
19 1791537048 273.49 2685 100 42
20 1791537049 273.74 2685 100 42
21 1791537050 273.77 2685 99 42
22 1791537051 273.86 2685 100 42
23 1791537052 273.77 2685 100 42
24 1791537053 273.90 2685 100 42
25 1791537054 274.03 2685 100 42
26 1791537055 273.97 2685 100 43
27 1791537056 274.10 2685 100 43
28 1791537057 273.77 2685 100 43
29 1791537058 273.93 2685 100 43
30 1791537059 274.38 2685 100 43
31 1791537060 274.26 2685 100 43
32 1791537061 274.35 2685 100 43
33 1791537062 274.69 2685 100 43
34 1791537064 274.33 2685 100 43
35 1791537065 274.71 2685 100 43
36 1791537066 275.16 2685 100 43
37 1791537067 275.14 2685 100 43
38 1791537068 275.09 2685 100 43
39 1791537069 274.91 2685 100 44
40 1791537070 275.14 2685 100 44
41 1791537071 274.98 2685 100 44
42 1791537072 275.21 2685 100 44
43 1791537073 275.32 2685 100 44
44 1791537074 275.83 2685 100 44
45 1791537075 275.63 2685 100 44
46 1791537076 275.89 2685 100 44
47 1791537077 275.54 2685 100 44
48 1791537078 275.65 2670 100 44
49 1791537079 275.15 2670 100 44
50 1791537081 275.23 2670 100 44
51 1791537082 275.42 2670 100 44
52 1791537083 275.24 2670 100 44
53 1791537084 274.85 2670 100 44
54 1791537085 274.88 2670 100 44
55 1791537086 274.88 2670 100 44
56 1791537087 275.05 2670 100 44
57 1791537088 275.16 2670 100 44
58 1791537089 275.00 2670 100 44
59 1791537090 275.00 2670 100 45
60 1791537091 275.17 2670 100 45
61 1791537092 274.95 2670 100 45
62 1791537093 274.98 2670 100 45
63 1791537094 275.10 2670 100 45
64 1791537095 274.61 2670 100 45
65 1791537096 274.99 2670 100 45
66 1791537097 275.37 2670 100 45
67 1791537099 275.49 2670 100 45
68 1791537100 275.48 2670 100 45
69 1791537101 275.46 2670 100 45
70 1791537102 275.20 2670 100 45
71 1791537103 275.04 2670 100 45
72 1791537104 275.05 2670 100 45
73 1791537105 274.96 2670 100 45
74 1791537106 275.33 2670 100 45
75 1791537107 275.64 2670 100 45
76 1791537108 275.24 2670 100 45
77 1791537109 275.51 2670 100 45
78 1791537110 275.32 2670 100 45
79 1791537111 275.23 2670 100 45
80 1791537112 275.09 2670 100 45
81 1791537113 274.94 2670 100 45
82 1791537114 275.56 2670 100 45
83 1791537116 275.22 2670 100 45
84 1791537117 275.43 2670 100 45
85 1791537118 275.17 2670 100 45
86 1791537119 275.43 2670 100 45
87 1791537120 275.65 2670 100 45
88 1791537121 275.96 2670 100 45
89 1791537122 276.02 2670 100 45
90 1791537123 276.05 2670 100 45
91 1791537124 276.19 2670 100 45
92 1791537125 276.01 2670 100 45
93 1791537126 275.80 2670 100 45
94 1791537127 276.15 2670 100 45
95 1791537128 275.88 2670 100 45
96 1791537129 275.86 2670 100 46
97 1791537130 275.82 2670 100 46
98 1791537131 276.18 2670 100 46
99 1791537133 276.09 2670 100 46
100 1791537134 276.21 2670 100 46
101 1791537135 276.31 2670 100 46
102 1791537136 275.97 2670 100 46
103 1791537137 276.20 2670 100 46
104 1791537138 276.17 2670 100 46
105 1791537139 276.55 2670 100 46
106 1791537140 276.47 2670 100 46
107 1791537141 276.25 2670 100 46
108 1791537142 276.45 2670 100 46
109 1791537143 276.54 2670 100 46
110 1791537144 276.25 2670 100 46
111 1791537145 276.14 2670 100 46
112 1791537146 275.65 2670 100 46
113 1791537147 275.82 2670 100 46
114 1791537148 275.87 2670 100 46
115 1791537150 275.84 2670 99 46
116 1791537151 275.64 2670 100 46
117 1791537152 275.50 2670 100 46

View file

@ -0,0 +1,118 @@
1791537172,27.55,210,0,33
1791537173,49.83,2520,0,34
1791537174,85.09,2520,71,34
1791537175,86.21,2520,0,33
1791537176,176.96,2685,100,38
1791537177,273.90,2685,100,40
1791537178,274.80,2685,100,40
1791537180,275.31,2685,100,40
1791537181,251.76,2685,100,40
1791537182,275.78,2685,100,41
1791537183,275.75,2685,100,41
1791537184,275.88,2685,100,41
1791537185,276.04,2685,100,41
1791537186,276.14,2685,100,41
1791537187,276.04,2685,100,41
1791537188,276.39,2685,100,42
1791537189,276.51,2685,100,42
1791537190,276.10,2685,100,42
1791537191,276.01,2685,100,42
1791537192,276.19,2685,100,42
1791537193,276.18,2685,100,42
1791537194,276.23,2685,100,42
1791537195,275.99,2685,100,42
1791537196,275.65,2685,100,43
1791537197,276.30,2685,100,43
1791537199,276.45,2685,100,43
1791537200,276.75,2685,100,43
1791537201,276.50,2685,100,43
1791537202,276.57,2685,100,43
1791537203,276.60,2685,100,43
1791537204,276.50,2685,100,43
1791537205,276.72,2685,100,43
1791537206,276.79,2685,100,43
1791537207,276.95,2685,100,43
1791537208,276.75,2685,100,43
1791537209,276.63,2685,100,44
1791537210,276.71,2685,100,44
1791537211,276.93,2685,100,44
1791537212,276.96,2685,100,44
1791537213,277.20,2685,100,44
1791537214,277.07,2685,100,44
1791537215,277.02,2670,100,44
1791537216,277.23,2670,100,44
1791537217,276.90,2670,100,44
1791537218,277.42,2670,100,44
1791537220,277.38,2670,100,44
1791537221,277.29,2670,100,44
1791537222,277.39,2670,100,44
1791537223,277.32,2670,100,44
1791537224,277.05,2670,100,44
1791537225,276.94,2670,100,44
1791537226,277.20,2670,100,45
1791537227,277.11,2670,100,45
1791537228,277.12,2670,100,45
1791537229,277.30,2670,100,45
1791537230,277.46,2670,100,45
1791537231,277.33,2670,100,45
1791537232,277.62,2670,100,45
1791537233,277.38,2670,100,45
1791537234,277.40,2670,100,45
1791537235,277.39,2670,100,45
1791537236,277.69,2670,100,45
1791537238,277.74,2670,100,45
1791537239,277.82,2670,100,45
1791537240,277.68,2670,100,45
1791537241,277.54,2670,100,45
1791537242,277.77,2670,100,45
1791537243,277.42,2670,100,45
1791537244,277.49,2670,100,45
1791537245,277.50,2670,100,45
1791537246,277.93,2670,100,45
1791537247,277.96,2670,100,45
1791537248,277.77,2670,100,45
1791537249,277.73,2670,100,45
1791537250,278.01,2670,100,45
1791537251,278.07,2670,100,45
1791537252,277.63,2670,100,45
1791537253,277.54,2670,100,45
1791537254,277.78,2670,100,45
1791537255,277.58,2670,100,45
1791537257,277.66,2670,100,45
1791537258,277.74,2670,100,46
1791537259,277.60,2670,100,46
1791537260,277.61,2670,100,46
1791537261,277.58,2670,100,46
1791537262,277.83,2670,100,46
1791537263,277.81,2670,100,46
1791537264,277.81,2670,100,46
1791537265,277.90,2670,100,46
1791537266,278.02,2670,100,46
1791537267,278.03,2670,100,46
1791537268,277.99,2670,100,46
1791537269,277.90,2670,100,46
1791537270,277.93,2670,100,46
1791537271,278.03,2670,100,46
1791537272,278.14,2670,100,46
1791537273,278.04,2670,100,46
1791537275,278.23,2670,100,46
1791537276,278.15,2670,100,46
1791537277,278.39,2670,100,46
1791537278,278.79,2670,100,46
1791537279,278.81,2670,100,46
1791537280,279.02,2670,100,46
1791537281,278.82,2670,100,46
1791537282,278.50,2670,100,46
1791537283,278.51,2670,100,46
1791537284,278.43,2670,100,46
1791537285,278.59,2670,100,46
1791537286,278.35,2670,100,46
1791537287,278.38,2670,100,46
1791537288,278.77,2670,100,46
1791537289,278.72,2670,100,46
1791537290,278.69,2670,100,46
1791537292,278.47,2670,100,46
1791537293,278.36,2670,100,46
1791537294,278.64,2670,100,46
1791537295,278.44,2670,100,46
1791537296,278.32,2670,100,46
1 1791537172 27.55 210 0 33
2 1791537173 49.83 2520 0 34
3 1791537174 85.09 2520 71 34
4 1791537175 86.21 2520 0 33
5 1791537176 176.96 2685 100 38
6 1791537177 273.90 2685 100 40
7 1791537178 274.80 2685 100 40
8 1791537180 275.31 2685 100 40
9 1791537181 251.76 2685 100 40
10 1791537182 275.78 2685 100 41
11 1791537183 275.75 2685 100 41
12 1791537184 275.88 2685 100 41
13 1791537185 276.04 2685 100 41
14 1791537186 276.14 2685 100 41
15 1791537187 276.04 2685 100 41
16 1791537188 276.39 2685 100 42
17 1791537189 276.51 2685 100 42
18 1791537190 276.10 2685 100 42
19 1791537191 276.01 2685 100 42
20 1791537192 276.19 2685 100 42
21 1791537193 276.18 2685 100 42
22 1791537194 276.23 2685 100 42
23 1791537195 275.99 2685 100 42
24 1791537196 275.65 2685 100 43
25 1791537197 276.30 2685 100 43
26 1791537199 276.45 2685 100 43
27 1791537200 276.75 2685 100 43
28 1791537201 276.50 2685 100 43
29 1791537202 276.57 2685 100 43
30 1791537203 276.60 2685 100 43
31 1791537204 276.50 2685 100 43
32 1791537205 276.72 2685 100 43
33 1791537206 276.79 2685 100 43
34 1791537207 276.95 2685 100 43
35 1791537208 276.75 2685 100 43
36 1791537209 276.63 2685 100 44
37 1791537210 276.71 2685 100 44
38 1791537211 276.93 2685 100 44
39 1791537212 276.96 2685 100 44
40 1791537213 277.20 2685 100 44
41 1791537214 277.07 2685 100 44
42 1791537215 277.02 2670 100 44
43 1791537216 277.23 2670 100 44
44 1791537217 276.90 2670 100 44
45 1791537218 277.42 2670 100 44
46 1791537220 277.38 2670 100 44
47 1791537221 277.29 2670 100 44
48 1791537222 277.39 2670 100 44
49 1791537223 277.32 2670 100 44
50 1791537224 277.05 2670 100 44
51 1791537225 276.94 2670 100 44
52 1791537226 277.20 2670 100 45
53 1791537227 277.11 2670 100 45
54 1791537228 277.12 2670 100 45
55 1791537229 277.30 2670 100 45
56 1791537230 277.46 2670 100 45
57 1791537231 277.33 2670 100 45
58 1791537232 277.62 2670 100 45
59 1791537233 277.38 2670 100 45
60 1791537234 277.40 2670 100 45
61 1791537235 277.39 2670 100 45
62 1791537236 277.69 2670 100 45
63 1791537238 277.74 2670 100 45
64 1791537239 277.82 2670 100 45
65 1791537240 277.68 2670 100 45
66 1791537241 277.54 2670 100 45
67 1791537242 277.77 2670 100 45
68 1791537243 277.42 2670 100 45
69 1791537244 277.49 2670 100 45
70 1791537245 277.50 2670 100 45
71 1791537246 277.93 2670 100 45
72 1791537247 277.96 2670 100 45
73 1791537248 277.77 2670 100 45
74 1791537249 277.73 2670 100 45
75 1791537250 278.01 2670 100 45
76 1791537251 278.07 2670 100 45
77 1791537252 277.63 2670 100 45
78 1791537253 277.54 2670 100 45
79 1791537254 277.78 2670 100 45
80 1791537255 277.58 2670 100 45
81 1791537257 277.66 2670 100 45
82 1791537258 277.74 2670 100 46
83 1791537259 277.60 2670 100 46
84 1791537260 277.61 2670 100 46
85 1791537261 277.58 2670 100 46
86 1791537262 277.83 2670 100 46
87 1791537263 277.81 2670 100 46
88 1791537264 277.81 2670 100 46
89 1791537265 277.90 2670 100 46
90 1791537266 278.02 2670 100 46
91 1791537267 278.03 2670 100 46
92 1791537268 277.99 2670 100 46
93 1791537269 277.90 2670 100 46
94 1791537270 277.93 2670 100 46
95 1791537271 278.03 2670 100 46
96 1791537272 278.14 2670 100 46
97 1791537273 278.04 2670 100 46
98 1791537275 278.23 2670 100 46
99 1791537276 278.15 2670 100 46
100 1791537277 278.39 2670 100 46
101 1791537278 278.79 2670 100 46
102 1791537279 278.81 2670 100 46
103 1791537280 279.02 2670 100 46
104 1791537281 278.82 2670 100 46
105 1791537282 278.50 2670 100 46
106 1791537283 278.51 2670 100 46
107 1791537284 278.43 2670 100 46
108 1791537285 278.59 2670 100 46
109 1791537286 278.35 2670 100 46
110 1791537287 278.38 2670 100 46
111 1791537288 278.77 2670 100 46
112 1791537289 278.72 2670 100 46
113 1791537290 278.69 2670 100 46
114 1791537292 278.47 2670 100 46
115 1791537293 278.36 2670 100 46
116 1791537294 278.64 2670 100 46
117 1791537295 278.44 2670 100 46
118 1791537296 278.32 2670 100 46

View file

@ -0,0 +1,117 @@
1791537316,27.58,210,0,33
1791537317,39.70,2520,0,34
1791537318,86.60,2520,17,34
1791537319,80.95,2520,1,34
1791537320,205.81,2685,100,39
1791537321,274.61,2685,100,40
1791537322,274.92,2685,100,40
1791537324,275.11,2685,100,40
1791537325,275.49,2685,100,41
1791537326,275.89,2685,100,41
1791537327,275.90,2685,100,41
1791537328,275.99,2685,100,41
1791537329,276.30,2685,100,41
1791537330,276.09,2685,100,41
1791537331,276.41,2685,100,42
1791537332,276.95,2685,100,42
1791537333,276.94,2685,100,42
1791537334,276.71,2685,100,42
1791537335,276.70,2685,100,42
1791537336,276.50,2685,100,42
1791537337,276.80,2685,100,42
1791537338,276.93,2685,100,42
1791537339,276.93,2685,100,43
1791537340,276.72,2685,100,43
1791537341,276.92,2685,100,43
1791537343,277.05,2685,100,43
1791537344,277.20,2685,100,43
1791537345,277.20,2685,100,43
1791537346,277.04,2685,100,43
1791537347,276.66,2685,100,43
1791537348,277.09,2685,100,43
1791537349,277.14,2685,100,43
1791537350,276.90,2685,100,43
1791537351,277.09,2685,100,43
1791537352,277.24,2685,100,44
1791537353,277.51,2685,100,44
1791537354,277.56,2685,100,44
1791537355,277.63,2685,100,44
1791537356,277.40,2685,100,44
1791537357,277.61,2685,100,44
1791537358,277.57,2670,100,44
1791537359,277.49,2670,100,44
1791537361,277.69,2670,100,44
1791537362,277.84,2670,100,44
1791537363,277.68,2670,100,44
1791537364,277.75,2670,100,44
1791537365,277.51,2670,100,44
1791537366,277.55,2670,100,44
1791537367,278.13,2670,100,44
1791537368,278.24,2670,100,44
1791537369,278.02,2670,100,44
1791537370,277.86,2670,100,44
1791537371,277.76,2670,100,45
1791537372,277.91,2670,100,45
1791537373,277.75,2670,100,45
1791537374,277.59,2670,100,45
1791537375,277.47,2670,100,45
1791537376,277.33,2670,100,45
1791537377,277.59,2670,100,45
1791537378,277.71,2670,100,45
1791537380,277.94,2670,100,45
1791537381,277.90,2670,100,45
1791537382,278.12,2670,100,45
1791537383,277.92,2670,100,45
1791537384,277.86,2670,100,45
1791537385,278.00,2670,100,45
1791537386,278.04,2670,100,45
1791537387,277.95,2670,100,45
1791537388,277.85,2670,100,45
1791537389,277.88,2670,100,45
1791537390,277.84,2670,100,45
1791537391,278.05,2670,100,45
1791537392,278.12,2670,100,45
1791537393,277.99,2670,100,45
1791537394,277.53,2670,100,45
1791537395,277.46,2670,100,45
1791537396,277.26,2670,100,45
1791537397,278.12,2670,100,45
1791537399,277.80,2670,100,45
1791537400,278.03,2670,100,45
1791537401,278.02,2670,100,45
1791537402,278.27,2670,100,45
1791537403,278.34,2670,100,45
1791537404,278.03,2670,100,45
1791537405,277.64,2670,96,45
1791537406,277.62,2670,100,45
1791537407,278.54,2670,100,45
1791537408,277.84,2670,100,45
1791537409,278.21,2670,100,46
1791537410,277.92,2670,100,46
1791537411,277.84,2670,100,46
1791537412,278.15,2670,100,46
1791537413,278.53,2670,100,46
1791537414,278.28,2670,100,46
1791537415,278.30,2670,100,46
1791537416,278.34,2670,100,46
1791537417,278.46,2670,100,46
1791537419,278.55,2670,100,46
1791537420,278.02,2670,100,46
1791537421,278.13,2670,100,46
1791537422,278.29,2670,100,46
1791537423,278.64,2670,100,46
1791537424,278.41,2670,100,46
1791537425,278.55,2670,100,46
1791537426,278.51,2670,100,46
1791537427,278.23,2670,100,46
1791537428,278.15,2670,100,46
1791537429,278.11,2670,100,46
1791537430,277.91,2670,100,46
1791537431,278.18,2670,100,46
1791537432,278.55,2670,100,46
1791537433,278.61,2670,100,46
1791537434,278.94,2670,100,46
1791537436,278.91,2670,100,46
1791537437,278.68,2670,100,46
1791537438,278.70,2670,100,46
1791537439,278.99,2670,100,46
1 1791537316 27.58 210 0 33
2 1791537317 39.70 2520 0 34
3 1791537318 86.60 2520 17 34
4 1791537319 80.95 2520 1 34
5 1791537320 205.81 2685 100 39
6 1791537321 274.61 2685 100 40
7 1791537322 274.92 2685 100 40
8 1791537324 275.11 2685 100 40
9 1791537325 275.49 2685 100 41
10 1791537326 275.89 2685 100 41
11 1791537327 275.90 2685 100 41
12 1791537328 275.99 2685 100 41
13 1791537329 276.30 2685 100 41
14 1791537330 276.09 2685 100 41
15 1791537331 276.41 2685 100 42
16 1791537332 276.95 2685 100 42
17 1791537333 276.94 2685 100 42
18 1791537334 276.71 2685 100 42
19 1791537335 276.70 2685 100 42
20 1791537336 276.50 2685 100 42
21 1791537337 276.80 2685 100 42
22 1791537338 276.93 2685 100 42
23 1791537339 276.93 2685 100 43
24 1791537340 276.72 2685 100 43
25 1791537341 276.92 2685 100 43
26 1791537343 277.05 2685 100 43
27 1791537344 277.20 2685 100 43
28 1791537345 277.20 2685 100 43
29 1791537346 277.04 2685 100 43
30 1791537347 276.66 2685 100 43
31 1791537348 277.09 2685 100 43
32 1791537349 277.14 2685 100 43
33 1791537350 276.90 2685 100 43
34 1791537351 277.09 2685 100 43
35 1791537352 277.24 2685 100 44
36 1791537353 277.51 2685 100 44
37 1791537354 277.56 2685 100 44
38 1791537355 277.63 2685 100 44
39 1791537356 277.40 2685 100 44
40 1791537357 277.61 2685 100 44
41 1791537358 277.57 2670 100 44
42 1791537359 277.49 2670 100 44
43 1791537361 277.69 2670 100 44
44 1791537362 277.84 2670 100 44
45 1791537363 277.68 2670 100 44
46 1791537364 277.75 2670 100 44
47 1791537365 277.51 2670 100 44
48 1791537366 277.55 2670 100 44
49 1791537367 278.13 2670 100 44
50 1791537368 278.24 2670 100 44
51 1791537369 278.02 2670 100 44
52 1791537370 277.86 2670 100 44
53 1791537371 277.76 2670 100 45
54 1791537372 277.91 2670 100 45
55 1791537373 277.75 2670 100 45
56 1791537374 277.59 2670 100 45
57 1791537375 277.47 2670 100 45
58 1791537376 277.33 2670 100 45
59 1791537377 277.59 2670 100 45
60 1791537378 277.71 2670 100 45
61 1791537380 277.94 2670 100 45
62 1791537381 277.90 2670 100 45
63 1791537382 278.12 2670 100 45
64 1791537383 277.92 2670 100 45
65 1791537384 277.86 2670 100 45
66 1791537385 278.00 2670 100 45
67 1791537386 278.04 2670 100 45
68 1791537387 277.95 2670 100 45
69 1791537388 277.85 2670 100 45
70 1791537389 277.88 2670 100 45
71 1791537390 277.84 2670 100 45
72 1791537391 278.05 2670 100 45
73 1791537392 278.12 2670 100 45
74 1791537393 277.99 2670 100 45
75 1791537394 277.53 2670 100 45
76 1791537395 277.46 2670 100 45
77 1791537396 277.26 2670 100 45
78 1791537397 278.12 2670 100 45
79 1791537399 277.80 2670 100 45
80 1791537400 278.03 2670 100 45
81 1791537401 278.02 2670 100 45
82 1791537402 278.27 2670 100 45
83 1791537403 278.34 2670 100 45
84 1791537404 278.03 2670 100 45
85 1791537405 277.64 2670 96 45
86 1791537406 277.62 2670 100 45
87 1791537407 278.54 2670 100 45
88 1791537408 277.84 2670 100 45
89 1791537409 278.21 2670 100 46
90 1791537410 277.92 2670 100 46
91 1791537411 277.84 2670 100 46
92 1791537412 278.15 2670 100 46
93 1791537413 278.53 2670 100 46
94 1791537414 278.28 2670 100 46
95 1791537415 278.30 2670 100 46
96 1791537416 278.34 2670 100 46
97 1791537417 278.46 2670 100 46
98 1791537419 278.55 2670 100 46
99 1791537420 278.02 2670 100 46
100 1791537421 278.13 2670 100 46
101 1791537422 278.29 2670 100 46
102 1791537423 278.64 2670 100 46
103 1791537424 278.41 2670 100 46
104 1791537425 278.55 2670 100 46
105 1791537426 278.51 2670 100 46
106 1791537427 278.23 2670 100 46
107 1791537428 278.15 2670 100 46
108 1791537429 278.11 2670 100 46
109 1791537430 277.91 2670 100 46
110 1791537431 278.18 2670 100 46
111 1791537432 278.55 2670 100 46
112 1791537433 278.61 2670 100 46
113 1791537434 278.94 2670 100 46
114 1791537436 278.91 2670 100 46
115 1791537437 278.68 2670 100 46
116 1791537438 278.70 2670 100 46
117 1791537439 278.99 2670 100 46

View file

@ -0,0 +1,117 @@
1791537460,27.78,210,0,33
1791537461,49.56,2520,0,34
1791537462,86.83,2520,43,34
1791537463,86.76,2520,0,33
1791537464,128.93,2685,100,38
1791537465,271.06,2685,100,39
1791537466,272.26,2685,100,40
1791537467,272.39,2685,100,40
1791537468,272.47,2685,100,40
1791537469,272.55,2685,100,40
1791537470,273.35,2685,100,40
1791537472,273.18,2685,100,41
1791537473,272.39,2685,100,41
1791537474,273.84,2685,100,41
1791537475,273.62,2685,99,41
1791537476,273.85,2685,100,41
1791537477,273.70,2685,100,41
1791537478,273.80,2685,100,41
1791537479,273.46,2685,100,42
1791537480,273.37,2685,100,42
1791537481,273.42,2685,100,42
1791537482,273.84,2685,100,42
1791537483,274.07,2685,100,42
1791537484,274.21,2685,100,42
1791537485,274.43,2685,100,42
1791537486,274.73,2685,100,42
1791537487,274.43,2685,100,42
1791537488,274.43,2685,100,43
1791537489,274.33,2685,100,43
1791537490,273.98,2685,100,43
1791537492,274.48,2685,100,43
1791537493,274.78,2685,100,43
1791537494,274.71,2685,100,43
1791537495,274.56,2685,100,43
1791537496,274.80,2685,100,43
1791537497,274.70,2685,100,43
1791537498,274.75,2685,100,43
1791537499,274.66,2685,100,43
1791537500,274.46,2685,100,43
1791537501,274.53,2685,100,43
1791537502,274.48,2685,100,43
1791537503,274.67,2685,100,44
1791537504,274.49,2685,100,44
1791537505,274.22,2685,100,44
1791537506,274.42,2685,100,44
1791537507,274.69,2685,100,44
1791537509,274.79,2685,100,44
1791537510,274.49,2685,100,44
1791537511,274.48,2670,100,44
1791537512,274.73,2670,100,44
1791537513,274.59,2670,100,44
1791537514,274.79,2670,100,44
1791537515,274.33,2670,100,44
1791537516,274.62,2670,100,44
1791537517,274.60,2670,100,44
1791537518,274.78,2670,100,44
1791537519,274.37,2670,97,44
1791537520,274.47,2670,100,44
1791537521,274.94,2670,100,44
1791537522,275.42,2670,100,44
1791537523,275.34,2670,100,44
1791537524,275.12,2670,100,44
1791537525,275.26,2670,100,44
1791537526,275.38,2670,100,45
1791537528,275.47,2670,100,45
1791537529,275.05,2670,100,44
1791537530,275.18,2670,100,45
1791537531,275.41,2670,100,45
1791537532,275.73,2670,100,45
1791537533,275.77,2670,100,45
1791537534,275.38,2670,100,45
1791537535,275.20,2670,100,45
1791537536,275.27,2670,100,45
1791537537,275.29,2670,100,45
1791537538,275.40,2670,100,45
1791537539,274.98,2670,100,45
1791537540,275.19,2670,100,45
1791537541,275.27,2670,100,45
1791537542,275.15,2670,100,45
1791537543,275.28,2670,100,45
1791537545,275.53,2670,100,45
1791537546,275.58,2670,100,45
1791537547,275.81,2670,100,45
1791537548,275.49,2670,100,45
1791537549,275.24,2670,100,45
1791537550,275.24,2670,100,45
1791537551,275.51,2670,100,45
1791537552,275.41,2670,100,45
1791537553,275.43,2670,100,45
1791537554,275.48,2670,100,45
1791537555,275.57,2670,100,45
1791537556,275.73,2670,100,45
1791537557,276.05,2670,100,45
1791537558,275.66,2670,100,45
1791537559,275.39,2670,100,45
1791537560,275.60,2670,100,45
1791537562,275.39,2670,100,45
1791537563,275.62,2670,100,45
1791537564,275.68,2670,100,45
1791537565,275.84,2670,100,45
1791537566,275.54,2670,100,45
1791537567,275.51,2670,100,45
1791537568,275.70,2670,100,45
1791537569,275.59,2670,100,45
1791537570,274.98,2670,100,45
1791537571,275.85,2670,100,45
1791537572,276.00,2670,100,45
1791537573,275.61,2670,100,45
1791537574,275.47,2670,100,45
1791537575,275.48,2670,100,45
1791537576,275.54,2670,100,45
1791537577,275.87,2670,100,45
1791537579,275.84,2670,100,45
1791537580,275.49,2670,100,45
1791537581,275.34,2670,100,46
1791537582,275.41,2670,100,46
1791537583,275.46,2670,100,46
1 1791537460 27.78 210 0 33
2 1791537461 49.56 2520 0 34
3 1791537462 86.83 2520 43 34
4 1791537463 86.76 2520 0 33
5 1791537464 128.93 2685 100 38
6 1791537465 271.06 2685 100 39
7 1791537466 272.26 2685 100 40
8 1791537467 272.39 2685 100 40
9 1791537468 272.47 2685 100 40
10 1791537469 272.55 2685 100 40
11 1791537470 273.35 2685 100 40
12 1791537472 273.18 2685 100 41
13 1791537473 272.39 2685 100 41
14 1791537474 273.84 2685 100 41
15 1791537475 273.62 2685 99 41
16 1791537476 273.85 2685 100 41
17 1791537477 273.70 2685 100 41
18 1791537478 273.80 2685 100 41
19 1791537479 273.46 2685 100 42
20 1791537480 273.37 2685 100 42
21 1791537481 273.42 2685 100 42
22 1791537482 273.84 2685 100 42
23 1791537483 274.07 2685 100 42
24 1791537484 274.21 2685 100 42
25 1791537485 274.43 2685 100 42
26 1791537486 274.73 2685 100 42
27 1791537487 274.43 2685 100 42
28 1791537488 274.43 2685 100 43
29 1791537489 274.33 2685 100 43
30 1791537490 273.98 2685 100 43
31 1791537492 274.48 2685 100 43
32 1791537493 274.78 2685 100 43
33 1791537494 274.71 2685 100 43
34 1791537495 274.56 2685 100 43
35 1791537496 274.80 2685 100 43
36 1791537497 274.70 2685 100 43
37 1791537498 274.75 2685 100 43
38 1791537499 274.66 2685 100 43
39 1791537500 274.46 2685 100 43
40 1791537501 274.53 2685 100 43
41 1791537502 274.48 2685 100 43
42 1791537503 274.67 2685 100 44
43 1791537504 274.49 2685 100 44
44 1791537505 274.22 2685 100 44
45 1791537506 274.42 2685 100 44
46 1791537507 274.69 2685 100 44
47 1791537509 274.79 2685 100 44
48 1791537510 274.49 2685 100 44
49 1791537511 274.48 2670 100 44
50 1791537512 274.73 2670 100 44
51 1791537513 274.59 2670 100 44
52 1791537514 274.79 2670 100 44
53 1791537515 274.33 2670 100 44
54 1791537516 274.62 2670 100 44
55 1791537517 274.60 2670 100 44
56 1791537518 274.78 2670 100 44
57 1791537519 274.37 2670 97 44
58 1791537520 274.47 2670 100 44
59 1791537521 274.94 2670 100 44
60 1791537522 275.42 2670 100 44
61 1791537523 275.34 2670 100 44
62 1791537524 275.12 2670 100 44
63 1791537525 275.26 2670 100 44
64 1791537526 275.38 2670 100 45
65 1791537528 275.47 2670 100 45
66 1791537529 275.05 2670 100 44
67 1791537530 275.18 2670 100 45
68 1791537531 275.41 2670 100 45
69 1791537532 275.73 2670 100 45
70 1791537533 275.77 2670 100 45
71 1791537534 275.38 2670 100 45
72 1791537535 275.20 2670 100 45
73 1791537536 275.27 2670 100 45
74 1791537537 275.29 2670 100 45
75 1791537538 275.40 2670 100 45
76 1791537539 274.98 2670 100 45
77 1791537540 275.19 2670 100 45
78 1791537541 275.27 2670 100 45
79 1791537542 275.15 2670 100 45
80 1791537543 275.28 2670 100 45
81 1791537545 275.53 2670 100 45
82 1791537546 275.58 2670 100 45
83 1791537547 275.81 2670 100 45
84 1791537548 275.49 2670 100 45
85 1791537549 275.24 2670 100 45
86 1791537550 275.24 2670 100 45
87 1791537551 275.51 2670 100 45
88 1791537552 275.41 2670 100 45
89 1791537553 275.43 2670 100 45
90 1791537554 275.48 2670 100 45
91 1791537555 275.57 2670 100 45
92 1791537556 275.73 2670 100 45
93 1791537557 276.05 2670 100 45
94 1791537558 275.66 2670 100 45
95 1791537559 275.39 2670 100 45
96 1791537560 275.60 2670 100 45
97 1791537562 275.39 2670 100 45
98 1791537563 275.62 2670 100 45
99 1791537564 275.68 2670 100 45
100 1791537565 275.84 2670 100 45
101 1791537566 275.54 2670 100 45
102 1791537567 275.51 2670 100 45
103 1791537568 275.70 2670 100 45
104 1791537569 275.59 2670 100 45
105 1791537570 274.98 2670 100 45
106 1791537571 275.85 2670 100 45
107 1791537572 276.00 2670 100 45
108 1791537573 275.61 2670 100 45
109 1791537574 275.47 2670 100 45
110 1791537575 275.48 2670 100 45
111 1791537576 275.54 2670 100 45
112 1791537577 275.87 2670 100 45
113 1791537579 275.84 2670 100 45
114 1791537580 275.49 2670 100 45
115 1791537581 275.34 2670 100 46
116 1791537582 275.41 2670 100 46
117 1791537583 275.46 2670 100 46

View file

@ -0,0 +1,117 @@
1791537604,27.51,210,0,33
1791537605,47.95,2520,0,33
1791537606,86.03,2520,0,34
1791537607,81.64,2520,0,33
1791537608,192.44,2685,100,38
1791537609,271.61,2685,100,39
1791537610,271.80,2685,100,40
1791537611,271.72,2685,100,40
1791537612,272.13,2685,100,40
1791537613,272.34,2685,100,40
1791537615,272.41,2685,100,40
1791537616,272.02,2685,100,41
1791537617,271.95,2685,100,41
1791537618,272.37,2685,100,41
1791537619,272.10,2685,100,41
1791537620,272.14,2685,100,41
1791537621,272.49,2685,100,41
1791537622,272.52,2685,100,41
1791537623,272.54,2685,100,42
1791537624,272.59,2685,100,42
1791537625,273.15,2685,100,42
1791537626,273.42,2685,100,42
1791537627,273.12,2685,100,42
1791537628,273.47,2685,100,42
1791537629,273.56,2685,100,42
1791537630,273.83,2685,100,42
1791537632,273.72,2685,100,42
1791537633,274.03,2685,100,43
1791537634,274.26,2685,100,43
1791537635,273.67,2685,100,43
1791537636,273.82,2685,100,43
1791537637,273.91,2685,100,43
1791537638,274.09,2685,100,43
1791537639,274.06,2685,100,43
1791537640,274.09,2685,100,43
1791537641,274.11,2685,100,43
1791537642,273.97,2685,100,43
1791537643,274.58,2685,100,43
1791537644,274.49,2685,100,43
1791537645,274.88,2685,100,43
1791537646,275.07,2685,100,43
1791537647,275.20,2685,100,44
1791537649,275.51,2685,100,44
1791537650,275.23,2685,100,44
1791537651,275.10,2685,100,44
1791537652,275.18,2685,100,44
1791537653,275.02,2685,100,44
1791537654,275.15,2670,100,44
1791537655,274.88,2670,100,44
1791537656,275.16,2670,100,44
1791537657,275.14,2670,100,44
1791537658,275.09,2670,100,44
1791537659,274.88,2670,100,44
1791537660,274.87,2670,100,44
1791537661,275.16,2670,100,44
1791537662,275.24,2670,100,44
1791537663,274.98,2670,100,44
1791537664,274.68,2670,100,44
1791537666,274.64,2670,100,44
1791537667,275.03,2670,100,44
1791537668,275.03,2670,100,44
1791537669,274.77,2670,100,44
1791537670,274.99,2670,100,45
1791537671,275.12,2670,100,45
1791537672,275.27,2670,100,45
1791537673,275.44,2670,100,45
1791537674,275.14,2670,100,45
1791537675,275.09,2670,100,45
1791537676,275.39,2670,100,45
1791537677,275.51,2670,100,45
1791537678,275.53,2670,100,45
1791537679,275.66,2670,100,45
1791537680,275.76,2670,100,45
1791537681,275.70,2670,100,45
1791537682,276.13,2670,100,45
1791537684,275.75,2670,100,45
1791537685,275.75,2670,100,45
1791537686,275.86,2670,100,45
1791537687,275.65,2670,100,45
1791537688,275.73,2670,100,45
1791537689,275.67,2670,100,45
1791537690,275.65,2670,100,45
1791537691,275.67,2670,100,45
1791537692,275.95,2670,100,45
1791537693,276.16,2670,100,45
1791537694,275.87,2670,100,45
1791537695,276.40,2670,100,45
1791537696,275.88,2670,100,45
1791537697,275.58,2670,100,45
1791537698,275.83,2670,100,45
1791537699,275.79,2670,100,45
1791537701,275.62,2670,100,45
1791537702,275.62,2670,100,45
1791537703,275.67,2670,100,45
1791537704,275.69,2670,100,45
1791537705,275.80,2670,100,45
1791537706,275.79,2670,100,45
1791537707,275.96,2670,100,45
1791537708,275.91,2670,100,45
1791537709,276.00,2670,100,45
1791537710,276.33,2670,100,45
1791537711,276.05,2670,100,45
1791537712,275.82,2670,100,45
1791537713,275.83,2670,100,45
1791537714,275.79,2670,100,45
1791537715,275.68,2670,100,45
1791537716,276.52,2670,100,45
1791537717,276.24,2670,100,45
1791537719,275.78,2670,100,45
1791537720,276.03,2670,100,46
1791537721,276.27,2670,100,46
1791537722,276.12,2670,100,46
1791537723,276.33,2670,100,46
1791537724,276.52,2670,100,46
1791537725,276.54,2670,100,46
1791537726,276.20,2670,100,46
1791537727,276.32,2670,100,46
1 1791537604 27.51 210 0 33
2 1791537605 47.95 2520 0 33
3 1791537606 86.03 2520 0 34
4 1791537607 81.64 2520 0 33
5 1791537608 192.44 2685 100 38
6 1791537609 271.61 2685 100 39
7 1791537610 271.80 2685 100 40
8 1791537611 271.72 2685 100 40
9 1791537612 272.13 2685 100 40
10 1791537613 272.34 2685 100 40
11 1791537615 272.41 2685 100 40
12 1791537616 272.02 2685 100 41
13 1791537617 271.95 2685 100 41
14 1791537618 272.37 2685 100 41
15 1791537619 272.10 2685 100 41
16 1791537620 272.14 2685 100 41
17 1791537621 272.49 2685 100 41
18 1791537622 272.52 2685 100 41
19 1791537623 272.54 2685 100 42
20 1791537624 272.59 2685 100 42
21 1791537625 273.15 2685 100 42
22 1791537626 273.42 2685 100 42
23 1791537627 273.12 2685 100 42
24 1791537628 273.47 2685 100 42
25 1791537629 273.56 2685 100 42
26 1791537630 273.83 2685 100 42
27 1791537632 273.72 2685 100 42
28 1791537633 274.03 2685 100 43
29 1791537634 274.26 2685 100 43
30 1791537635 273.67 2685 100 43
31 1791537636 273.82 2685 100 43
32 1791537637 273.91 2685 100 43
33 1791537638 274.09 2685 100 43
34 1791537639 274.06 2685 100 43
35 1791537640 274.09 2685 100 43
36 1791537641 274.11 2685 100 43
37 1791537642 273.97 2685 100 43
38 1791537643 274.58 2685 100 43
39 1791537644 274.49 2685 100 43
40 1791537645 274.88 2685 100 43
41 1791537646 275.07 2685 100 43
42 1791537647 275.20 2685 100 44
43 1791537649 275.51 2685 100 44
44 1791537650 275.23 2685 100 44
45 1791537651 275.10 2685 100 44
46 1791537652 275.18 2685 100 44
47 1791537653 275.02 2685 100 44
48 1791537654 275.15 2670 100 44
49 1791537655 274.88 2670 100 44
50 1791537656 275.16 2670 100 44
51 1791537657 275.14 2670 100 44
52 1791537658 275.09 2670 100 44
53 1791537659 274.88 2670 100 44
54 1791537660 274.87 2670 100 44
55 1791537661 275.16 2670 100 44
56 1791537662 275.24 2670 100 44
57 1791537663 274.98 2670 100 44
58 1791537664 274.68 2670 100 44
59 1791537666 274.64 2670 100 44
60 1791537667 275.03 2670 100 44
61 1791537668 275.03 2670 100 44
62 1791537669 274.77 2670 100 44
63 1791537670 274.99 2670 100 45
64 1791537671 275.12 2670 100 45
65 1791537672 275.27 2670 100 45
66 1791537673 275.44 2670 100 45
67 1791537674 275.14 2670 100 45
68 1791537675 275.09 2670 100 45
69 1791537676 275.39 2670 100 45
70 1791537677 275.51 2670 100 45
71 1791537678 275.53 2670 100 45
72 1791537679 275.66 2670 100 45
73 1791537680 275.76 2670 100 45
74 1791537681 275.70 2670 100 45
75 1791537682 276.13 2670 100 45
76 1791537684 275.75 2670 100 45
77 1791537685 275.75 2670 100 45
78 1791537686 275.86 2670 100 45
79 1791537687 275.65 2670 100 45
80 1791537688 275.73 2670 100 45
81 1791537689 275.67 2670 100 45
82 1791537690 275.65 2670 100 45
83 1791537691 275.67 2670 100 45
84 1791537692 275.95 2670 100 45
85 1791537693 276.16 2670 100 45
86 1791537694 275.87 2670 100 45
87 1791537695 276.40 2670 100 45
88 1791537696 275.88 2670 100 45
89 1791537697 275.58 2670 100 45
90 1791537698 275.83 2670 100 45
91 1791537699 275.79 2670 100 45
92 1791537701 275.62 2670 100 45
93 1791537702 275.62 2670 100 45
94 1791537703 275.67 2670 100 45
95 1791537704 275.69 2670 100 45
96 1791537705 275.80 2670 100 45
97 1791537706 275.79 2670 100 45
98 1791537707 275.96 2670 100 45
99 1791537708 275.91 2670 100 45
100 1791537709 276.00 2670 100 45
101 1791537710 276.33 2670 100 45
102 1791537711 276.05 2670 100 45
103 1791537712 275.82 2670 100 45
104 1791537713 275.83 2670 100 45
105 1791537714 275.79 2670 100 45
106 1791537715 275.68 2670 100 45
107 1791537716 276.52 2670 100 45
108 1791537717 276.24 2670 100 45
109 1791537719 275.78 2670 100 45
110 1791537720 276.03 2670 100 46
111 1791537721 276.27 2670 100 46
112 1791537722 276.12 2670 100 46
113 1791537723 276.33 2670 100 46
114 1791537724 276.52 2670 100 46
115 1791537725 276.54 2670 100 46
116 1791537726 276.20 2670 100 46
117 1791537727 276.32 2670 100 46

View file

@ -0,0 +1,118 @@
1791537747,27.40,210,0,33
1791537749,46.65,2520,0,33
1791537750,81.12,2520,0,33
1791537751,81.00,2520,0,33
1791537752,130.12,2685,100,38
1791537753,253.26,2685,100,39
1791537754,284.53,2685,100,40
1791537755,284.60,2685,100,40
1791537756,284.13,2685,100,40
1791537757,284.60,2685,100,41
1791537758,285.18,2685,100,41
1791537759,285.54,2685,100,41
1791537760,285.55,2685,100,41
1791537761,285.42,2685,100,42
1791537762,285.53,2685,100,42
1791537763,285.24,2685,100,42
1791537764,285.26,2685,100,42
1791537765,285.26,2685,100,42
1791537767,285.40,2685,100,42
1791537768,285.45,2685,100,42
1791537769,285.73,2685,100,43
1791537770,286.00,2685,100,43
1791537771,285.87,2685,100,43
1791537772,286.22,2685,100,43
1791537773,285.95,2685,100,43
1791537774,285.96,2685,100,43
1791537775,285.92,2685,100,43
1791537776,286.01,2685,100,43
1791537777,285.96,2685,100,44
1791537778,286.32,2685,100,44
1791537779,286.23,2685,100,44
1791537780,286.25,2685,100,44
1791537781,286.63,2670,100,44
1791537782,286.44,2670,100,44
1791537783,286.19,2670,100,44
1791537785,286.31,2670,100,44
1791537786,286.45,2670,100,44
1791537787,286.55,2670,100,44
1791537788,286.82,2670,100,44
1791537789,286.51,2670,100,44
1791537790,286.82,2670,100,44
1791537791,286.42,2670,100,45
1791537792,286.90,2670,100,45
1791537793,286.84,2670,100,45
1791537794,286.63,2670,100,45
1791537795,286.54,2670,100,45
1791537796,286.65,2670,100,45
1791537797,286.94,2670,100,45
1791537798,287.28,2670,100,45
1791537799,287.34,2670,100,45
1791537800,287.54,2670,100,45
1791537801,287.22,2670,100,45
1791537802,287.30,2670,100,45
1791537804,287.25,2670,100,45
1791537805,287.18,2670,100,45
1791537806,287.52,2670,100,45
1791537807,287.50,2670,100,45
1791537808,287.69,2670,100,45
1791537809,287.54,2670,100,45
1791537810,287.32,2670,100,46
1791537811,287.32,2670,100,46
1791537812,287.42,2670,100,46
1791537813,287.60,2670,100,46
1791537814,287.20,2670,100,46
1791537815,287.45,2670,100,46
1791537816,287.47,2670,100,46
1791537817,287.26,2670,100,46
1791537818,287.34,2670,100,46
1791537819,287.37,2670,100,46
1791537820,287.47,2670,100,46
1791537822,287.50,2670,100,46
1791537823,287.43,2670,100,46
1791537824,287.26,2670,100,46
1791537825,287.65,2670,100,46
1791537826,287.80,2670,100,46
1791537827,287.65,2670,100,46
1791537828,287.52,2670,100,46
1791537829,287.68,2670,100,46
1791537830,287.58,2670,100,46
1791537831,287.68,2670,100,46
1791537832,287.86,2670,100,46
1791537833,287.38,2670,100,46
1791537834,287.53,2670,100,46
1791537835,287.71,2670,100,46
1791537836,287.42,2670,100,46
1791537837,287.53,2670,100,46
1791537838,287.72,2670,100,46
1791537840,287.56,2670,100,46
1791537841,287.89,2670,100,46
1791537842,287.81,2670,100,46
1791537843,287.87,2670,100,46
1791537844,287.82,2670,100,46
1791537845,287.81,2670,100,46
1791537846,287.95,2670,100,46
1791537847,288.20,2670,100,46
1791537848,288.24,2670,100,46
1791537849,288.27,2670,100,46
1791537850,288.44,2670,100,46
1791537851,288.34,2670,100,46
1791537852,288.13,2670,100,47
1791537853,288.21,2670,100,47
1791537854,288.27,2670,100,47
1791537855,287.92,2670,100,47
1791537856,288.00,2670,100,47
1791537857,287.95,2670,100,47
1791537859,287.98,2670,100,47
1791537860,287.47,2670,100,46
1791537861,287.57,2670,100,47
1791537862,288.09,2670,100,47
1791537863,288.23,2670,100,47
1791537864,288.52,2670,100,47
1791537865,288.55,2670,100,47
1791537866,288.64,2670,100,47
1791537867,288.74,2670,100,47
1791537868,288.98,2670,100,47
1791537869,288.61,2670,100,47
1791537870,288.70,2670,100,47
1791537871,288.71,2670,100,47
1 1791537747 27.40 210 0 33
2 1791537749 46.65 2520 0 33
3 1791537750 81.12 2520 0 33
4 1791537751 81.00 2520 0 33
5 1791537752 130.12 2685 100 38
6 1791537753 253.26 2685 100 39
7 1791537754 284.53 2685 100 40
8 1791537755 284.60 2685 100 40
9 1791537756 284.13 2685 100 40
10 1791537757 284.60 2685 100 41
11 1791537758 285.18 2685 100 41
12 1791537759 285.54 2685 100 41
13 1791537760 285.55 2685 100 41
14 1791537761 285.42 2685 100 42
15 1791537762 285.53 2685 100 42
16 1791537763 285.24 2685 100 42
17 1791537764 285.26 2685 100 42
18 1791537765 285.26 2685 100 42
19 1791537767 285.40 2685 100 42
20 1791537768 285.45 2685 100 42
21 1791537769 285.73 2685 100 43
22 1791537770 286.00 2685 100 43
23 1791537771 285.87 2685 100 43
24 1791537772 286.22 2685 100 43
25 1791537773 285.95 2685 100 43
26 1791537774 285.96 2685 100 43
27 1791537775 285.92 2685 100 43
28 1791537776 286.01 2685 100 43
29 1791537777 285.96 2685 100 44
30 1791537778 286.32 2685 100 44
31 1791537779 286.23 2685 100 44
32 1791537780 286.25 2685 100 44
33 1791537781 286.63 2670 100 44
34 1791537782 286.44 2670 100 44
35 1791537783 286.19 2670 100 44
36 1791537785 286.31 2670 100 44
37 1791537786 286.45 2670 100 44
38 1791537787 286.55 2670 100 44
39 1791537788 286.82 2670 100 44
40 1791537789 286.51 2670 100 44
41 1791537790 286.82 2670 100 44
42 1791537791 286.42 2670 100 45
43 1791537792 286.90 2670 100 45
44 1791537793 286.84 2670 100 45
45 1791537794 286.63 2670 100 45
46 1791537795 286.54 2670 100 45
47 1791537796 286.65 2670 100 45
48 1791537797 286.94 2670 100 45
49 1791537798 287.28 2670 100 45
50 1791537799 287.34 2670 100 45
51 1791537800 287.54 2670 100 45
52 1791537801 287.22 2670 100 45
53 1791537802 287.30 2670 100 45
54 1791537804 287.25 2670 100 45
55 1791537805 287.18 2670 100 45
56 1791537806 287.52 2670 100 45
57 1791537807 287.50 2670 100 45
58 1791537808 287.69 2670 100 45
59 1791537809 287.54 2670 100 45
60 1791537810 287.32 2670 100 46
61 1791537811 287.32 2670 100 46
62 1791537812 287.42 2670 100 46
63 1791537813 287.60 2670 100 46
64 1791537814 287.20 2670 100 46
65 1791537815 287.45 2670 100 46
66 1791537816 287.47 2670 100 46
67 1791537817 287.26 2670 100 46
68 1791537818 287.34 2670 100 46
69 1791537819 287.37 2670 100 46
70 1791537820 287.47 2670 100 46
71 1791537822 287.50 2670 100 46
72 1791537823 287.43 2670 100 46
73 1791537824 287.26 2670 100 46
74 1791537825 287.65 2670 100 46
75 1791537826 287.80 2670 100 46
76 1791537827 287.65 2670 100 46
77 1791537828 287.52 2670 100 46
78 1791537829 287.68 2670 100 46
79 1791537830 287.58 2670 100 46
80 1791537831 287.68 2670 100 46
81 1791537832 287.86 2670 100 46
82 1791537833 287.38 2670 100 46
83 1791537834 287.53 2670 100 46
84 1791537835 287.71 2670 100 46
85 1791537836 287.42 2670 100 46
86 1791537837 287.53 2670 100 46
87 1791537838 287.72 2670 100 46
88 1791537840 287.56 2670 100 46
89 1791537841 287.89 2670 100 46
90 1791537842 287.81 2670 100 46
91 1791537843 287.87 2670 100 46
92 1791537844 287.82 2670 100 46
93 1791537845 287.81 2670 100 46
94 1791537846 287.95 2670 100 46
95 1791537847 288.20 2670 100 46
96 1791537848 288.24 2670 100 46
97 1791537849 288.27 2670 100 46
98 1791537850 288.44 2670 100 46
99 1791537851 288.34 2670 100 46
100 1791537852 288.13 2670 100 47
101 1791537853 288.21 2670 100 47
102 1791537854 288.27 2670 100 47
103 1791537855 287.92 2670 100 47
104 1791537856 288.00 2670 100 47
105 1791537857 287.95 2670 100 47
106 1791537859 287.98 2670 100 47
107 1791537860 287.47 2670 100 46
108 1791537861 287.57 2670 100 47
109 1791537862 288.09 2670 100 47
110 1791537863 288.23 2670 100 47
111 1791537864 288.52 2670 100 47
112 1791537865 288.55 2670 100 47
113 1791537866 288.64 2670 100 47
114 1791537867 288.74 2670 100 47
115 1791537868 288.98 2670 100 47
116 1791537869 288.61 2670 100 47
117 1791537870 288.70 2670 100 47
118 1791537871 288.71 2670 100 47

View file

@ -0,0 +1,24 @@
{
"run_id": "1p5x-x4-20261009",
"manifest_sha": "1a938abe4 (the frozen control); the forms on 1p5x-x4 b51d8c04b",
"evidence_dir": "docs/analysis/class-v6/1p5x/x4/README.md",
"boxes": [
"build-9",
"runpod:fk-x4-4090"
],
"cells": [
{
"cell": "rows:1p5x-x4",
"status": "NOT RUN",
"evidence": "docs/analysis/class-v6/1p5x/x4/README.md",
"note": "X4 of the 1.5x programme: three byte-identical reg64c address-mix forms (direct, generated, prefix). Equivalence measured: CPU differential EQUIVALENT (rows/VERDICT; the known-failed form refused first) and GPU self-test plus fingerprint e8f4f3289c6ee1fc on all forms. GPU pairs: RTX 4090 at stock only, g 0.959 to 0.969 at equal rate, with an occupancy confound. Chip rows modelled: 10 to 52 nJ per hash for the cheapest form. Arithmetic from 2.0x: r_new 1.86 to 1.99. No pass claimed. NOT RUN by the brief's rule (rows stay NOT RUN until the steward's X6). The knee, the 5090 and the occupancy control are BLOCKED or NOT RUN (README section 6). Island: the 4090 rows are on an island, not a network."
}
],
"method": "GPU",
"release_identity": {
"commit": "b51d8c04b (branch 1p5x-x4 off master a7f81d9a9)",
"binary": "igneum-pow ccb1bf0efebce4bb (build-9 release build of b51d8c04b); igneum-worker-cuda-gen6 804a6f7fea10a62e",
"network_object": "none (packs exported from the frozen object, program id 0x4de7b836cc40a4ea; no network)",
"activation": "none"
}
}

View file

@ -0,0 +1,3 @@
tally {('direct', 'AGREE'): 44, ('fold', 'AGREE'): 12, ('generated', 'AGREE'): 44, ('prefix', 'AGREE'): 44, ('wrong', 'DISAGREE'): 40, ('wrong', 'AGREE'): 4}
known-failed refused on every reg64c window and seed: True
VERDICT EQUIVALENT mismatches 0

View file

@ -0,0 +1,12 @@
form g a vs fold (slot, datapath) a vs model (slot, datapath) r_new at r0 2.0, same form both sides (vs fold slot, dp; vs model slot, dp)
direct 0.9606 0.9990, 0.9998 1.0726, 1.0150 1.923, 1.922, 1.791, 1.893
generated 0.9590 0.9668, 0.9925 1.0381, 1.0075 1.984, 1.933, 1.848, 1.904
prefix 0.9693 1.4508, 1.1004 1.5578, 1.1171 1.336, 1.762, 1.244, 1.735
grouped incremental 1.0000 (no GPU text) 0.9629, 0.9914 1.0339, 1.0065 2.077, 2.017, 1.934, 1.987
best pair: the card on 'generated' (g 0.9590), the specialist on 'grouped incremental'
r0 2.0: vs fold slot: a 0.9629 r_new 1.992; vs fold datapath: a 0.9914 r_new 1.935; vs model slot: a 1.0339 r_new 1.855; vs model datapath: a 1.0065 r_new 1.906
r0 1.9: vs fold slot: a 0.9629 r_new 1.892; vs fold datapath: a 0.9914 r_new 1.838; vs model slot: a 1.0339 r_new 1.762; vs model datapath: a 1.0065 r_new 1.810
r0 2.1: vs fold slot: a 0.9629 r_new 2.092; vs fold datapath: a 0.9914 r_new 2.031; vs model slot: a 1.0339 r_new 1.948; vs model datapath: a 1.0065 r_new 2.001
the yardstick: from 2.0, 1.5 needs g / a = 0.75

View file

@ -0,0 +1,19 @@
# loads per hash executed 256 (32 per iteration x 8); base writes per iteration 128 (112 to r8..r63); shadow writes per pass 256, all in r0..r7
form mix ops X extra reads A flop bits F state bits per lane slot nJ (lo c hi) datapath nJ (lo c hi) state ports
fold (frozen) 16128 16128 0 0 101.0 112.7 139.4 20.2 23.2 30.2 the 64 x 32-bit window only 63 window reads per load
direct 15872 16128 0 0 99.4 111.0 137.4 19.9 22.9 30.0 the window only 63 window reads per load (a tree: depth 6, same reads)
generated (GPU text: recompute at load) 8400 5792 20224 256 52.5 58.2 70.9 10.5 11.5 14.1 +8 x 32-bit group sums per lane (32 B, flops) group recomputes read 8 registers each; the in-group partial reads up to 7
prefix (F05 text: running S on every write) 121320 8160 1802240 32 785.2 852.3 1003.9 177.4 179.0 182.5 +1 x 32-bit running total per lane (flops) the old value of every written register (main and shadow) rotated into S
grouped incremental (chip only, by the same identity) 7560 2784 36864 256 47.2 51.8 62.3 9.4 9.9 11.1 +8 x 32-bit group sums per lane (32 B) groups 1..7 move on base writes to r8..r63; group 0 recomputed at each load (8 reads)
# a = (machine + form) / machine, machine 1.528 microjoules (N5, GDDR7 board, no mix term); per-lane-op delta over the 102,612 shadow+base lane-ops
fold (frozen) slot +112.7 nJ a 1.0738 per lane-op +1.098 pJ of the shadow +16.8 percent
fold (frozen) dp +23.2 nJ a 1.0152 per lane-op +0.226 pJ of the shadow +3.5 percent
direct slot +111.0 nJ a 1.0727 per lane-op +1.082 pJ of the shadow +16.5 percent
direct dp +22.9 nJ a 1.0150 per lane-op +0.223 pJ of the shadow +3.4 percent
generated (GPU text: recompute at load) slot +58.2 nJ a 1.0381 per lane-op +0.567 pJ of the shadow +8.7 percent
generated (GPU text: recompute at load) dp +11.5 nJ a 1.0076 per lane-op +0.112 pJ of the shadow +1.7 percent
prefix (F05 text: running S on every write) slot +852.3 nJ a 1.5578 per lane-op +8.306 pJ of the shadow +126.8 percent
prefix (F05 text: running S on every write) dp +179.0 nJ a 1.1171 per lane-op +1.744 pJ of the shadow +26.6 percent
grouped incremental (chip only, by the same identity) slot +51.8 nJ a 1.0339 per lane-op +0.505 pJ of the shadow +7.7 percent
grouped incremental (chip only, by the same identity) dp +9.9 nJ a 1.0065 per lane-op +0.096 pJ of the shadow +1.5 percent

View file

@ -0,0 +1,15 @@
run pack MH/s W nJ per hash sm MHz util samples regs blocks/SM fingerprint check
01-hl-v6-all hl-v6-all 35.081 286.7 8172 2678 100 110 93 20 e8f4f3289c6ee1fc PASS
02-x4-direct x4-direct 35.022 275.2 7857 2676 100 109 182 8 e8f4f3289c6ee1fc PASS
03-x4-generated x4-generated 35.055 275.1 7847 2675 100 109 142 12 e8f4f3289c6ee1fc PASS
04-x4-prefix x4-prefix 34.971 277.2 7926 2675 100 111 154 12 e8f4f3289c6ee1fc PASS
05-x4-prefix x4-prefix 35.050 277.7 7922 2674 100 110 154 12 e8f4f3289c6ee1fc PASS
06-x4-generated x4-generated 35.053 274.9 7842 2676 100 109 142 12 e8f4f3289c6ee1fc PASS
07-x4-direct x4-direct 35.022 274.9 7850 2675 100 109 182 8 e8f4f3289c6ee1fc PASS
08-hl-v6-all hl-v6-all 35.081 287.1 8184 2673 100 111 93 20 e8f4f3289c6ee1fc PASS
pair form pass 1 rate % pass 1 J/hash % pass 2 rate % pass 2 J/hash % mean rate % mean J/hash % g (J/hash ratio)
A/A hl-v6-all run 8 vs run 1 +0.00 +0.15
pair x4-direct -0.17 -3.85 -0.17 -4.08 -0.17 -3.97 0.9603
pair x4-generated -0.07 -3.98 -0.08 -4.18 -0.08 -4.08 0.9592
pair x4-prefix -0.31 -3.01 -0.09 -3.21 -0.20 -3.11 0.9689

View file

@ -0,0 +1,15 @@
run pack MH/s W nJ per hash sm MHz util samples regs blocks/SM fingerprint check
01-hl-v6-all hl-v6-all 35.080 285.4 8134 2679 100 111 93 20 e8f4f3289c6ee1fc PASS
02-x4-direct x4-direct 35.021 274.5 7839 2681 100 109 182 8 e8f4f3289c6ee1fc PASS
03-x4-generated x4-generated 35.053 274.2 7824 2680 100 110 142 12 e8f4f3289c6ee1fc PASS
04-x4-prefix x4-prefix 35.056 277.1 7905 2680 100 109 154 12 e8f4f3289c6ee1fc PASS
05-x4-prefix x4-prefix 35.053 277.8 7926 2679 100 110 154 12 e8f4f3289c6ee1fc PASS
06-x4-generated x4-generated 35.056 274.8 7840 2678 100 109 142 12 e8f4f3289c6ee1fc PASS
07-x4-direct x4-direct 35.020 274.9 7851 2677 100 111 182 8 e8f4f3289c6ee1fc PASS
08-hl-v6-all hl-v6-all 35.054 287.4 8199 2674 100 110 93 20 e8f4f3289c6ee1fc PASS
pair form pass 1 rate % pass 1 J/hash % pass 2 rate % pass 2 J/hash % mean rate % mean J/hash % g (J/hash ratio)
A/A hl-v6-all run 8 vs run 1 -0.07 +0.80
pair x4-direct -0.17 -3.63 -0.10 -4.25 -0.13 -3.94 0.9606
pair x4-generated -0.08 -3.82 +0.01 -4.38 -0.04 -4.10 0.9590
pair x4-prefix -0.07 -2.82 -0.00 -3.33 -0.04 -3.07 0.9693

View file

@ -0,0 +1,15 @@
test reg64form::tests::x4_forms_equal_the_fold_and_the_wrong_form_is_refused ... ok
test result: ok. 76 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 140.72s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
test result: ok. 2 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.42s
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.80s
test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.37s
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.03s
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.85s
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.01s
test result: ok. 12 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 20.99s
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
EXIT 0

View file

@ -0,0 +1,188 @@
ctx01 direct D@0 AGREE
ctx01 direct D1@1572864 AGREE
ctx01 direct D1@3141632 AGREE
ctx01 direct D@1568768 AGREE
ctx01 fold D@0 AGREE
ctx01 fold D1@1572864 AGREE
ctx01 fold D1@3141632 AGREE
ctx01 fold D@1568768 AGREE
ctx01 generated D@0 AGREE
ctx01 generated D1@1572864 AGREE
ctx01 generated D1@3141632 AGREE
ctx01 generated D@1568768 AGREE
ctx01 prefix D@0 AGREE
ctx01 prefix D1@1572864 AGREE
ctx01 prefix D1@3141632 AGREE
ctx01 prefix D@1568768 AGREE
ctx01 wrong D@0 DISAGREE
ctx01 wrong D1@1572864 DISAGREE
ctx01 wrong D1@3141632 DISAGREE
ctx01 wrong D@1568768 DISAGREE
ctx02 direct D@0 AGREE
ctx02 direct D1@1572864 AGREE
ctx02 direct D1@3141632 AGREE
ctx02 direct D@1568768 AGREE
ctx02 fold D@0 AGREE
ctx02 fold D1@1572864 AGREE
ctx02 fold D1@3141632 AGREE
ctx02 fold D@1568768 AGREE
ctx02 generated D@0 AGREE
ctx02 generated D1@1572864 AGREE
ctx02 generated D1@3141632 AGREE
ctx02 generated D@1568768 AGREE
ctx02 prefix D@0 AGREE
ctx02 prefix D1@1572864 AGREE
ctx02 prefix D1@3141632 AGREE
ctx02 prefix D@1568768 AGREE
ctx02 wrong D@0 DISAGREE
ctx02 wrong D1@1572864 DISAGREE
ctx02 wrong D1@3141632 DISAGREE
ctx02 wrong D@1568768 DISAGREE
ctx03 direct D@0 AGREE
ctx03 direct D1@1572864 AGREE
ctx03 direct D1@3141632 AGREE
ctx03 direct D@1568768 AGREE
ctx03 fold D@0 AGREE
ctx03 fold D1@1572864 AGREE
ctx03 fold D1@3141632 AGREE
ctx03 fold D@1568768 AGREE
ctx03 generated D@0 AGREE
ctx03 generated D1@1572864 AGREE
ctx03 generated D1@3141632 AGREE
ctx03 generated D@1568768 AGREE
ctx03 prefix D@0 AGREE
ctx03 prefix D1@1572864 AGREE
ctx03 prefix D1@3141632 AGREE
ctx03 prefix D@1568768 AGREE
ctx03 wrong D@0 AGREE
ctx03 wrong D1@1572864 AGREE
ctx03 wrong D1@3141632 AGREE
ctx03 wrong D@1568768 AGREE
fuzz0 direct AGREE
fuzz0 generated AGREE
fuzz0 prefix AGREE
fuzz0 wrong DISAGREE
fuzz10 direct AGREE
fuzz10 generated AGREE
fuzz10 prefix AGREE
fuzz10 wrong DISAGREE
fuzz11 direct AGREE
fuzz11 generated AGREE
fuzz11 prefix AGREE
fuzz11 wrong DISAGREE
fuzz12 direct AGREE
fuzz12 generated AGREE
fuzz12 prefix AGREE
fuzz12 wrong DISAGREE
fuzz13 direct AGREE
fuzz13 generated AGREE
fuzz13 prefix AGREE
fuzz13 wrong DISAGREE
fuzz14 direct AGREE
fuzz14 generated AGREE
fuzz14 prefix AGREE
fuzz14 wrong DISAGREE
fuzz15 direct AGREE
fuzz15 generated AGREE
fuzz15 prefix AGREE
fuzz15 wrong DISAGREE
fuzz16 direct AGREE
fuzz16 generated AGREE
fuzz16 prefix AGREE
fuzz16 wrong DISAGREE
fuzz17 direct AGREE
fuzz17 generated AGREE
fuzz17 prefix AGREE
fuzz17 wrong DISAGREE
fuzz18 direct AGREE
fuzz18 generated AGREE
fuzz18 prefix AGREE
fuzz18 wrong DISAGREE
fuzz19 direct AGREE
fuzz19 generated AGREE
fuzz19 prefix AGREE
fuzz19 wrong DISAGREE
fuzz1 direct AGREE
fuzz1 generated AGREE
fuzz1 prefix AGREE
fuzz1 wrong DISAGREE
fuzz20 direct AGREE
fuzz20 generated AGREE
fuzz20 prefix AGREE
fuzz20 wrong DISAGREE
fuzz21 direct AGREE
fuzz21 generated AGREE
fuzz21 prefix AGREE
fuzz21 wrong DISAGREE
fuzz22 direct AGREE
fuzz22 generated AGREE
fuzz22 prefix AGREE
fuzz22 wrong DISAGREE
fuzz23 direct AGREE
fuzz23 generated AGREE
fuzz23 prefix AGREE
fuzz23 wrong DISAGREE
fuzz24 direct AGREE
fuzz24 generated AGREE
fuzz24 prefix AGREE
fuzz24 wrong DISAGREE
fuzz25 direct AGREE
fuzz25 generated AGREE
fuzz25 prefix AGREE
fuzz25 wrong DISAGREE
fuzz26 direct AGREE
fuzz26 generated AGREE
fuzz26 prefix AGREE
fuzz26 wrong DISAGREE
fuzz27 direct AGREE
fuzz27 generated AGREE
fuzz27 prefix AGREE
fuzz27 wrong DISAGREE
fuzz28 direct AGREE
fuzz28 generated AGREE
fuzz28 prefix AGREE
fuzz28 wrong DISAGREE
fuzz29 direct AGREE
fuzz29 generated AGREE
fuzz29 prefix AGREE
fuzz29 wrong DISAGREE
fuzz2 direct AGREE
fuzz2 generated AGREE
fuzz2 prefix AGREE
fuzz2 wrong DISAGREE
fuzz30 direct AGREE
fuzz30 generated AGREE
fuzz30 prefix AGREE
fuzz30 wrong DISAGREE
fuzz31 direct AGREE
fuzz31 generated AGREE
fuzz31 prefix AGREE
fuzz31 wrong DISAGREE
fuzz3 direct AGREE
fuzz3 generated AGREE
fuzz3 prefix AGREE
fuzz3 wrong DISAGREE
fuzz4 direct AGREE
fuzz4 generated AGREE
fuzz4 prefix AGREE
fuzz4 wrong DISAGREE
fuzz5 direct AGREE
fuzz5 generated AGREE
fuzz5 prefix AGREE
fuzz5 wrong DISAGREE
fuzz6 direct AGREE
fuzz6 generated AGREE
fuzz6 prefix AGREE
fuzz6 wrong DISAGREE
fuzz7 direct AGREE
fuzz7 generated AGREE
fuzz7 prefix AGREE
fuzz7 wrong DISAGREE
fuzz8 direct AGREE
fuzz8 generated AGREE
fuzz8 prefix AGREE
fuzz8 wrong DISAGREE
fuzz9 direct AGREE
fuzz9 generated AGREE
fuzz9 prefix AGREE
fuzz9 wrong DISAGREE

View file

@ -0,0 +1,290 @@
# B1 (R15-05): the published MTP/DRSample primitive, reproduced
Track B of the 1.5x Research Programme, item B1, 9 October 2026. Lane: the cryptography lane. Box: build-6 (32 vCPU,
CPU only). Status of every row: NOT RUN until the panel reads it. This lane writes no PASS.
What this is: an exact CPU reference of the Merkle Tree Proof framework of Blocki and Smearsoll (TCC 2025) over the
DRSample graph, its complete verifier, known-answer fixtures, honest-prover rows and malicious-prover fixtures. It is a
control and a specification. It is not an Igneum work unit, it carries no lottery, and nothing here activates.
## 1. Sources (full PDFs, fetched on build-6, sha256 of the bytes as fetched)
eprint.iacr.org answers the build boxes with a Cloudflare managed challenge. No check was bypassed: the eprint PDFs
were taken from the Internet Archive's snapshot of the eprint URL (`web.archive.org/web/<date>id_/https://eprint.iacr.org/<id>.pdf`).
| key | paper | source as fetched | sha256 | pages |
|---|---|---|---|---|
| [BS25] | Blocki, Smearsoll, Provably Memory-Hard Proofs of Work With Memory-Easy Verification, TCC 2025 | eprint 2025/1456, archive snapshot 2025-12-31T15:20:15Z | `13c3646e7d85c1aa58a92914582caab5798d90cf2a3cad33e58d81d49c1d31db` | 46 |
| [DN17] | Dinur, Nadler, Time-Memory Tradeoff Attacks on the MTP Proof-of-Work Scheme, CRYPTO 2017 | eprint 2017/497, archive snapshot 2026-05-09T02:34:47Z | `d2fd7774535dd3226bb4a767d4930a5c3a91ac6ed2f1421ee511b66ea37b0b03` | 30 |
| [ABH17] | Alwen, Blocki, Harsha, Practical Graphs for Optimal Side-Channel Resistant Memory-Hard Functions, CCS 2017 | eprint 2017/443, archive snapshot 2025-12-10T21:05:18Z | `f8e08d361118120c905550d3ac63efffe2a806d68276b070c24e7aa15d8fa8eb` | 17 |
| [BK16] | Biryukov, Khovratovich, Egalitarian computing (MTP 1.2) | arXiv 1606.03588v2 | `5dca4aef485f480cf010b744a9c0252a8460dd4a31152ffedeba70ef77399623` | 16 |
The [BS25] bytes were fetched twice, once by the B3 lane and once by this lane from the same snapshot. Both reads gave the
same sha256. The copies are at `build-6:/srv/builds/mhpow-b1/papers/`. Row O-3 records that each is "the revision as
archived" and has not been checked against eprint's current revision.
What each source supplies to the code:
| what | where in the paper | code |
|---|---|---|
| labelling game, local consistency, parents in ascending order | [BS25] Sec 2.2 | `mtp.label_of`, `mtp.compute_labels` |
| the framework: Prove steps 1 to 4, Verify steps 1 to 4 | [BS25] Sec 3.2 | `mtp.prove_commit`, `mtp.respond`, `mtp.verify` |
| Merkle construction, reveal, check | [BS25] Sec 3.2 step 2, Sec 4.1, App. C.1, Def. 15, App. C.2 | `mtp.MerkleTree`, `MerkleTree.reveal`, `mtp.merkle_tree_check` |
| challenges c_i = H(chi, i, tau) mod N | [BS25] Sec 3.2 step 3, Sec 5 Def. 14 | `mtp.challenges` |
| soundness chain implemented against | [BS25] Theorem 4, Theorem 6, Theorem 7, Corollary 1, Corollary 2, Fact 8, Corollary 3 | section 6 (k), section 7 (attacks) |
| the paper's own attack | [BS25] Sec 7.1 Attack 1 | `attacks.a5_attack1` |
| the DRSample edge rule (cited by [BS25] Sec 6.1, defined only here) | [ABH17] Sec 3, Algorithm 1 | `drsample.get_parent`, `drsample.parents` |
| DRSample's proven depth-robustness constants | [ABH17] Theorem 3.1 | `k_table.py` |
| the attacks on MTP-Argon2d | [DN17] Sec 4.1, 4.3, 5, 8 | `attacks.a1` to `a4` |
## 2. Parameters and the decisions the paper leaves open
[BS25] fixes the construction abstractly. It has a random oracle H with lambda-bit output, labels H(chi, v, parent
labels), Merkle nodes H(chi, left, right) and challenges H(chi, i, tau) mod N. It names no hash, no lambda, no byte
encoding, no domain tag, and no concrete N or k. Every such choice below is this lane's. Each is pinned in
`tools/mhpow/b1/params.py` with its reason. The B2 lane agreed to them before the first fixture was cut and moved its instance layout to them.
| symbol | value | basis |
|---|---|---|
| H | BLAKE2b, 32-byte digest, unkeyed | B1 decision: one oracle for B1, B2 (chi) and B3 (GPU oracle) |
| lambda | 256 | B1 decision; see row O-4 for what [BS25] Lemma 3 then covers |
| chi | 32 bytes (B2: BLAKE2b-256('I' \|\| 328-byte instance)) | [BS25] Def. 5 input string; layout is B2's |
| domain tags | 'L' label, 'M' Merkle node, 'C' challenge, 'G' graph draw ('I' is B2's) | B1 decision on top of the paper's salt-only separation (finding F-1) |
| integers | node index v and challenge index i as u64 little-endian | B1 decision |
| G | DRSample(N), [ABH17] Alg. 1, indegree 2, sampled once from a public 32-byte seed | [BS25] Sec 1.2 needs G fixed a priori (finding F-2) |
| N | 2^n with n = 4, 8, 12, 16, 20 (fixtures) and 12 to 24 (rows) | the paper states no N (row O-2) |
| k | 8 at n = 4, 64 otherwise | fixture sizes only, NOT a security level (row O-1) |
| leaves | the raw 32-byte labels, not hashed | [BS25] Sec 3.2 step 2: tau_v = l_{1+bin(v)} |
| tree layout | the bit taken at depth j from the root is bit j-1 of the leaf index | [BS25] Sec 3.2: bin(v) = sum v_i 2^(i-1) (row R-3) |
| openings | per challenge: node c_i + 1 and each of its parents, each with its own full path | [BS25] Sec 3.2 step 3(a)(b); no path sharing |
Exact query byte layouts (every query is one BLAKE2b block, 41 to 105 bytes):
```
label, node 1 H('L' || chi || u64(1))
label, node v >= 2 H('L' || chi || u64(v) || l_p1 || ... ) parents ascending; node 2 has the one parent 1
Merkle inner node H('M' || chi || left || right)
challenge i (1..k) c_i = int_le(H('C' || chi || u64(i) || tau)) mod N opened node c_i + 1, leaf index c_i
graph draw H('G' || graph_seed || u64(v) || u8(which) || u64(ctr)) first 8 bytes, rejection sampling
proof container "B1MTPDR1" | n u8 | k u32le | tau 32 | per challenge: label 32 | n x 32 | count u8 | per parent: label 32 | n x 32
```
graph_seed = BLAKE2b-256("igneum/mhpow/b1/drsample-graph-seed/v1") =
`params.GRAPH_SEED` (the fixtures carry it in hex).
## 3. The construction in words, tied to the code
1. Graph ([ABH17] Alg. 1; `drsample.parents`). Nodes 1..N. Node 1 has no parent and node 2 has the parent 1. Every
node v >= 3 has the parents v - 1 and v - r. To pick r, first draw g' uniformly from [1, floor(log2 v) + 1] and set
g = min(v - 1, 2^g'). Then draw r uniformly from [max(ceil(g/2), 2), g]. So r >= 2 and the two parents are distinct.
The draws come from the public seed, so the graph is a fixed public object, never a function of chi.
2. Labels ([BS25] Sec 2.2, Sec 3.2 step 1; `mtp.compute_labels`). In topological order, l_v = H('L', chi, v, parent
labels). This is one sequential pass of N oracle calls, holding 32N bytes.
3. Commitment ([BS25] Sec 3.2 step 2, App. C.1; `mtp.MerkleTree`). A binary tree of depth n over the raw labels. The
tree is salted by chi, and the leaf for node w sits at leaf index w - 1 with LSB-at-root position bits. tau is the root.
4. Challenges ([BS25] Sec 3.2 step 3; `mtp.challenges`). c_i = H('C', chi, i, tau) mod N for i = 1..k. N divides
2^256, so the reduction is exactly uniform.
5. Proof ([BS25] Sec 3.2 step 3(a)(b) and step 4; `mtp.respond`, `Proof.to_bytes`). For each i, the proof carries
l_{c_i+1} with its n siblings, then each parent's label with its n siblings. No positions are carried: the verifier
derives every position.
6. Verifier ([BS25] Sec 3.2 Verify; `mtp.verify`). Each check is a named function. They run in the paper's order and the
first failure is returned by name:
| check | paper | refuses |
|---|---|---|
| `check_0_container` | B1 addition (parsing) | wrong N, wrong k, truncation, trailing bytes, bad magic |
| `check_1_challenges` | Verify step 1 | (derives c'_i from the proof's tau; it cannot fail, it binds positions) |
| `check_2a_parent_set` | Verify step 2 (separating L into the parents of c_i + 1) | a skipped or extra parent opening |
| `check_2b_merkle_openings` | Verify step 2, App. C.2 MerkleTreeCheck | a wrong label, wrong path, wrong position, wrong chi, wrong Merkle tag |
| `check_3_local_consistency` | Verify step 3 | a red challenged node (including a label made with the wrong tag) |
| accept | Verify step 4 | |
Known-failed tests (`tools/mhpow/b1/test_b1.py`). The suite has 17 tests and all 17 ran OK on build-6. Each refusal is
asserted by the name of the check that fires:
| test | the wrong thing | refused by |
|---|---|---|
| test_wrong_label | one bit of a challenged label | check_2b_merkle_openings |
| test_wrong_parent_label | one bit of a parent label | check_2b_merkle_openings |
| test_wrong_path | one bit of one sibling hash | check_2b_merkle_openings |
| test_wrong_challenge | responses for i = 2..k+1 instead of 1..k | check_2a_parent_set or check_2b_merkle_openings |
| test_skipped_parent | one parent opening dropped | check_2a_parent_set |
| test_duplicated_parent_position | both openings for the same parent ([BK16] App. B, Bevand's attack 2 class) | check_2b_merkle_openings |
| test_wrong_domain_tag_label | the whole array labelled with tag 'M', committed honestly | check_3_local_consistency |
| test_wrong_domain_tag_merkle | the tree built with tag 'L' | check_2b_merkle_openings |
| test_wrong_chi | a valid proof verified against another chi | check_2b_merkle_openings |
| test_container | truncated, extended, wrong k, wrong n | check_0_container |
| test_every_check_has_a_refusal | each refusing check shown to fire at least once | all four |
| graph and Merkle tests | edge rule and bucket ranges, determinism, bucket spread, every-leaf reveal and check, LSB-at-root layout | |
## 4. Known-answer fixtures
Command (build-6, under `/srv/builds/mhpow-b1/run.pid`, mirrored to `build-1:/srv/queue/pids/build-6-b1.pid`):
`tools/mhpow/b1/run-b1.sh /srv/builds/mhpow-b1/out-final2 all` (09:33:52Z to 09:36:50Z). The fixtures are deterministic.
Four runs (`out`, `out-repeat`, `out-final`, `out-final2`) produced byte-identical kat files, and two runs byte-identical attack
files (attacks-n10-k16.json sha256 `805035ebfc8d2f34441325b5d5ca46c67e81f7d0b0b86f62ba1a906964b8c51f`). chi for the fixture at n is
BLAKE2b-256("B1-fixture" || "kat" || u64(n)).
| fixture | n | k | tau (first 16 hex) | proof bytes | json sha256 | proof.bin sha256 |
|---|---|---|---|---|---|---|
| kat-n04 | 4 | 8 | 9f98a28d3d84dbdc | 3,893 | `9f85b22ae54785e0e078630f890036713cf3925b7e1345bd949c6945d2702f7f` | `481a39fa47ff4d3393f34e15e318ee4bda7683ee457d3b9da79d277c9ba2831d` |
| kat-n08 | 8 | 64 | 90cb87eabf42f4c1 | 55,405 | `2c741be9a5a7c47773f902ed024c49188eacfc84f9cabdf34244f289e77f51f7` | `d45a9756b8d66357eaee34f1efa3b5fc975e25fcf7b7eb5a516746c6e078bbc7` |
| kat-n12 | 12 | 64 | 884d36cd2df99fa9 | 79,981 | `51ccacd3030d97ec371d8cc8ea64fbb362f00bd323bd84827105c89b4eb30864` | `3c7de0539a8715e75d3d64eb11ec3af7d8a2a338c101958a0c29e300c3ad4f7f` |
| kat-n16 | 16 | 64 | 41e05146c5819b21 | 104,557 | `240f50bc5ac5e12c7630f24c072bf291fb6ab9644530badcd1c41c7a7341440c` | `793fd4d505155f133c8acf1c657a98795f29f7d6cba2568570c8324c42fb1118` |
| kat-n20 | 20 | 64 | e3d83489e27af44b | 129,133 | `fd0d75b66af9cbd9ef12e63d571036f41bdac0e1d21e1f4d98559deb98502392` | `a49367d9c80f0855504fe1f0994acbd5ddc4b023eaf5904a28ad5f7e71ce951c` |
kat-n04 and kat-n08 carry every parent, every label and the proof inline. kat-n12 to kat-n20 carry chi, tau, the
challenges, the sha256 of the parent table (u64le), the sha256 of the label array and the proof sha256. The verifier
accepted each one from bytes. The fixture files are in `tools/mhpow/b1/fixtures/` with their `SHA256SUMS`.
## 5. Honest-prover rows (no hash-rate comparison anywhere)
Software: `tools/mhpow/b1` at this branch, CPython 3.12.3, single thread. Hardware: build-6 (Hetzner Cloud ccx53,
32 vCPU), shared with two other lanes' fuzz and sweep jobs at the time, so the times are loaded wall times. Boundary:
process wall clock only, no power measured, stock clocks. These are a reference implementation's times. They are not a
GPU figure, an optimised figure or an energy figure. Command: `run-b1.sh <out> rows` (one process per N, so each RSS is
its own). Rows: `fixtures/row-nXX-k64.json`.
| n | N | prover sequential s (labels + Merkle + proof) | labels s | Merkle s | graph sample s (one-time, public) | prover state model bytes (96N - 32) | peak RSS measured | proof bytes (k 64) | verify s (from bytes) | verifier oracle calls |
|---|---|---|---|---|---|---|---|---|---|---|
| 12 | 4,096 | 0.010 | 0.004 | 0.006 | 0.013 | 393,184 | 19.7 MB | 79,981 | 0.0027 | 2,432 |
| 16 | 65,536 | 0.180 | 0.062 | 0.115 | 0.204 | 6,291,424 | 39.9 MB | 104,557 | 0.0032 | 3,200 |
| 20 | 1,048,576 | 3.48 | 1.03 | 2.41 | 3.31 | 100,663,264 | 355.7 MB | 129,133 | 0.0040 | 3,968 |
| 22 | 4,194,304 | 14.91 | 4.35 | 10.39 | 13.80 | 402,653,152 | 1,365.7 MB | 141,421 | 0.0483 | 4,352 |
| 24 | 16,777,216 | 66.97 | 17.54 | 48.69 | 52.28 | 1,610,612,704 | 5,407.2 MB | 153,709 | 0.0047 | 4,736 |
What the rows mean:
- Honest work is linear in N, as [BS25] Sec 3.2 "Efficiency" states (O(N + k log N) sequential). 2N - 1 + k oracle calls
are made in one pass, and the label array (32N bytes) is held for the whole pass. The CPython RSS is about 3.4 times
the 96N-byte model because of object overhead. A packed implementation holds 32N bytes of labels plus 64N bytes of
tree, or 32N if the tree is streamed and the openings are recomputed. That trade-off is B3's to measure.
- The proof grows with n: proof bytes = 45 + k (1 + 96 (n + 1)) when every challenged node has indegree 2 (the exact
formula is `mtp.proof_bytes_formula`). Verification is k (3n + 2) oracle calls plus 2k graph draws. It needs no
memory beyond the proof and no table.
- The n = 22 verify time (0.047 and 0.048 s in two runs, against 0.004 to 0.005 s at n = 20 and n = 24) is not the
verifier's work. Its oracle-call count rises smoothly (4,352). The cause inside the measuring CPython process is not
established. A clean cold-verification budget at an admitted rate is B6's row (O-11).
- Per user tier: a GPU miner never runs this CPython path. What carries over is the shape: one N-label sequential pass
per instance (about 96 MiB of state at n = 20, about 1.5 GiB at n = 24 with the tree held) and a proof of 129 KB
(n = 20, k = 64) that a validator checks with about 4,000 BLAKE2b calls. The B3 lane owns the GPU adaptation and B6
the node budget.
## 6. The challenge count k: proven against attacked (code-generated)
Command: `python3 tools/mhpow/b1/k_table.py <out>`. Output: `fixtures/k-table.json`.
(a) PROVEN. [BS25] Corollary 2 gives k = ceil(2 N ln2 lambda / e) for an (e, d)-depth-robust G. [ABH17] Theorem 3.1
gives DRSample, with high probability over the sample, (e, d, b)-block depth-robustness with e >= 2.43 x 10^-4 N / log N
and d >= 0.03 N. Block depth-robustness implies depth-robustness. Here log is read as log2 (row R-4). At lambda = 256:
| n | k (Cor. 2 with [ABH17]'s e) | k / N | proof bytes at that k | proof / label array |
|---|---|---|---|---|
| 12 | 17,525,500 | 4,279 | 21.9 GB | 167,002 x |
| 16 | 23,367,333 | 357 | 38.2 GB | 18,196 x |
| 20 | 29,209,166 | 27.9 | 58.9 GB | 1,756 x |
| 24 | 35,050,999 | 2.09 | 84.2 GB | 157 x |
| 30 | 43,813,748 | 0.041 | 130.4 GB | 3.8 x |
| 32 | 46,734,665 | 0.011 | 148.1 GB | 1.08 x |
FINDING F-3: with the only proven DRSample constant in the literature cited, the theorem's k exceeds N up to about
n = 25. The certificate exceeds the whole label array up to n = 32. So the proven regime has no practical parameter
today. The paper says the constants are not tight. A usable k needs a better proven constant or an accepted heuristic
constant, and either is a decision for the panel (row O-1).
(b) ATTACKED (a floor on k, not a security level). [BS25] Sec 7.1 Attack 1 was run with a greedy depth-reducing set
measured on this exact graph. The greedy rule puts v in S whenever v's depth in G - S would exceed d. The k below pushes
that attack's acceptance (1 - |S|/N)^k under 2^-s:
| n | d | abs(S) / N | k for 2^-40 | k for 2^-128 | proof bytes at k for 2^-128 |
|---|---|---|---|---|---|
| 12 | N/4 | 0.160 | 160 | 510 | 637,035 |
| 12 | N/256 | 0.266 | 90 | 287 | 358,508 |
| 16 | N/4 | 0.161 | 158 | 504 | 823,077 |
| 16 | N/256 | 0.240 | 101 | 323 | 527,504 |
| 20 | N/4 | 0.168 | 151 | 482 | 972,239 |
| 20 | N/256 | 0.242 | 100 | 320 | 645,485 |
The greedy set is a weak depth-reducing attack. Stronger ones (layered and recursive, [BS25] Sec 7.2, [ABH17] Sec 5)
remove fewer nodes for the same d. Those move these k values UP. Row O-9 holds them.
## 7. Malicious-prover fixtures and verdicts
Command: `run-b1.sh <out> attacks`. Output: `fixtures/attacks-n10-k16.json`. N = 2^10 and k = 16 were chosen so that the
accepting probabilities can be measured. Each adversary is implemented to win, and its verdict is measured.
| id | adversary (source) | what it does | measured | verdict and mechanism |
|---|---|---|---|---|
| A1 | [DN17] Sec 4.1 first attack | replays a valid proof made for chi' as a proof for chi | 0 of 50 accepted (check_2b, check_2a) | REFUSED. chi salts every label, Merkle node and challenge ([BS25] Sec 3.2). |
| A2 | [DN17] Sec 4.1 second attack | commits a constant array with no memory, then (a) answers with the label the verifier would recompute or (b) opens the constant label | (a) 0 of 50, check_2b; (b) 0 of 50, check_3 | REFUSED. [BS25] Sec 3.2 opens l_{c_i+1} itself at the derived position and checks it against its opened parents. |
| A3 | [DN17] Sec 4.3 and Sec 5, control blocks (the attack that broke MTP-Argon2d) | t = 20; grinds each control block up to 1,000 times to steer the next t - 1 parents into the stored set (Eq. 5), then stores only control blocks as red values | Eq. 5 met in 0 of 50 intervals after 1 try and 0 of 50 after 1,000; steering gain 0; red-node fallback accepted 191 of 400 = 0.478 (analytic (1 - 1/t)^k = 0.442) | STEERING REFUSED BY CONSTRUCTION. DRSample's parents are fixed a priori, so no label value moves an edge. What remains is a red-node cheat, accepted with (1 - abs(S)/N)^k: the probability [BS25] Lemma 4 bounds and k must make small. |
| A4 | [DN17] Sec 8, self-similarity of data-independent MTP (Y2 := X2 gives Y1 = X1) | copies a label into a node that shares a long-edge parent | 0 of 200 copies reproduced a label; 189 of 200 accepted (one red node each) | SAVING REFUSED. The node index v is in every prelabel ([BS25] Sec 2.2; [DN17] Sec 8's own HAIFA countermeasure). The one red node is caught only when challenged. |
| A5 | [BS25] Sec 7.1 Attack 1 | labels 0^lambda on a greedy depth-reducing set S, the rest in parallel | d = 64: abs(S)/N 0.222, depth of G - S 64, accepted 6 of 400 = 0.015 (analytic 0.018); d = 256: abs(S)/N 0.151, accepted 26 of 400 = 0.065 (analytic 0.072) | ACCEPTED WITH PROBABILITY (1 - abs(S)/N)^k, as the paper states. The cheater needs only d parallel rounds and O(N d lambda) cumulative memory. This is what sets k (section 6). |
| A6 | [BS25] Sec 5 Def. 14 and Lemma 4 (LuckyQuery); B2's O-07 | one labelling; re-rolls tau by rewriting one red leaf and its path only (n + k = 26 oracle calls per try, no relabelling) | 1 red sink: 193 to 200 of 200 tries are accepted roots per labelling; 64 red: 140 to 152 of 400; first accept at try 1.2 and 1.6 on average | ACCEPTED: one labelling yields many accepted (tau, proof) pairs for one chi. The paper's soundness counts this in its q(1 - beta)^k term and still bounds cmc per accepted proof. But nothing in the primitive makes a second accepted root cost a second labelling. A lottery value derived from tau would be re-rolled for n + k calls (finding F-4, handed to B2 and B4). |
A1 to A4 are the Dinur and Nadler adversaries against the data-independent instantiation. The two that broke
MTP-Argon2d (A2 and A3) have no foothold. A2 is closed by the opening rule and A3 by the fixed graph. No Dinur-Nadler
adversary gained anything beyond the red-node probability that the theorem already prices. A5 and A6 are accepted with
exactly the probability the paper's own bound names. They are not new breaks. They are the reason k and the lottery
binding are open (O-1, O-8).
## 8. Findings (each with its consequence)
- F-1 Domain separation. [BS25] separates query kinds only by the chi salt and the query shape. With a common integer
width, the challenge query H(chi, i, tau) has the shape of the prelabel of an indegree-1 node (DRSample's node 2).
B1 pins one-byte tags (L, M, C, G). Any implementation that drops them is a different function and needs its own
argument. Consequence: B2 and B3 pin to the tags.
- F-2 The graph must be a public constant. [BS25] proves soundness for a graph fixed a priori. If the graph came from
chi, a prover who varies a nonce inside chi could grind for a weak sample. Consequence: the graph seed is a constant
and never per instance. Whether the one fixed sample is in fact depth-robust is unverified (row O-12).
- F-3 Proven k is impractical (section 6a): about 2.9 x 10^7 challenges at n = 20 with the cited constant.
Consequence: a Track B candidate cannot claim [BS25]'s theorem at any practical k today. A heuristic k must be
labelled as such.
- F-4 One labelling, many accepted roots (A6). Consequence: an Igneum lottery cannot be a hash of tau alone. B2's O-07
and B4's composed theorem must bind the lottery to the labelling.
- F-5 [BS25] Lemma 3 needs lambda/4 >= 2 log2(q) + log2(indeg). At lambda = 256 that covers q <= 2^31.5 oracle calls.
q = 2^64 needs lambda >= 516. Consequence: at network scale, the theorem's extraction step does not cover lambda = 256
as written (row O-4).
## 9. Open questions (BLOCKED rows)
| row | question | why blocked | owner | clock |
|---|---|---|---|---|
| O-1 | a practical k with a proof: a better proven DRSample (e, d) constant, or a panel-approved heuristic k | [ABH17] Theorem 3.1's constant gives k > N (section 6a); [BS25] states no concrete k | B4 (theory) with R15-07 | not set by B1 |
| O-2 | "the paper's smallest stated N" | [BS25] states no concrete N, lambda, k or hash; B1's fixture sizes are its own | B1 records; the panel picks N | n/a |
| O-3 | the archived revision against eprint's current revision of 2025/1456 and 2017/497 | eprint challenges the boxes; the snapshot dates are in section 1 | B1 or B4 when any box is served | open |
| O-4 | lambda against Lemma 3's precondition at network q (F-5): lambda = 512 (BLAKE2b-512) or a tighter extractor | a theory question; changing lambda changes every fixture and B2's chi | B4 | open |
| O-5 | the log base and constants in [BS25] Fact 8 and Corollary 3 (c1, c3, c4) and in [ABH17] Theorem 3.1 | the papers write "log"; B1 reads log2 (R-4) | B4 | open |
| O-6 | [BS25] App. C.2's loop processes x_1 first from the leaf, which matches Def. 15 / Sec 3.2 only if x is read leaf-first | an erratum question for the authors; B1 pins Sec 3.2's bin(v) and Def. 15's sibling order (R-3) | B1 to the panel | open |
| O-7 | Verify step 2 writes MerkleTreeReveal(chi, i, ...) with the challenge number i; B1 checks at the derived leaf index c_i and parent index u - 1 (R-5) | wording in the paper; B1's reading is the one under which the attacks are refused | B1 to the panel | open |
| O-8 | lottery binding: one labelling gives many accepted roots (F-4) | the primitive has no lottery; binding is B2's spec and B4's theorem | B2, B4 | open |
| O-9 | stronger depth-reducing attacks on this exact graph (layered, recursive, [BS25] Sec 7.2, [ABH17] Sec 5) to raise section 6b's floor | not implemented in this window | B4 / R15-07 | open |
| O-10 | energy: [BS25] bounds cumulative memory in the parallel random oracle model (bits of state per round). It says nothing about joules, SRAM or a chip | the physical translation is B4/B5's | B4, B5 | open |
| O-11 | a compiled verifier and cold verification at the admitted rate | only the CPython reference exists | B6 (node lane), B3 | open |
| O-12 | is the one fixed DRSample sample (graph_seed) actually (e, d)-depth-robust? [ABH17] Theorem 3.1 holds with high probability over the sample, not for every seed | no tool here certifies a sampled graph | B4 | open |
| O-13 | does [R4] (de Rezende, Engstrom, Reyzin 2026) touch [BS25]? [BS25]'s bound is on the PROM state size \|sigma_i\| in bits (Theorem 6), so encoded state is counted, but the reduction must be read against [R4] | a theory read | B4 | open |
| O-14 | the quantum case | [BS25] is classical (PROM); the plan's rule keeps the claim classical | none today | n/a |
Resolutions B1 made where a source was ambiguous (each one pinned in code):
- R-1. [ABH17] "[max(g/2, 2), g]" with g = v - 1 odd: the integer range starts at ceil(g/2).
- R-2. [ABH17]'s uniform draws: rejection sampling over 64-bit words of the 'G' oracle with the public seed.
- R-3. Tree layout: Sec 3.2 and Sec 4.1, with LSB-at-root; Def. 15 sibling order root-first.
- R-4. log means log2 wherever a constant is evaluated.
- R-5. Merkle positions are always the verifier's own (c_i for the node, u - 1 for parent u).
## 10. Files
| path | what |
|---|---|
| `tools/mhpow/b1/params.py` | the oracle, lambda, tags, integer encoding, graph seed, with the paper section beside each |
| `tools/mhpow/b1/drsample.py` | [ABH17] Alg. 1 DRSample, the derandomisation, depth of G - S |
| `tools/mhpow/b1/mtp.py` | labels, Merkle tree, reveal and check, challenges, the certificate container, honest prover, verifier |
| `tools/mhpow/b1/attacks.py` | adversaries A1 to A6 |
| `tools/mhpow/b1/test_b1.py` | the 17-test suite (known-failed cases by check name) |
| `tools/mhpow/b1/gen_fixtures.py`, `k_table.py`, `run-b1.sh` | fixture, row, attack and k-table generators; the box driver (pid file first) |
| `tools/mhpow/b1/fixtures/` | every fixture, row and table above, with `SHA256SUMS` |
| `docs/analysis/mhpow/b1/registry-batch-mhpow-b1-20261009-01.json` | the registry batch, rows NOT RUN, for the steward to record |
Run everything again (a build box only, never the Mac): `tools/mhpow/b1/run-b1.sh <out_dir> all`. Then compare
`<out_dir>/SHA256SUMS` with `tools/mhpow/b1/fixtures/SHA256SUMS`. The kat, attack and k-table files must be
byte-identical. The row files and tests.log differ in their timings only.

View file

@ -0,0 +1,32 @@
{
"run_id": "mhpow-b1-20261009-01",
"manifest_sha": "13c3646e",
"evidence_dir": "docs/analysis/mhpow/b1",
"method": "model",
"boxes": ["build-6"],
"note": "B1 (R15-05), the cryptography lane of the 1.5x programme's Track B (9 October 2026): the exact CPU reference of Blocki and Smearsoll's MTP framework (eprint 2025/1456 as archived, sha256 13c3646e..., Sec 2.2, 3.2, App. C) over DRSample (ABH17 Alg. 1, eprint 2017/443 as archived, sha256 f8e08d36...), its complete verifier (named checks in the paper's order, each with a known-failed test, 17 of 17 OK on build-6), five deterministic known-answer fixtures (n 4 to 20), honest-prover rows n 12 to 24 (CPython, wall time only, no power) and six malicious provers (Dinur-Nadler eprint 2017/497 Sec 4.1, 4.3/5, 8; the paper's Attack 1 and LuckyQuery regrind). Dinur-Nadler's steering and unopened-block attacks are refused; red-node cheats are accepted with the (1-|S|/N)^k probability the paper prices; one labelling yields many accepted roots (F-4). The proven k with ABH17's constant exceeds N to about n 25 (F-3). NOT RUN until the panel reads it; this lane writes no PASS.",
"cells": [
{
"cell": "model:mhpow-b1-reference",
"cases": ["POW-05", "POW-06"],
"status": "NOT RUN",
"method": "model",
"evidence": "docs/analysis/mhpow/b1/README.md",
"note": "POW-05: attack fixtures A1 to A6 (tools/mhpow/b1/fixtures/attacks-n10-k16.json): A1 replay and A2 unopened block REFUSED, A3 control-block steering gain 0 with the red-node fallback accepted at (1-1/t)^k, A4 self-similarity saving refused, A5 Attack 1 accepted at (1-|S|/N)^k, A6 many accepted roots per labelling (the lottery binding BLOCKED to B2/B4, rows O-1 and O-8). POW-06: the verifier's named checks refuse malformed containers, wrong positions, skipped parents and wrong tags (test_b1.py); proof bytes and verifier oracle calls per N are exact formulas with measured rows; cold verification at rate BLOCKED to B6 (O-11).",
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"in_progress": true
}
],
"map_cell_requested": {
"model:mhpow-b1-reference": {
"command": "tools/mhpow/b1/run-b1.sh <out_dir> all (a build box under its pid file; kat, attack and k-table files byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS)",
"box_class": "build box, CPU only (build-6)",
"fixtures": ["tools/mhpow/b1/fixtures/"],
"cases": ["POW-05", "POW-06"],
"coverage": {
"POW-05": "partial: the published primitive's attack fixtures only; the lottery binding and the composed accepted-proof theorem are B2/B4's",
"POW-06": "partial: verifier refusals and op counts in CPython; no compiled verifier, no admitted-rate timing"
}
}
}
}

View file

@ -15,7 +15,8 @@ registry until the panel reads it; this lane writes no PASS. The status words in
| The spec | `docs/spec/01-lottery-hash.md` on master bc6bfa75e: 1.0 (the frozen object), 1.6, 1.10, 1.12, 1.13.3 | the dataset policy digest in full, the epoch, day and era clocks |
| The signing pair | `igneum-pow/tests/composition.rs` at class-v6 755c2dbcf | epoch seed af89be5d..., era edc4fa84..., day 20730, program id 0x2a1d6caab4c24564 |
| The B1 lane's encoding pins (R15-05, a4490b2dfe9114a55, 10:2x UK) | unkeyed BLAKE2b-256, `lambda = 256`, one ASCII role byte per query kind, u64 LE integers, raw-label leaves, path bit `j` = bit `j - 1` of the leaf index (LSB at the root), no path sharing, the graph from `'G' || graph_seed || u64 v || u64 ctr` by rejection sampling (DRSample from ABH17 Algorithm 1) | adopted here whole; B1 owns the primitive and its fixtures |
| Figures | `tools/mhpow/b2/b2_figures.py` (sha256 7b8664ea44b770c9f6af246898aa576f3f0a63e65e7bf50a0b278c5727a1ee8b) | output `figures.txt` (sha256 27bb414c8534a438fdeae98cba2d4b9ece9c21d0487aa872673b0da465d9702a), run on build-9 under `/srv/builds/b2/b2-run.pid`: `python3 tools/mhpow/b2/b2_figures.py > docs/analysis/mhpow/b2/figures.txt` |
| The B4 theory lane's answers (a46974623d72b032c) | `docs/analysis/mhpow/b4/requirements.md` (branch mhpow-b4 6d9c14596) and `docs/analysis/mhpow/b4/README.md` section 5b (build/master 80b127484) | the B-T rows of section 4 and the lottery rule of O-17 |
| Figures | `tools/mhpow/b2/b2_figures.py` (sha256 742b64d9c2f3f8bad0524c9cdf38ac3aeff0c33bb14e000eb17b278053d79103) | output `figures.txt` (sha256 90e0f3932e2d915b7b1bcc958d5a2a74ccba55c2a3a37e71f53390b42bb7a022), run on build-9 under `/srv/builds/b2/b2-run.pid`: `python3 tools/mhpow/b2/b2_figures.py > docs/analysis/mhpow/b2/figures.txt` |
## 1. What the paper proves, and what it does not
@ -96,7 +97,7 @@ The oracle and the domain separation:
| Merkle node | `tau_x = H('M', chi || tau_x0 || tau_x1)`; leaves are the raw labels, node `w` at leaf index `w - 1`; root `tau = tau_empty`; a reveal is the label and `n` siblings | section 4.1, Appendix C, salt `chi` |
| Challenge | `c_i = int_le(H('C', chi || u64 i || tau)) mod N`, `i = 1 .. k`; open node `c_i + 1` and each parent, each with its own path | `c_i = H(chi, i, tau) mod N` |
| Graph | DRSample, indeg 2, its draws from `H('G', graph_seed || u64 v || u64 ctr)` by rejection sampling; `graph_seed` a 32-byte public consensus constant, never `chi` | Fact 8; section 1.2 (the graph fixed a priori) |
| Lottery value | NONE in this draft (O-07) | the paper has none |
| Lottery value | `W = int_le(H('W', chi || tau)) <= target`, the winner verified IN FULL (O-17, B4's rule; the naive spot-check-only forms FAIL, O-07) | the paper has none |
Every query is fixed width once the role and the node are known, which keeps Theorem 5's parse unique (the extractor reads the
`h`-th parent at a fixed offset after `chi` and `v`). The role byte keeps the query families disjoint (B1's note: without it the challenge query `H(chi, i, tau)` has the shape of
@ -117,7 +118,7 @@ parameter choice (B3, B4) fill them. They are not conformance vectors; the B1 la
| O-04 | Reuse on another epoch, day, era, network or protocol version | the same: those fields are in the instance, and the verifier recomputes each from the chain (never from the certificate) | as O-03 | ANSWERED, conditional on B-N1 (the verifier's recomputation rule and the live day rule) |
| O-05 | The graph is fixed before the prover acts (the Dinur and Nadler lesson) | DRSample sampled once from `graph_seed`, a consensus constant; never from `chi`, the epoch, the era or the template | the paper's own condition (section 1.2): MTP is sound "as long as the underlying graph is fixed a priori"; Fact 8 is an existence statement | BLOCKED B-T1: the probability that one sampled DRSample instance at the chosen `N` fails the `(c3 N / log N, c4 N)` depth-robustness, and whether a per-era re-seed is admissible |
| O-06 | Grinding the commitment to dodge the challenges (try roots until all `k` challenges land on honestly computed nodes) | `k` from Corollary 2 | Lemma 4: `q (1 - beta)^k`; Corollary 2: `beta = e/(2N)`, `k = (2 N ln 2 / e) lambda` gives `q 2^-lambda`; figures section 4 | ANSWERED (the constants of `k` wait on `c3`: B-T2) |
| O-07 | Grinding the lottery: what the prover can vary per draw, at what cost, once one labelling exists | no lottery rule is adopted. Two candidate rules fail: (a) `W = H('W' || chi || tau) <= target`: after one honest labelling the prover sets the sink label `l'_N` to fresh bytes (the sink turns red), rehashes its Merkle path and draws again, `log2 N + 1` calls a draw, and the certificate still verifies unless a challenge lands on the sink, probability `(1 - 1/N)^k` (0.99988 at `N = 2^24`, `k = 2,000`); honest work per trial is `2N` calls, so one labelling buys about `1.3 x 10^6` draws at `N = 2^24` (figures section 5). Varying any unchallenged node with few descendants does the same; a fixed always-checked set of the last `m` nodes moves the cost to about `m` labels a draw, and only full verification removes it. (b) `W = H(chi) <= target`: the prover screens trials for free and labels only the winner, so the memory work per block is one labelling whatever the difficulty | the paper's theorems lower-bound the cost of a trace that outputs AN accepted certificate (Theorem 7); they say nothing about how many distinct accepted certificates one trace outputs for one `chi`, and Definition 5 has no target. The re-roll is consistent with every theorem in the paper | (a) FAIL, (b) FAIL; the replacement BLOCKED B-T3 |
| O-07 | Grinding the lottery: what the prover can vary per draw, at what cost, once one labelling exists | no lottery rule is adopted. Two candidate rules fail: (a) `W = H('W' || chi || tau) <= target`: after one honest labelling the prover sets the sink label `l'_N` to fresh bytes (the sink turns red), rehashes its Merkle path and draws again, `log2 N + 1` calls a draw, and the certificate still verifies unless a challenge lands on the sink, probability `(1 - 1/N)^k` (0.99988 at `N = 2^24`, `k = 2,000`); honest work per trial is `2N` calls, so one labelling buys about `1.3 x 10^6` draws at `N = 2^24` (figures section 5). Varying any unchallenged node with few descendants does the same; a fixed always-checked set of the last `m` nodes moves the cost to about `m` labels a draw, and only full verification removes it. (b) `W = H(chi) <= target`: the prover screens trials for free and labels only the winner, so the memory work per block is one labelling whatever the difficulty | Executed by B1 (fixture A6, `tools/mhpow/b1/fixtures/attacks-n10-k16.json`, sha256 805035eb..., branch mhpow-b1 e9f94df6a, every root checked by the full verifier): one labelling at N = 2^10, k = 16, the sink red, 26 calls a try, 193 to 200 of 200 tries accepted across 5 labellings (predicted `(1 - 2^-10)^16` = 0.985, so 197); with 64 red, 140 to 152 of 400 (predicted 0.356, so 142). The paper's theorems lower-bound the cost of a trace that outputs AN accepted certificate (Theorem 7), once per trace, not once per certificate; they say nothing about how many distinct accepted certificates one trace outputs for one `chi`, and Definition 5 has no target. The re-roll is consistent with every theorem in the paper | (a) FAIL, (b) FAIL; the replacement BLOCKED B-T3 |
| O-08 | Grinding through the template: timestamp inside the window, coinbase extranonce, transaction set, parent choice, the nonce | each is a new `chi`, hence a full new labelling (no label query is shared across `chi`) | per `chi`: Corollary 3, `(lambda/4)(c3 c4 / 2) N^2 / log N` cumulative memory; across many `chi`: O-10 | ANSWERED per trial; the many-trial bound BLOCKED (O-10) |
| O-09 | Chosen instance: the prover picks a favourable `chi` | the graph is data-independent and fixed (O-05), so no `chi` changes the graph's structure; the only freedom is which `chi` to label | Corollary 3 fixes `chi` before the oracle; a `chi` chosen after querying the oracle needs a union over the candidates (at most `q`), a loss the paper does not state | BLOCKED B-T4 |
| O-10 | Amortisation: one labelling, or one shared state, serving many trials or many templates | none can share labels across `chi` (O-03); the lower bound for producing accepted certificates on `m` distinct inputs is the open part | not in the paper (every statement fixes one `chi`); the natural route is the disjoint union of `m` copies (cumulative pebbling cost adds over components), the extractor run on the union, LUCKYQUERY bounded per copy | BLOCKED B-T5 |
@ -127,30 +128,33 @@ parameter choice (B3, B4) fill them. They are not conformance vectors; the B1 la
| O-14 | Rejected trials and cancellation: a trial in flight when the template changes | the instance binds the parent set, so a new block on the network stales every trial in flight; the honest trial takes `O(N)` sequential rounds (Definition 5, item 1) | not a soundness matter; it is a feasibility bound: `N x t_seq <= rho x T_block`, with `T_block` 1 s on the devnet (spec 1.12) and `rho` the stale fraction the chain accepts. The bound caps `N`, and a small `N` fits one instance in SRAM, which is the B5 question | BLOCKED B-N2 (the node lane: `T_block` and `rho` on devnet-4) and B3 (`t_seq` measured, never assumed) |
| O-15 | The frozen class stays the chain's binding: the dataset policy 70a6c703 and the signing id 2a1d6caab4c24564 | the instance carries `dataset_policy` (all 32 bytes), `program_id`, `epoch_seed`, `epoch_start_daa`, `era_seed`, `day_index` and `state_root`; the verifier recomputes each from the chain and the header and rejects a mismatch, so no certificate carries across a class object, a policy or an epoch | by construction plus O-01, O-03. Two facts for the node lane: the policy digest sits outside the consensus digest until the class v6 floor is set (f0 manifest), so the instance is the only place a certificate binds it today; and the day rule differs between `bind.rs` (the interim `timestamp_ms / 86,400,000`) and spec 1.12 (DAA seconds) | ANSWERED by construction, conditional on B-N1 and B-N3 |
| O-16 | The epoch-seed lead and the day-pack: no precomputation across trials | the labelling needs `chi`, which needs the template's parents; the 600 DAA-second epoch-seed lead and the day key (known before the day) give no label in advance. Static per-day work (the v6 dataset) stays amortisable by design; the instance removes it from the MHPoW part only | O-03 | ANSWERED |
| O-17 | The lottery rule (B4-OB-LOT-1, this lane's row): B4's replacement for O-07, and the cost of a fake winner that passes the spot checks | trial id in `chi`; `W = H('W', chi || tau) <= target`; a winner is verified IN FULL (the verifier recomputes all `N` labels and the root, so `tau` is unique per `chi` and one draw costs one labelling); the `k` spot checks stay as the header pre-filter. The pre-filter does NOT price a fake: the prover keeps one honest labelling and re-rolls the red sink until `W` passes, about `(log2 N + 1) / p` calls a fake against `2N / p` for a real winner, and the fake passes the spot checks with `(1 - 1/N)^k`. Every validator it reaches then pays one full labelling (`2N` calls, `N` sequential steps) to reject it. An attacker with share `s` of the honest network's oracle calls makes `s x 2N / (log2 N + 1)` fakes per real block: 1.34 at `s = 10^-6`, 134 at `10^-4`, 13,400 at `10^-2` (`N = 2^24`, figures section 6 (a)). Per fake the attacker pays `(log2 N + 1) D / (2N)` of one validator's rejection cost (`D` labellings per block interval network-wide): 0.745 at `D = 10^6`, 74.5 at `10^8` (section 6 (b)), and every node the fake reaches pays it again | B4 README 5b says R1's theorem prices a spot-check-passing fake at the cmc bound. It does not: Theorem 7 is paid once per trace, and one trace yields fakes at the re-roll price (O-07, B1's fixture A6). The rule's soundness per draw is B4 Lemma C (NOT RUN) with AS15 per fully verified labelling | the rule ADOPTED as the draft binding (work version 1); the fake-winner budget is the open part: BLOCKED B-N4 and B4-OB-LOT-4 (B6) |
## 4. The BLOCKED questions, with their owners
| Id | Owner | The exact question |
|---|---|---|
| B-T1 | B4 theory lane (to be named) | For DRSample sampled from a fixed public seed at `N = 2^20` to `2^24`, what is the probability that the sampled graph is not `(c3 N / log N, c4 N)`-depth-robust, with the constants written out? Is a per-era re-seed from the era seed admissible, given that a party able to bias the era seed could search for a weak graph? |
| B-T2 | B4 | The values of `c3` and `c4` (Fact 8, from ABH17 or ABP17) for the sampled DRSample at the chosen `N`, proved, so that Corollary 3's bound and `k = 2 lambda log N / c3` become numbers. Without them every certificate size and every lower bound in this README is a sensitivity row. |
| B-T3 | B4 | The lottery. Give a lottery value `W` (or prove none exists) such that the expected number of distinct accepted pairs (`chi`, certificate) with `W` under the target, output by an adversary of cumulative memory `C`, is at most `C` divided by a constant fraction of Corollary 3's bound, with sampled verification of polylog cost. Known: any `W` that depends on labels the verifier samples can be re-rolled through an unchallenged node at the cost of that node's descendants (O-07 (a)); any `W` of `chi` alone is screened for free (O-07 (b)). Candidates for the panel: a succinct proof of the full labelling (a unique output, so Alwen and Serbinenko's bound per trial applies, at a prover cost the paper's own section 1 calls non-egalitarian); or a construction that is not MTP. |
| B-T4 | B4 | The adaptive-input version of Corollary 3: the adversary chooses `chi` among at most `q` candidates after querying `H`. State the loss in the bad-event sum. |
| B-T5 | B4 | The multi-instance version: producing accepted certificates for `m` distinct inputs costs at least `m (lambda/4)(c3 c4 / 2) N^2 / log N` except with what probability, and how the `q` and `t` terms scale with `m`. |
| B-T6 | B4 | The label width `lambda` for an adversary of `q = 2^64` to `2^96` queries: either `lambda >= 8 log2 q + 4` under Lemma 3 as stated (516 to 772 bits, so an XOF in place of BLAKE2b's 512-bit maximum), or a tighter statement of Theorem 6 with the charge `lambda - 2 log2 q - log2 indeg` per pebble at `lambda = 256`. |
| B-T7 | B4 | Confirm that no step in Theorems 4 to 7 or Lemmas 2 to 4 uses a coincidence between a label query and a Merkle or challenge query that the role byte would remove (the role byte only splits the domain; the check is that the extractor's hint and parse still hold). |
| B-T8 | B4 with the adversary lane | The translation from cumulative memory to energy and bandwidth (the plan's R2, R3), including the full-SRAM design at the `N` that O-14 allows. |
| B-T1 | B4 theory lane a46974623d72b032c | STILL BLOCKED (B4-B01: ABH17 not fetched by B4; B1 holds the archived ABH17, eprint 2017/443, sha256 f8e08d36...). For DRSample sampled from a fixed public seed at `N = 2^20` to `2^24`, what is the probability that the sampled graph is not `(c3 N / log N, c4 N)`-depth-robust, with the constants written out? Is a per-era re-seed from the era seed admissible, given that a party able to bias the era seed could search for a weak graph? |
| B-T2 | B4 | STILL BLOCKED (B4-B03). The values of `c3` and `c4` (Fact 8, from ABH17 or ABP17) for the sampled DRSample at the chosen `N`, proved, so that Corollary 3's bound and `k = 2 lambda log N / c3` become numbers. Without them every certificate size and every lower bound in this README is a sensitivity row. |
| B-T3 | B4 | ANSWERED IN SHAPE by B4 Lemma C (NOT RUN): no `W` with polylog sampled verification meets the bound inside MTP; the replacement is full verification of winners, adopted here as O-17, whose fake-winner budget stays open. The lottery. Give a lottery value `W` (or prove none exists) such that the expected number of distinct accepted pairs (`chi`, certificate) with `W` under the target, output by an adversary of cumulative memory `C`, is at most `C` divided by a constant fraction of Corollary 3's bound, with sampled verification of polylog cost. Known: any `W` that depends on labels the verifier samples can be re-rolled through an unchallenged node at the cost of that node's descendants (O-07 (a)); any `W` of `chi` alone is screened for free (O-07 (b)). Candidates for the panel: a succinct proof of the full labelling (a unique output, so Alwen and Serbinenko's bound per trial applies, at a prover cost the paper's own section 1 calls non-egalitarian); or a construction that is not MTP. |
| B-T4 | B4 | ANSWERED AS A LOSS by B4 (NOT RUN): MISCOLOR becomes `q N 2^-lambda`; the other bad events are already unions over the trace. The adaptive-input version of Corollary 3: the adversary chooses `chi` among at most `q` candidates after querying `H`. State the loss in the bad-event sum. |
| B-T5 | B4 | STILL BLOCKED (B4-OB-LOT-3; the union-graph route, MISCOLOR `J N 2^-lambda`, proof not written). The multi-instance version: producing accepted certificates for `m` distinct inputs costs at least `m (lambda/4)(c3 c4 / 2) N^2 / log N` except with what probability, and how the `q` and `t` terms scale with `m`. |
| B-T6 | B4 | ANSWERED AS A CONSTRAINT by B4: `w >= 8 log2 q + 4`, or R2 Theorem 3.3's `w > 20 log2 q` (1,280 bits at `q = 2^64`); labels of 1 KiB or more meet both, through an XOF or R16's permutation. The instance's `label_bytes` field carries it; `chi` and every fixture move with it. The label width `lambda` for an adversary of `q = 2^64` to `2^96` queries: either `lambda >= 8 log2 q + 4` under Lemma 3 as stated (516 to 772 bits, so an XOF in place of BLAKE2b's 512-bit maximum), or a tighter statement of Theorem 6 with the charge `lambda - 2 log2 q - log2 indeg` per pebble at `lambda = 256`. |
| B-T7 | B4 | ANSWERED BY READING by B4 (not a proof audit): the role byte only shifts offsets, and Theorem 4's Merkle trace needs exactly that form separation. Confirm that no step in Theorems 4 to 7 or Lemmas 2 to 4 uses a coincidence between a label query and a Merkle or challenge query that the role byte would remove (the role byte only splits the domain; the check is that the extractor's hint and parse still hold). |
| B-T8 | B4 with the adversary lane | ANSWERED by B4 README sections 5, 7, 8 and its Q5: the window `log2 N x M_SRAM / C <= N b <= b rho / t_seq` may be empty for DRSample. The translation from cumulative memory to energy and bandwidth (the plan's R2, R3), including the full-SRAM design at the `N` that O-14 allows. |
| B-N1 | node lane a283f5f0d364ceef0 | Which day rule is live on devnet-4 (`bind.rs`'s timestamp day or spec 1.12's DAA day), and the rule the verifier uses to recompute `epoch_seed`, `epoch_start_daa`, `era_seed`, `program_id` and the policy digest from a header and the chain. |
| B-N2 | node lane | The block interval on devnet-4, the timestamp acceptance window (past median and future bound), and the stale fraction the chain accepts, so O-14's bound on `N x t_seq` is a number. |
| B-N4 | node lane with B6 | O-17's fake-winner budget at the network's scale: does a block that fails full verification cost its sender (peer score, ban, a relay rule of full verification before forwarding), and what full verifications per second per node can the chain absorb before the 1.34-fakes-per-block attacker at `s = 10^-6` (`N = 2^24`) stalls validation? |
| B-N3 | node lane | The 32 bytes of the state stream root the class v6 dataset is keyed on for the signing pair (epoch af89be5d, era edc4fa84, day 20730), and whether that root is in the header's past by the epoch boundary. |
## 5. What this means for Track B
1. The input binding is complete for reuse: no certificate carries across a template, a trial, an epoch, a day, an era, a network
or a class object (O-01 to O-04, O-15, O-16).
2. The economic binding is not: the reference construction has no lottery, and the two direct ways to add one either buy about a
million draws per labelling at `N = 2^24` or screen trials for free (O-07). Until B-T3 is answered, an MTP certificate per
block adds memory work per block, never per lottery trial, and cannot move the 1.5x ratio.
2. The economic binding is not in the paper: the reference construction has no lottery, and the two direct ways to add one either
buy about a million draws per labelling at `N = 2^24` or screen trials for free (O-07). B4's rule (O-17: full verification of
winners) restores one labelling per draw, at a price: a fake winner costs about a millionth of a real one and costs every
validator a full labelling, so the rule is adopted as the draft and its denial-of-service budget is the open row (B-N4).
3. Binding the template forces each trial to finish inside a fraction of the block interval (O-14), which caps `N` and pushes the
instance toward a size that fits in SRAM. B3 and B5 own that collision; it is recorded here because the binding causes it.
4. Even granted a lottery, the proved bound sits a factor `4 log N / (c3 c4)` under the honest prover's cumulative memory with

View file

@ -94,3 +94,25 @@ log2_N k honest_calls_per_trial reroll_calls_per_draw amortisation pass_probabil
20 9000 2097152 21 9.99e+04 0.991454
24 2000 33554432 25 1.34e+06 0.999881
24 9000 33554432 25 1.34e+06 0.999464
== 6. O-17: the fake-winner budget under B4's rule (trial id in chi, W = H(lot, chi, tau), winners verified in full,
the k spot checks as the header pre-filter). A fake winner keeps ONE honest labelling and re-rolls the red sink until
W <= target: about (log2 N + 1) / p calls per fake once the labelling exists; it passes the spot checks with (1 - 1/N)^k;
every validator it reaches recomputes the labelling in full (2N calls, N sequential label steps) before rejecting it.
A real winner costs 2N / p calls. p = 1 / D, D = labellings per block interval network-wide.
(a) fakes per real block for an attacker holding share s of the honest network's oracle calls: s * 2N / (log2 N + 1)
log2_N share fakes_per_real_block
20 1e-06 0.0999
20 0.0001 9.99
20 0.01 999
24 1e-06 1.34
24 0.0001 134
24 0.01 1.34e+04
(b) attacker calls per fake / one validator's calls to reject it: (log2 N + 1) D / (2N)
log2_N D attacker_over_validator
20 10000 0.1
20 1e+06 10
20 1e+08 1e+03
24 10000 0.00745
24 1e+06 0.745
24 1e+08 74.5

View file

@ -14,14 +14,14 @@
"status": "NOT RUN",
"method": "model",
"evidence": "docs/analysis/mhpow/b2/README.md",
"note": "POW-05: obligations O-06 to O-11 and O-16 (grinding, chosen instance, amortisation, partial evaluation, precomputation); O-07 records two FAIL rules and B-T3 the open question. POW-06: O-11's certificate sizes as functions of DRSample's unproved constant c3 (13.6 to 194.9 MiB at lambda 256), a sensitivity table only; the verifier budget is B6's.",
"note": "POW-05: obligations O-06 to O-11 and O-16 (grinding, chosen instance, amortisation, partial evaluation, precomputation); O-07 records two FAIL rules (B1's fixture A6 executes the first); O-17 adopts B4's full-verification rule with its fake-winner budget open (B-N4). POW-06: O-11's certificate sizes as functions of DRSample's unproved constant c3 (13.6 to 194.9 MiB at lambda 256), a sensitivity table only; the verifier budget is B6's.",
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"in_progress": true
}
],
"map_cell_requested": {
"model:mhpow-b2-binding": {
"command": "python3 tools/mhpow/b2/b2_figures.py > docs/analysis/mhpow/b2/figures.txt (a build box under a pid file; byte-identical output, sha256 27bb414c...)",
"command": "python3 tools/mhpow/b2/b2_figures.py > docs/analysis/mhpow/b2/figures.txt (a build box under a pid file; byte-identical output, sha256 90e0f393...)",
"box_class": "build box, CPU only (build-9)",
"fixtures": [],
"cases": [

View file

@ -8,6 +8,19 @@ Track B item B4 of the 1.5x research programme (plan: docs/plans/igneum-2.0-mast
NEW line below is a proof obligation until the independent panel reads it. The composed claim is a theorem shape with named holes;
where a hole is decision-critical it is a BLOCKED row with its exact question.
**THE CONTROL (BOUND (L), negative, it stands).** Through the published constants no 1.5x certificate is reachable. The generic
route (R2 Theorem 4.5 on R1's cmc bound) certifies at most 0.151 of an honest prover's energy (log2 N = 22, depth-robustness
constants c1 c2 = 1, c_b = c_r; ratio floor 6.63x; 0.213 and 4.69x for a fully verified winner, section 5b); the red-blue route
(R2 Theorem 3.3 x Lemma 5.5) loses at least 256/(1 - rho): 341x at rho = 0.25, 512x at rho = 0.5. A 1.5x certificate G_upper / L
would need the GPU at 0.23 (generic) or 0.0044 (red-blue) of the honest specialist's energy. Labelled BOUND (L), kept as a control.
**THE FIRST OBLIGATION: the lottery draw (section 5b, row B4-OB-LOT).** R1's MHPoW has no difficulty target; a lottery value over
the certificate root re-rolls for log2 N + 1 hashes per draw after one labelling (B2's finding; the naive rule reads FAIL). A draw
must cost a fresh labelling: trial id in chi, v = H(tag_lot, chi, tau), winners verified in full, spot checks kept as the
pre-filter. Owners by row: B4-OB-LOT (B4), -1 (B2), -2 (B1), -3 (B4), -4 (B2 with B6).
**THE PIVOT (10:4x UK).** Track B now builds its own construction; the one-page requirements it must meet (Q1 lottery, Q2 bandwidth-bound honest path, Q3 instance above SRAM, Q4 losses under 2x, Q5 the template cap) and the answers to B2's B-T1 to B-T8 are in requirements.md beside this README.
**The result in four lines.**
1. The 2025 theorem (Blocki and Smearsoll) proves, in the parallel random oracle model, that any prover whose MTP/DRSample
@ -181,6 +194,66 @@ c_r q part of R2's ecost and must not be added to it a second time.
**What the claim does NOT say.** It is not a bound on the specialist's energy per hash of Igneum's current work; it is per accepted
certificate of the published construction under the pROM. It gives no G_upper. It certifies nothing about the GPU side.
## 5b. The lottery draw: the first obligation of the composed statement (row B4-OB-LOT)
Main's word through the coordinator (10:3x UK): the B2 lane found, from R1 Definition 5 and the certificate shape, that R1's MHPoW
has no difficulty target and that a lottery value drawn over the certificate root is re-rolled for about log2 N + 1 hashes per draw
after one labelling (make the sink red). The naive lottery rule reads FAIL. The replacement rule is BLOCKED and is this row.
**Why the naive rule fails, in the composed statement's terms (B4 Lemma C, NOT RUN).** Any lottery value v computed from an MTP
certificate depends on the root tau (otherwise it does not depend on the labelling and can be pre-filtered for one hash). Holding
one honest labelling for chi, a prover sets the sink's label to a fresh value (the sink has no children, so only the sink turns red),
recomputes its Merkle path (log2 N + 1 queries) and obtains a new tau, new challenges and a new v. The certificate is accepted unless
a challenge lands on the sink: probability at least (1 - 1/N)^k >= 1 - k/N per draw (0.9946 at k = 22,528, N = 2^22; params.txt sec. 8). All these
certificates share ONE trace: R1's cmc bound and the composed claim's terms 2 and 3 are paid once, and term 1 grows by only
log2 N + 1 queries per draw. Over R draws per labelling the certified cost per draw is at most
(log2 N + 1) c_H + (terms 1 to 3 of one labelling) / R, which tends to Merkle hashing alone as R grows. The prover's choice of R is
free, so the per-draw energy the theorems certify is a hashing floor. The same holds for any red node with few descendants and for
any lottery function of the certificate: spot checks with k << N cannot make a labelling-dependent value non-malleable.
**What a draw must cost (the obligation).** For the composed statement to price P04's unit (energy per equivalent accepted work),
each lottery draw must cost a fresh labelling: E_draw >= term 1 + term 2 + term 3 of one instance (section 5), with fraction
phi = 1, or a stated phi < 1 with its own proof. Three conditions are necessary: (D1) the draw value depends on the labelling, so it
cannot be pre-filtered; (D2) for one chi, at most one draw value is ACCEPTABLE, so re-rolls buy nothing; (D3) distinct draws are
distinct instances, so the costs add.
**The construction change that meets D1 to D3 (proposal for B2 and B1, NOT RUN).**
1. Bind the trial id into chi (network, version, epoch, template, trial id): every draw is a new instance; every label query and
every Merkle query carries chi, so instances share no RO answers (term 1 additive, section 5).
2. The draw value v = H(tag_lot, chi, tau) against the target (D1: tau needs the labelling).
3. A block that wins is verified IN FULL by validators: they recompute the labelling for chi and its root and accept only
tau = the honest root (D2: without collisions the honest root is a function of chi, so exactly one acceptable value per chi; a
re-rolled tau with any red node is rejected with certainty). The k-challenge certificate stays as a CHEAP PRE-FILTER: a header
whose spot checks fail is dropped before any full recomputation, and R1's theorem prices the attacker's cost of a fake winner
that passes the spot checks (at least the cmc bound of section 3), so a flood of fake winners costs the attacker about what it
costs a validator to reject them.
4. Pool shares may stay on spot checks (the pool's own risk); a share then proves R1's cmc bound per share chi, never a draw.
**What the change does to the composed statement and to the reduction losses.**
| loss row | effect of the change | why |
|---|---|---|
| L2 (red nodes, 2x) | removed for winning draws | a full-verified winner has beta = 0: cc(G), not min over S of cc(G - S) |
| L10 (MTP certificate vs full evaluation) | removed for winning draws | the winner is a plain iMHF evaluation f_G(chi) plus a Merkle root: AS15's extraction and R2 Theorem 3.3 apply as published, with no new composition |
| L11 (amortisation across instances) | term 1: none; terms 2 and 3: still open | distinct chi share no queries; cmc and red-blue cost of J parallel instances against J times one instance needs the union-graph form of AS15 and R2 Thm 3.3 (obligation B4-OB-LOT-3) |
| L5 (generic route) | improves by sqrt 2 only: share of honest <= 2 sqrt(c1 c2 / log2 N) x sqrt(c_b c_r)/(c_b + c_r), 0.213 at log2 N = 22, c1 c2 = 1, c_b = c_r (ratio floor 4.69x; params.txt sec. 8) | cc(G) >= e d instead of e d/2 |
| L6 x L7 (red-blue route) | unchanged: at least 256/(1 - rho) | R2's constants |
| new: verification | a validator recomputes one labelling per winning block (N + (N - 1) RO calls, N w bits of state); at 1 block/s that is one labelling per second per validator | this gives up R1's memory-easy verification for blocks; a B6 cost to size against the operator budget |
The control does not move: through the published constants no 1.5x certificate is reachable with or without the change (the change
removes the MTP-specific losses, not R2's).
**Rows taken by name.**
| row | owner | obligation |
|---|---|---|
| B4-OB-LOT | B4 | B4 Lemma C (the re-roll bound) written as a proof; the per-draw cost statement E_draw >= one instance's terms with phi = 1 under items 1 to 3 above |
| B4-OB-LOT-1 | B2 (a717f5c9730229ea6) | the lottery rule: trial id in chi, v = H(tag_lot, chi, tau), full verification of winners, spot checks as the header pre-filter; state the DoS budget of a spot-check-passing fake winner from R1's bound |
| B4-OB-LOT-2 | B1 (a4490b2dfe9114a55) | a malicious fixture for the sink re-roll (one labelling, many accepted roots, the measured acceptance rate against (1 - 1/N)^k) and the full verifier for winners at the fixture's N |
| B4-OB-LOT-3 | B4 | multi-instance amortisation of terms 2 and 3 for J distinct chi in one trace (the union graph of J copies of G) |
| B4-OB-LOT-4 | B2 with B6 | the verification cost of one full labelling per winning block at the network's block rate and the cold-verification DoS bound |
## 6. What each source gives, and what is new
**R1 (2025) gives:** soundness of the MTP framework for data-independent depth-robust graphs in the pROM; cmc of any accepted prover
@ -326,6 +399,7 @@ Found while reading; each is a question for B1 to settle against the authors' la
| B4-B07 | The encoded-state question of section 9. | B2 and B1 |
| B4-B08 | Split lambda: label width w (must exceed about 520 bits for the cmc theorem and 1,280 bits for R2's reduction at q = 2^64) and soundness lambda_s for k. | B2 |
| B4-B09 | Domain separation of the three query kinds (section 11 item 7). | B1 |
| B4-OB-LOT | The lottery draw's cost (section 5b): the replacement rule for the naive root lottery, which reads FAIL. | B4, with B2 and B1 by the rows of section 5b |
| B4-B10 | Proof size: k (delta+1) openings at 128-bit soundness is 11.9 MiB at best (c1 = 1, log2 N = 22, 256-bit labels) and grows as 1/c1. Pool shares carry proofs too. | B6 (plan), via the coordinator |
## 13. Obligations for the B2 binding lane (a717f5c9730229ea6) and the B1 reference lane (a4490b2dfe9114a55)

View file

@ -9,5 +9,6 @@ build-1:/srv/queue/pids/build-9-b4.pid (queue entry B4, ended 10:12 UK). Clocks
| 2026-10-09T09:05Z | Internet Archive copies of the eprint PDF URLs, arXiv 2207.11519 | curl -sSL https://web.archive.org/web/2026id_/https://eprint.iacr.org/<id>.pdf | wb-2025-1456.pdf, wb-2018-221.pdf, wb-2017-225.pdf, wb-2026-1024.pdf, arxiv-2207.11519.pdf | SHA256SUMS in build-9:/srv/builds/b4 and README section 1 |
| 2026-10-09T09:09Z | 2017/443 and 2016/875 (archived 429 and robots pages; not retried) | as above | removed | none |
| 2026-10-09T09:17:30Z | parameter arithmetic | python3 tools/mhpow/b4/params.py > docs/analysis/mhpow/b4/params.txt | params.txt | params.py 7ac7fd48bde3e7962fe01045fa12a2ab1c204d9e34265a78ef9240f4f8433af1, params.txt a98ac460a5f6a16c000d5eda6311444044928f5f899931e0d3afa667d1529eba |
| 2026-10-09T09:38:50Z | parameter arithmetic with section 8 (the lottery draw) | python3 tools/mhpow/b4/params.py > docs/analysis/mhpow/b4/params.txt | params.txt (supersedes the 09:17 output) | params.py cb9ed2c065ec451e24f9f2331f461c7b1dfda644cb4e2d6dda4b788b87698010, params.txt 7804979e4d9a401b7dc560019118c54ece3d440caf68e88ea792208b4eb9d01e |
Text extraction of the five PDFs for reading: pdftotext -layout (poppler), a document conversion, no build, test or benchmark.

View file

@ -75,3 +75,12 @@ then G_upper / L = loss * (G_upper / E_honest_specialist), and the certificate n
loss 6.6: a 1.5x certificate needs the GPU at <= 0.2273 of the honest specialist's energy (a GPU at parity certifies only 6.6x)
loss 341: a 1.5x certificate needs the GPU at <= 0.0044 of the honest specialist's energy (a GPU at parity certifies only 341.0x)
loss 512: a 1.5x certificate needs the GPU at <= 0.0029 of the honest specialist's energy (a GPU at parity certifies only 512.0x)
== 8. the lottery draw (README section 5b) ==
sink re-roll: log2 N=20, k=20480: 21 queries per draw, accepted with probability (1 - 1/N)^k = 0.9807
sink re-roll: log2 N=22, k=22528: 23 queries per draw, accepted with probability (1 - 1/N)^k = 0.9946
sink re-roll: log2 N=24, k=24576: 25 queries per draw, accepted with probability (1 - 1/N)^k = 0.9985
full-verified winner (beta = 0), log2 N=17: generic-route share of honest <= 0.2425 (ratio floor 4.12x) at c1 c2 = 1, cb = cr
full-verified winner (beta = 0), log2 N=20: generic-route share of honest <= 0.2236 (ratio floor 4.47x) at c1 c2 = 1, cb = cr
full-verified winner (beta = 0), log2 N=22: generic-route share of honest <= 0.2132 (ratio floor 4.69x) at c1 c2 = 1, cb = cr
full-verified winner (beta = 0), log2 N=24: generic-route share of honest <= 0.2041 (ratio floor 4.90x) at c1 c2 = 1, cb = cr

View file

@ -9,7 +9,7 @@
"binary": "",
"network_object": "none: a theorem statement and an audit of published papers, no chain state read or written",
"activation": "none (Track B lands documents and tests only)",
"profile_hashes": "R1 2025/1456 13c3646e...; R2 2018/221 2a466b97...; R3 2017/225 29c5a9c0...; R4 2026/1024 aa6caa39...; R16 arXiv 2207.11519 ac273393...; params.py 7ac7fd48..., params.txt a98ac460..."
"profile_hashes": "R1 2025/1456 13c3646e...; R2 2018/221 2a466b97...; R3 2017/225 29c5a9c0...; R4 2026/1024 aa6caa39...; R16 arXiv 2207.11519 ac273393...; params.py cb9ed2c0..., params.txt 7804979e..."
},
"claim_impact": "none: the composed accepted-proof energy statement is a draft with named proof obligations; the published constants cannot carry a 1.5x certificate (loss at least 6.6x on the generic route, at least 341x on the red-blue route); every row NOT RUN until the panel reads it",
"reviewer": "",
@ -20,7 +20,7 @@
"status": "NOT RUN",
"method": "model",
"evidence": "docs/analysis/mhpow/b4/README.md; docs/analysis/mhpow/b4/params.txt; docs/analysis/mhpow/b4/RUNS.md; tools/mhpow/b4/params.py",
"note": "NOT RUN: statement and losses written; terms 2 (transfers) and the amortisation of terms 2 and 3 are open theorems; L is BLOCKED (no lower-bound certificate for any technology coefficient); X5 rows stay WITNESS (E_D)",
"note": "NOT RUN: statement and losses written; the lottery draw (B4-OB-LOT: the naive root lottery FAIL, the replacement BLOCKED); terms 2 (transfers) and the amortisation of terms 2 and 3 are open theorems; L is BLOCKED (no lower-bound certificate for any technology coefficient); X5 rows stay WITNESS (E_D)",
"in_progress": true
}
]

View file

@ -0,0 +1,53 @@
# B4: what a Track B construction must meet to be worth a proof (one page)
9 October 2026, 11:xx UK, for the B1 (a4490b2dfe9114a55) and B3 (a8e608abf1567ff87) candidates due 11:45. NOT RUN: requirements,
not results. The reproduction of R1 (Blocki and Smearsoll, eprint 2025/1456) stays the control; its numbers are BOUND (L) rows in
README.md beside this page. Inputs by row: B2's O-07 and B-T1 to B-T8 (docs/analysis/mhpow/b2/README.md), X7's s rows
(docs/analysis/class-v6/1p5x/x7/README.md), and B3's and B5's findings as the coordinator relayed them at 10:4x UK (not yet landed).
## The four requirements
| # | requirement | the number to meet | why (source) | what fails it |
|---|---|---|---|---|
| Q1 | Every lottery draw costs a fresh labelling (phi = 1), or a per-draw work bound is stated and proved | draws per labelling = 1. Today: 2N / (log2 N + 1), about 1.3 million at N = 2^24 (B2 O-07) | B4 Lemma C (README 5b): any value over an MTP certificate re-rolls through the sink for log2 N + 1 calls, accepted with (1 - 1/N)^k | a lottery over tau with spot-check verification only; a lottery over chi alone (screened for one hash) |
| Q2 | The honest path is bandwidth-bound on GDDR7 and fills the GPU by memory traffic, not by instance count | (a) GPU wall joules per byte moved, hashing included: at most 1.5 x the opponent's per byte: 99 pJ/B against a GDDR7 board (66), 57 against HBM3 (38), 33 against near-memory (22) (X7 s rows, 32 B sectors). (b) Access unit at least one DRAM row: X7 shows the 32 B random read at 8.7 nJ knee on the 5090 (272 pJ/B, s = 4.1 to 12.5), so 32 B dependent reads are excluded. (c) Hash input bytes per byte moved rho <= 1, and the hash's GPU energy per byte well under its memory energy per byte | R3 section 4: advantage >= (c_b,GPU + rho c_r,GPU) / (c_b,ASIC + rho c_r,ASIC), with c_r,ASIC near 0; B3: one sequential chain per instance leaves the 5090 equal to 27 to 44 CPU cores at 32 MiB | narrow labels (32 B); one chain per instance with no intra-label parallelism; a label hash costing more per byte than the memory |
| Q3 | Instance state exceeds the largest SRAM in the declared technology set, for the graph's best low-space schedule | DRSample: S_instance >= log2 N x M_SRAM / C (it has a pebbling in C N / log2 N labels and time N: README sec. 8; 186 MiB x C for a 4 GiB state). A graph with no o(N)-space, O(N)-time schedule: S_instance >= M_SRAM x a stated constant | R2 section 5.4 (no transfer bound above m = C N / log N); B5: the full-SRAM opponent at 32 MiB pays 7.4 to 7.6 mJ per instance, 92 percent label-hash core ops, i.e. it is hash-bound and an ASIC wins hashing | DRSample at any instance size below log2 N x M_SRAM; M_SRAM undeclared (the panel declares it: row R-Q3) |
| Q4 | The certificate's composed losses stay under 2x | bound >= E_honest / 2 in joules, with the full-SRAM and near-memory opponents inside it | today: the generic route certifies at most 0.151 of honest (0.213 for a fully verified winner); the red-blue route loses at least 341x at rho = 0.25 (README 7) | any route through R2 Theorem 4.5 (the square root is inherent); R2's published constants |
## Q4 in detail: the lemma that has to change for each loss
| loss (README 7) | published factor | what must change | candidate |
|---|---|---|---|
| L1 extraction hint | 4x | label width w >= 1 KiB: theta / w = 0.976 at q = 2^64 (B4 restatement of R1 Lemma 3, params.txt sec. 2) | wide labels (Q2 wants them anyway); the RO for wide labels from a permutation per R16 (eps/40, cache 20 delta m: a new loss to tighten) |
| L2 red nodes | 2x | beta = 0 for winners | full verification of winning blocks (Q1's fix does this) |
| L3 depth-robustness | c1 c2 / log2 N (4 log N / (c3 c4) in B2's form) | a graph with e + d <= (1 - eps) N (eps-extreme depth-robust, R1 sec. 6 citing ABP18, in-degree O(log N)): cc >= e d up to (1 - eps)^2 N^2 / 4 against the honest N^2 / 2 | ABP18's graphs; their in-degree O(log N) raises bytes per label hashed (Q2 (c)) |
| L5 generic cmc to joules | sqrt(c_b c_r) / (c_b + c_r) and a square root | do not use it; prove energy directly | none: inherent to R2 Theorem 4.5 |
| L6 energy to red-blue | eps/16, cache 9m | R2 Theorem 3.3's interval partition (3m and 4m QueryFirst sets, Lemma 3.9's 2^(-2mw/5)) re-proved with constant >= 1/2 and cache inflation <= 2m | new lemma (B4) |
| L7 the graph's red-blue cost | (1 - rho)/16 of N c_b, nothing above C N / log N | a graph whose red-blue cost is >= (1/2) N c_b for every cache up to M_SRAM | the bit-reversal shape of R3 Theorem 2 is near-tight in the pebbling model ((c_b + c_r) n (1 - ...) for n > 2 m c_b / c_r) but has low cc; a graph with both is the design target |
| L11 amortisation | open | the union-graph form of R1 and R2 for J distinct chi (B-T5) | B4 |
**Q5 (a cap, from B2's B-T8).** One labelling per draw must finish inside the template's life: N t_seq <= rho x 1 s, so the instance is at most b rho / t_seq bytes (b = bytes per label, t_seq = one dependent label step). Q3 sets the floor; the construction must show the window between them is not empty at the declared M_SRAM. Wide labels (Q2) widen it: the cap grows with b, the floor does not.
## B2's B-T rows, answered or BLOCKED
| row | answer |
|---|---|
| B-T1 graph sampling failure | BLOCKED: needs ABH17's tail bound (eprint 2017/443 not fetched, README B4-B01). Q3 and L3 point away from sampled DRSample in any case. Question: the probability a seed-sampled DRSample at N = 2^20 to 2^24 is not (c3 N/log N, c4 N)-depth-robust, and whether an era re-seed lets a seed-biasing party search for a weak graph. |
| B-T2 c3, c4 | BLOCKED (README B4-B03): R1 Fact 8 is existential; ABH17 not fetched. Every DRSample number stays a sensitivity row. |
| B-T3 the lottery | ANSWERED in shape (README 5b, B4 Lemma C, NOT RUN): no W with polylog sampled verification meets the requested bound inside MTP; the replacement is full verification of winners (unique output, AS15 per trial) with spot checks as the DoS pre-filter. That is Q1. B1 executed the re-roll as fixture A6 (attacks-n10-k16.json 805035eb on mhpow-b1 e9f94df6a: 193 to 200 of 200 re-rolls accepted per labelling), a witness for Lemma C. |
| B-T4 adaptive chi | ANSWERED as a loss (B4 restatement, NOT RUN): Collision, BadOrder, IE and LuckyQuery are already unions over the whole trace; MisColor becomes q N 2^-lambda (a union over at most q candidate chi). |
| B-T5 multi-instance | BLOCKED (README B4-OB-LOT-3): the union graph of J copies, cc additive over components, the extractor on the union; the terms that scale with J are MisColor (J N 2^-lambda) and the per-copy LuckyQuery. Proof not written. |
| B-T6 lambda | ANSWERED as a constraint: w >= 8 log2 q + 4 under R1 Lemma 3 as stated (516 to 772 bits for q = 2^64 to 2^96), or the general charge w - 2 log2 q - 1 - s per pebble; R2 Theorem 3.3 needs w > 20 log2 q (1,280 bits at q = 2^64). Q2's labels of 1 KiB or more meet both; BLAKE2b's 512-bit cap means an XOF or a permutation (R16). |
| B-T7 role bytes | ANSWERED by reading (not a proof audit): the extractor locates labels by query index and offset (R1 Theorem 5's hint), so a fixed role prefix only shifts offsets; Lemmas 7, 8, 10 hold for any query form; the Merkle trace of Theorem 4 needs the Merkle query form to be distinct from the label form, which the role byte guarantees. No step uses a cross-role coincidence. |
| B-T8 memory-time to energy | ANSWERED: README sections 5, 7, 8 (generic 0.151, red-blue >= 341x, the transfer term void above C N / log N). B2's template cap N t_seq <= rho x 1 s bounds the instance from above (Q5); with Q3's floor the window is log2 N x M_SRAM / C <= N b <= b rho / t_seq, and for DRSample it may be empty. |
## Rows this page opens
| row | owner | question |
|---|---|---|
| R-Q2 | B3 with X7 | The 5090's wall pJ per byte moved at row-sized sequential access with the label hash folded in, at stock and at the knee. If it exceeds 33 pJ/B, no construction certifies 1.5x against near-memory by R3 section 4's limit, before any proof loss. This is the kill test and the first row to take. |
| R-Q3 | the panel | M_SRAM: the largest on-die or stacked SRAM in the declared technology set (plan section 8). Q3's instance size follows from it. |
| R-Q4 | B4 | The two lemmas of Q4 (L6 at constant >= 1/2, L7 for a graph with both high cc and near-tight red-blue cost), or a proof that 2x is out of reach for them. |
The quantum claim stays classical: every bound here is in the classical parallel random oracle model and no quantum speedup is
claimed or estimated.

File diff suppressed because one or more lines are too long

View file

@ -15,6 +15,7 @@ Status: NOT RUN. A model, landed as a document and its tests; nothing activates.
| `consensus/core/src/unit.rs` (8 and 18 decimals) | blob `6af7040f07b939e71f8930090f01d022c6136e87` |
| `site/litepaper.html` in the tree the generator ran on (each quoted sentence is checked present) | sha256 `aec583e6e868eb2d3aa8474df3f8892eeebba8a98c887a019ea86bd2efc2f786` |
| TV-01's supply spec, `docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json` (read by the generator; section 9) | sha256 `3ffdd3084aff06d963df6c326cda88719d576f07d9cbfb56079de1a8b40c4403` |
| TV-04's security-budget model, `docs/plans/igneum-2.0-master/token-value/phase0/tv-04/` (its baseline and multiples used in section 6; its emission read in section 9) | `README.md` sha256 `7fb02bcdab201470a152b09cfdff158639e70afd01fa2727c66c1c60c00ed03d`, `emission.csv` sha256 `29230149e2b030bbdb3c89fc6c3405f4b4ed248658ac4c2b4162a48849098b78` |
## What D02 asks
@ -35,7 +36,7 @@ The volume names the shape of the longer branch and no number. B is its literal
- The split is the consensus split: 80 percent of each block's subsidy to the block's producer and 20 percent to the proving escrow (igneum.rs `PROVING_POOL_SHARE_PERCENT`). It is applied to each year's total; the per-block floor moves at most one base unit a block toward the producer, and the signing bonus moves part of a silent block's producer share to the pool without changing the total.
- Two views of the same rule. The supply and issuance tables use the node's closed form (`scheduled_supply_at`, per DAA second). The paid model sums one `block_subsidy` per DAA score at mainnet's 10 blocks a second (params.rs `blockrate`, the coinbase's rate), which is what the coinbase pays and what TV-01's spec sums; the two differ by the per-block floors, under one IGN in total, except at the far tail, where the per-block floor reaches zero years before the per-second rate does (the schedules table). Per-block figures are at 10 blocks a second.
- No price appears. Every amount is native IGN or base units.
- Fee dependence uses a reference security budget of 1 percent of the cap a year (40M IGN), a stated yardstick and not a cost estimate, scaled by TV-04's revenue multiples (0.25x / 1x / 4x / 10x). "Fees needed" is the first year the subsidy alone falls under the budget; "fees exceed subsidy" is the first year the subsidy falls under half of it, after which fees must pay more than the subsidy for the budget to hold. Both read the subsidy's decline alone. The fee series is a parameter, never a forecast: `--fee-flat-ign N --fee-growth-bps G` prints the first year the subsidy plus that series falls under each budget. TV-04's own budget replaces the yardstick when it lands (BLOCKED row B2).
- Fee dependence uses TV-04's own frame. TV-04's baseline (one BU) is the current schedule's whole year-1 subsidy as paid, 963,038,999.99 IGN, and its scenarios hold each coin's purchasing power at a constant multiple of the baseline path (0.1x / 0.25x / 1x / 4x / 10x; 0.1x is the minus-90-percent case). Holding the year-1 security level of one BU on the path at multiple m takes the baseline divided by m in native IGN a year, the same target for every schedule. "Fees needed" is the first year the subsidy paid alone falls under that; "fees exceed subsidy" is the first year it falls under half of it, after which fees must pay more than the subsidy for the level to hold. Both read the subsidy's decline alone. One BU is TV-04's yardstick, not a required cost: the minimum role costs are TV-04's panel cells (BLOCKED row B2). The fee series is a parameter, never a forecast: `--fee-flat-ign N --fee-growth-bps G` prints the first year the subsidy plus that series falls under each target.
- The volume defines no Gini-style cohort measure, so concentration is the share of the cap issued by each horizon and the share issued in years 1 to 2 against years 3 to 20.
## The schedules as code
@ -133,27 +134,28 @@ Meaning: the ratio column is how many coins years 1 to 2 issue for every coin ye
Meaning: a miner joining in year 10 sees 6.3% of the year-1 block subsidy under A, 25.0% under B and 21.0% under C; B pays that miner 2.0 times what A pays.
## 6. Fee dependence at TV-04's revenue multiples (the subsidy's decline alone)
## 6. Fee dependence at TV-04's multiples (the subsidy's decline alone, the target one BU a year)
| TV-04 multiple | reference budget a year (IGN) | A: year fees are needed / year fees exceed the subsidy | B: year fees are needed / year fees exceed the subsidy | C: year fees are needed / year fees exceed the subsidy |
| TV-04 multiple | native budget a year that holds one BU (IGN) | A: year fees are needed / year fees exceed the subsidy | B: year fees are needed / year fees exceed the subsidy | C: year fees are needed / year fees exceed the subsidy |
|---|---|---|---|---|
| 0.25x | 10M | 15 / 17 | 25 / 29 | 25 / 29 |
| 1x | 40M | 11 / 13 | 17 / 21 | 17 / 21 |
| 4x | 160M | 7 / 9 | 9 / 13 | 9 / 13 |
| 10x | 400M | 5 / 7 | 5 / 9 | 4 / 8 |
| 0.1x | 9,630M | 1 / 1 | 1 / 1 | 1 / 1 |
| 0.25x | 3,852M | 1 / 1 | 1 / 1 | 1 / 1 |
| 1x | 963M | 3 / 5 | 1 / 1 | 1 / 3 |
| 4x | 241M | 7 / 9 | 9 / 13 | 7 / 11 |
| 10x | 96M | 9 / 11 | 13 / 17 | 12 / 16 |
Meaning: at the 1x budget, fees must exceed the subsidy from year 13 under A, year 21 under B and year 21 under C, so a longer schedule moves fee dependence later at the cost of a smaller early subsidy. At the 10x budget the order can reverse: fees are first needed in year 5 under A, 5 under B and 4 under C, because a large budget is crossed early by any curve that starts lower.
Meaning: at 1x, fees must exceed the subsidy from year 5 under A, year 1 under B and year 3 under C, because B's and C's first-year subsidy is only 50.00% and 63.44% of the baseline. B is the current curve at half the rate by construction, so at 1x its fees must match its subsidy from the first year; the integer floors put it a few base units under half, which is why the table reads year 1. At 4x the years are 9, 13 and 11, and at 10x 11, 17 and 16, so a longer schedule moves fee dependence later only where each coin buys more than at launch; at 0.25x every schedule needs fees to exceed the subsidy from year 1, 1 and 1.
## 7. The stretch factor (B on time axes x2, x3 and x4, beside A)
The volume gives no factor; this sweep shows how the trade moves with it.
| schedule | year 1 subsidy (IGN) | issued by year 2 | by year 5 | by year 10 | by year 20 | fees exceed subsidy at 1x (year) |
|---|---|---|---|---|---|---|
| A | 963.0M | 49.08% | 80.33% | 95.95% | 98.98% | 13 |
| B | 481.5M | 24.54% | 55.79% | 80.79% | 96.41% | 21 |
| B3 | 321.0M | 16.36% | 41.36% | 66.36% | 89.28% | 31 |
| B4 | 240.8M | 12.27% | 31.02% | 56.02% | 81.02% | 33 |
| schedule | year 1 subsidy (IGN) | issued by year 2 | by year 5 | by year 10 | by year 20 | fees exceed subsidy at 4x (year) | at 10x (year) |
|---|---|---|---|---|---|---|---|
| A | 963.0M | 49.08% | 80.33% | 95.95% | 98.98% | 9 | 11 |
| B | 481.5M | 24.54% | 55.79% | 80.79% | 96.41% | 13 | 17 |
| B3 | 321.0M | 16.36% | 41.36% | 66.36% | 89.28% | 13 | 19 |
| B4 | 240.8M | 12.27% | 31.02% | 56.02% | 81.02% | 17 | 25 |
## 8. The litepaper against the code
@ -166,9 +168,9 @@ The volume gives no factor; this sweep shows how the trade moves with it.
Meaning: the litepaper's sentences describe the curve without the 30-day ramp; the code, ramp included, issues slightly less in the first years. The words "approached and never reached" hold for every schedule here: each scheduled total is under the cap (table above, last column).
## 9. Reconciliation with TV-01's supply spec
## 9. Reconciliation with TV-01's supply spec and TV-04's emission
The generator reads TV-01's spec from the tree and compares every rule field, the cap, the unit and each profile's year-end supplies, terminal DAA score, terminal supply and cap shortfall, exact integers, against its own paid model of A. Result: all 32 rows agree exactly.
The generator reads TV-01's spec and TV-04's `emission.csv` from the tree and compares every rule field, the cap, the unit, each TV-01 profile's year-end supplies, terminal DAA score, terminal supply and cap shortfall, and each of TV-04's yearly emissions, exact integers, against its own paid model of A. Result: all 52 rows agree exactly.
| profile | quantity | TV-01 supply spec | this generator (paid model) | agree |
|---|---|---|---|---|
@ -204,8 +206,28 @@ The generator reads TV-01's spec from the tree and compares every rule field, th
| devnet-4 (1 block/s) | terminal DAA score (first unpaid) | `4102488000` | `4102488000` | yes |
| devnet-4 (1 block/s) | terminal supply | `3963038999610200483289816000` | `3963038999610200483289816000` | yes |
| devnet-4 (1 block/s) | cap shortfall | `36961000389799516710184000` | `36961000389799516710184000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 1 | `963038999991632485488480000` | `963038999991632485488480000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 2 | `999999999872856000000000000` | `999999999872856000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 3 | `499999999936428000000000000` | `499999999936428000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 4 | `499999999936428000000000000` | `499999999936428000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 5 | `249999999968214000000000000` | `249999999968214000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 6 | `249999999968214000000000000` | `249999999968214000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 7 | `124999999984107000000000000` | `124999999984107000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 8 | `124999999984107000000000000` | `124999999984107000000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 9 | `62499999992053500000000000` | `62499999992053500000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 10 | `62499999992053500000000000` | `62499999992053500000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 11 | `31249999996026750000000000` | `31249999996026750000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 12 | `31249999996026750000000000` | `31249999996026750000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 13 | `15624999998013375000000000` | `15624999998013375000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 14 | `15624999998013375000000000` | `15624999998013375000000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 15 | `7812499999006687500000000` | `7812499999006687500000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 16 | `7812499999006687500000000` | `7812499999006687500000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 17 | `3906249999503343750000000` | `3906249999503343750000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 18 | `3906249999503343750000000` | `3906249999503343750000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 19 | `1953124999751671875000000` | `1953124999751671875000000` | yes |
| TV-04 emission.csv (10 blocks/s) | emission in year 20 | `1953124999751671875000000` | `1953124999751671875000000` | yes |
Meaning: the schedule this comparison calls A is TV-01's mainnet contract profile to the base unit, so every difference shown for B and C is measured from the compiled mainnet schedule and not from a model of it.
Meaning: the schedule this comparison calls A is TV-01's mainnet contract profile and TV-04's emission to the base unit, so every difference shown for B and C is measured from the compiled mainnet schedule and not from a model of it.
## Commands and checksums
@ -213,15 +235,15 @@ Every run is on build-3 under the pid file `~/tv-d02/run.pid` (`tools/token-valu
| what | command | sha256 |
|---|---|---|
| the generator | `python3 tools/token-value/d02/d02_emission.py --out docs/plans/igneum-2.0-master/token-value/phase0/d02` | `ef1d48182c1702ff59c21eb7373f4cea9e2de64f98a2a86426f2c3309b25ed03` |
| the README template | (read by the generator) | `009b07323513790a05e8bd4575ffd2d6b92d37d2d486796de29c55433dc195f0` |
| the generator | `python3 tools/token-value/d02/d02_emission.py --out docs/plans/igneum-2.0-master/token-value/phase0/d02` | `2a6bf3231d94618b049a08474de0544ddff7000c1e57eda290d07ef2882e6b8e` |
| the README template | (read by the generator) | `a7009a356a5c750327084f785fa641df55d5d49c8944d436add5b0fce715d249` |
| the tests (known-failed first) | `python3 tools/token-value/d02/test_d02.py` | `87252bf447f7c4fcd894790ca42839e1e511a9fb1cda53e9eed3807313bae1b9` |
| the byte-identical check | `python3 tools/token-value/d02/d02_emission.py --check docs/plans/igneum-2.0-master/token-value/phase0/d02` | (exit 0 = byte-identical) |
| `d02-schedules.csv` (parameters, curve steps, terminal values) | the generator | `1abd30eb7879607a43052c74bf2a6ee4fc27202754d6700cacbfb342ea20e3ae` |
| `d02-years.csv` (years 1 to 40, every schedule) | the generator | `c03933af686c9c11454a0b1c188bf2dfa7903549dcc274fdbe43cd2c609723fd` |
| `d02-horizons.csv` (years 1, 2, 5, 10, 20) | the generator | `4329ec9f51015577f297f56440b486543e4a40f1cb075270f7b17b02da5f542f` |
| `d02-fee-dependence.csv` (every multiple, every schedule, fees required at each horizon) | the generator | `07375dc4cd075a720591326a792c238c54b28a0d8fa9decf38534bd2d738f854` |
| `d02-tv01-reconcile.csv` (section 9, every row) | the generator | `34fcfc388b138ffcd18600d661debe3458c82c37b087501d0d6b17f471dd2892` |
| `d02-fee-dependence.csv` (every multiple, every schedule, fees required at each horizon) | the generator | `bd71cbed36a6939185d71cf48e3c3d733112720247aefeff432bc07ee2ad81db` |
| `d02-tv01-reconcile.csv` (section 9, every row) | the generator | `4871f92ece47d43fe5a7188ef95d91984e878530d12f00430d795626ba9c591d` |
| `d02-manifest.sha256` (this README and every CSV) | the generator | (lists this file's sha) |
Searches for a crossing year run to year 1,000; an empty cell means the budget holds that long on the subsidy alone.
@ -240,10 +262,10 @@ Searches for a crossing year run to year 1,000; an empty cell means the budget h
| row | question | waits on | earliest clock (UK) |
|---|---|---|---|
| B0 | Which schedule launches: A, B (and at which factor), C, or another same-cap shape. This document does not pick it. | the founder ("pending evidence") after the independent panel reads this | the founder's word |
| B2 | Replace the 1 percent yardstick with TV-04's role-by-role budget and its revenue multiples' base | TV-04's landing | TV-04's clock |
| B2 | The minimum cost of each role in BU (what the security budget must actually buy), so the fee-dependence years become pass or fail rows | TV-04's panel cells (N-min-hashrate, N-shards-year, N-min-hubs, N-maint-month, K-class) | the panel's word |
| B3 | Arrival times and cohort shares under each schedule (delayed entrants as people, not blocks) | TV-03's simulation inputs and a cohort definition | TV-03's clock |
Closed since the first version (09:44 UK): B1, the reconciliation with TV-01's supply spec (section 9); B4, the litepaper's year-five tail-vote sentence, which the site lane rewrote under D01 (TV-01's conflict C01).
Closed since the first version (09:44 UK): B2's first half, the 1 percent yardstick, replaced by TV-04's baseline and multiples (section 6); B1, the reconciliation with TV-01's supply spec (section 9); B4, the litepaper's year-five tail-vote sentence, which the site lane rewrote under D01 (TV-01's conflict C01).
## Registry

View file

@ -1,21 +1,26 @@
key,multiple,reference_budget_base_units_per_year,fees_needed_from_year,fees_exceed_subsidy_from_year,fees_required_y1_base_units,fees_required_y2_base_units,fees_required_y5_base_units,fees_required_y10_base_units,fees_required_y20_base_units
A,0.25x,10000000000000000000000000,15,17,0,0,0,0,8046875000248328125000000
A,1x,40000000000000000000000000,11,13,0,0,0,0,38046875000248328125000000
A,4x,160000000000000000000000000,7,9,0,0,0,97500000007946500000000000,158046875000248328125000000
A,10x,400000000000000000000000000,5,7,0,0,150000000031786000000000000,337500000007946500000000000,398046875000248328125000000
B,0.25x,10000000000000000000000000,25,29,0,0,0,0,0
B,1x,40000000000000000000000000,17,21,0,0,0,0,8750000013835000000000000
B,4x,160000000000000000000000000,9,13,0,0,0,35000000055340000000000000,128750000013835000000000000
B,10x,400000000000000000000000000,5,9,0,0,150000000110680000000000000,275000000055340000000000000,368750000013835000000000000
C,0.25x,10000000000000000000000000,25,29,0,0,0,0,0
C,1x,40000000000000000000000000,17,21,0,0,0,0,16349110655747632561636600
C,4x,160000000000000000000000000,9,13,0,0,0,26210365993564584681976000,136349110655747632561636600
C,10x,400000000000000000000000000,4,8,0,0,81792830514963727905583000,266210365993564584681976000,376349110655747632561636600
B3,0.25x,10000000000000000000000000,37,43,0,0,0,0,0
B3,1x,40000000000000000000000000,25,31,0,0,0,0,0
B3,4x,160000000000000000000000000,13,19,0,0,0,0,118333333364929000000000000
B3,10x,400000000000000000000000000,1,7,78987000205397168500000000,66666666919432000000000000,66666666919432000000000000,233333333459716000000000000,358333333364929000000000000
B4,0.25x,10000000000000000000000000,41,49,0,0,0,0,0
B4,1x,40000000000000000000000000,25,33,0,0,0,0,0
B4,4x,160000000000000000000000000,9,17,0,0,0,35000000055340000000000000,97500000027670000000000000
B4,10x,400000000000000000000000000,1,9,159240250078069877500000000,150000000110680000000000000,150000000110680000000000000,275000000055340000000000000,337500000027670000000000000
key,multiple,budget_one_bu_base_units_per_year,fees_needed_from_year,fees_exceed_subsidy_from_year,fees_required_y1_base_units,fees_required_y2_base_units,fees_required_y5_base_units,fees_required_y10_base_units,fees_required_y20_base_units
A,0.1x,9630389999916324854884800000,1,1,8667350999924692369396320000,8630390000043468854884800000,9380389999948110854884800000,9567889999924271354884800000,9628436874916573183009800000
A,0.25x,3852155999966529941953920000,1,1,2889116999974897456465440000,2852156000093673941953920000,3602155999998315941953920000,3789655999974476441953920000,3850202874966778270078920000
A,1x,963038999991632485488480000,3,5,0,0,713039000023418485488480000,900538999999578985488480000,961085874991880813613480000
A,4x,240759749997908121372120000,7,9,0,0,0,178259750005854621372120000,238806624998156449497120000
A,10x,96303899999163248548848000,9,11,0,0,0,33803900007109748548848000,94350774999411576673848000
B,0.1x,9630389999916324854884800000,1,1,9148870500072464609896320000,9130390000137684854884800000,9380390000027004854884800000,9505389999971664854884800000,9599139999930159854884800000
B,0.25x,3852155999966529941953920000,1,1,3370636500122669696965440000,3352156000187889941953920000,3602156000077209941953920000,3727156000021869941953920000,3820905999980364941953920000
B,1x,963038999991632485488480000,1,1,481519500147772240500000000,463039000212992485488480000,713039000102312485488480000,838039000046972485488480000,931789000005467485488480000
B,4x,240759749997908121372120000,9,13,0,0,0,115759750053248121372120000,209509750011743121372120000
B,10x,96303899999163248548848000,13,17,0,0,0,0,65053900012998248548848000
C,0.1x,9630389999916324854884800000,1,1,9019410981380697609415098000,9095231463522175664043660000,9312182830431288582987618000,9496600365909889439698266000,9606739110572072487585816000
C,0.25x,3852155999966529941953920000,1,1,3241176981430902696484218000,3316997463572380751112780000,3533948830481493670056738000,3718366365960094526767386000,3828505110622277574654936000
C,1x,963038999991632485488480000,1,3,352059981456005240018778000,427880463597483294647340000,644831830506596213591298000,829249365985197070301946000,939388110647380118189496000
C,4x,240759749997908121372120000,7,11,0,0,0,106970115991472706185586000,217108860653655754073136000
C,10x,96303899999163248548848000,12,16,0,0,0,0,72653010654910881249864000
B3,0.1x,9630389999916324854884800000,1,1,9309377000121722023396320000,9297056666835756854884800000,9297056666835756854884800000,9463723333376040854884800000,9588723333281253854884800000
B3,0.25x,3852155999966529941953920000,1,1,3531143000171927110465440000,3518822666885961941953920000,3518822666885961941953920000,3685489333426245941953920000,3810489333331458941953920000
B3,1x,963038999991632485488480000,1,1,642026000197029654000000000,629705666911064485488480000,629705666911064485488480000,796372333451348485488480000,921372333356561485488480000
B3,4x,240759749997908121372120000,7,13,0,0,0,74093083457624121372120000,199093083362837121372120000
B3,10x,96303899999163248548848000,13,19,0,0,0,0,54637233364092248548848000
B4,0.1x,9630389999916324854884800000,1,1,9389630249994394732396320000,9380390000027004854884800000,9380390000027004854884800000,9505389999971664854884800000,9567889999943994854884800000
B4,0.25x,3852155999966529941953920000,1,1,3611396250044599819465440000,3602156000077209941953920000,3602156000077209941953920000,3727156000021869941953920000,3789655999994199941953920000
B4,1x,963038999991632485488480000,1,1,722279250069702363000000000,713039000102312485488480000,713039000102312485488480000,838039000046972485488480000,900539000019302485488480000
B4,4x,240759749997908121372120000,1,17,75977998883640000,0,0,115759750053248121372120000,178259750025578121372120000
B4,10x,96303899999163248548848000,17,25,0,0,0,0,33803900026833248548848000

1 key multiple reference_budget_base_units_per_year budget_one_bu_base_units_per_year fees_needed_from_year fees_exceed_subsidy_from_year fees_required_y1_base_units fees_required_y2_base_units fees_required_y5_base_units fees_required_y10_base_units fees_required_y20_base_units
2 A 0.25x 0.1x 10000000000000000000000000 9630389999916324854884800000 15 1 17 1 0 8667350999924692369396320000 0 8630390000043468854884800000 0 9380389999948110854884800000 0 9567889999924271354884800000 8046875000248328125000000 9628436874916573183009800000
3 A 1x 0.25x 40000000000000000000000000 3852155999966529941953920000 11 1 13 1 0 2889116999974897456465440000 0 2852156000093673941953920000 0 3602155999998315941953920000 0 3789655999974476441953920000 38046875000248328125000000 3850202874966778270078920000
4 A 4x 1x 160000000000000000000000000 963038999991632485488480000 7 3 9 5 0 0 0 713039000023418485488480000 97500000007946500000000000 900538999999578985488480000 158046875000248328125000000 961085874991880813613480000
5 A 10x 4x 400000000000000000000000000 240759749997908121372120000 5 7 7 9 0 0 150000000031786000000000000 0 337500000007946500000000000 178259750005854621372120000 398046875000248328125000000 238806624998156449497120000
6 B A 0.25x 10x 10000000000000000000000000 96303899999163248548848000 25 9 29 11 0 0 0 0 33803900007109748548848000 0 94350774999411576673848000
7 B 1x 0.1x 40000000000000000000000000 9630389999916324854884800000 17 1 21 1 0 9148870500072464609896320000 0 9130390000137684854884800000 0 9380390000027004854884800000 0 9505389999971664854884800000 8750000013835000000000000 9599139999930159854884800000
8 B 4x 0.25x 160000000000000000000000000 3852155999966529941953920000 9 1 13 1 0 3370636500122669696965440000 0 3352156000187889941953920000 0 3602156000077209941953920000 35000000055340000000000000 3727156000021869941953920000 128750000013835000000000000 3820905999980364941953920000
9 B 10x 1x 400000000000000000000000000 963038999991632485488480000 5 1 9 1 0 481519500147772240500000000 0 463039000212992485488480000 150000000110680000000000000 713039000102312485488480000 275000000055340000000000000 838039000046972485488480000 368750000013835000000000000 931789000005467485488480000
10 C B 0.25x 4x 10000000000000000000000000 240759749997908121372120000 25 9 29 13 0 0 0 0 115759750053248121372120000 0 209509750011743121372120000
11 C B 1x 10x 40000000000000000000000000 96303899999163248548848000 17 13 21 17 0 0 0 0 16349110655747632561636600 65053900012998248548848000
12 C 4x 0.1x 160000000000000000000000000 9630389999916324854884800000 9 1 13 1 0 9019410981380697609415098000 0 9095231463522175664043660000 0 9312182830431288582987618000 26210365993564584681976000 9496600365909889439698266000 136349110655747632561636600 9606739110572072487585816000
13 C 10x 0.25x 400000000000000000000000000 3852155999966529941953920000 4 1 8 1 0 3241176981430902696484218000 0 3316997463572380751112780000 81792830514963727905583000 3533948830481493670056738000 266210365993564584681976000 3718366365960094526767386000 376349110655747632561636600 3828505110622277574654936000
14 B3 C 0.25x 1x 10000000000000000000000000 963038999991632485488480000 37 1 43 3 0 352059981456005240018778000 0 427880463597483294647340000 0 644831830506596213591298000 0 829249365985197070301946000 0 939388110647380118189496000
15 B3 C 1x 4x 40000000000000000000000000 240759749997908121372120000 25 7 31 11 0 0 0 0 106970115991472706185586000 0 217108860653655754073136000
16 B3 C 4x 10x 160000000000000000000000000 96303899999163248548848000 13 12 19 16 0 0 0 0 118333333364929000000000000 72653010654910881249864000
17 B3 10x 0.1x 400000000000000000000000000 9630389999916324854884800000 1 7 1 78987000205397168500000000 9309377000121722023396320000 66666666919432000000000000 9297056666835756854884800000 66666666919432000000000000 9297056666835756854884800000 233333333459716000000000000 9463723333376040854884800000 358333333364929000000000000 9588723333281253854884800000
18 B4 B3 0.25x 10000000000000000000000000 3852155999966529941953920000 41 1 49 1 0 3531143000171927110465440000 0 3518822666885961941953920000 0 3518822666885961941953920000 0 3685489333426245941953920000 0 3810489333331458941953920000
19 B4 B3 1x 40000000000000000000000000 963038999991632485488480000 25 1 33 1 0 642026000197029654000000000 0 629705666911064485488480000 0 629705666911064485488480000 0 796372333451348485488480000 0 921372333356561485488480000
20 B4 B3 4x 160000000000000000000000000 240759749997908121372120000 9 7 17 13 0 0 0 35000000055340000000000000 74093083457624121372120000 97500000027670000000000000 199093083362837121372120000
21 B4 B3 10x 400000000000000000000000000 96303899999163248548848000 1 13 9 19 159240250078069877500000000 0 150000000110680000000000000 0 150000000110680000000000000 0 275000000055340000000000000 0 337500000027670000000000000 54637233364092248548848000
22 B4 0.1x 9630389999916324854884800000 1 1 9389630249994394732396320000 9380390000027004854884800000 9380390000027004854884800000 9505389999971664854884800000 9567889999943994854884800000
23 B4 0.25x 3852155999966529941953920000 1 1 3611396250044599819465440000 3602156000077209941953920000 3602156000077209941953920000 3727156000021869941953920000 3789655999994199941953920000
24 B4 1x 963038999991632485488480000 1 1 722279250069702363000000000 713039000102312485488480000 713039000102312485488480000 838039000046972485488480000 900539000019302485488480000
25 B4 4x 240759749997908121372120000 1 17 75977998883640000 0 0 115759750053248121372120000 178259750025578121372120000
26 B4 10x 96303899999163248548848000 17 25 0 0 0 0 33803900026833248548848000

View file

@ -1,8 +1,8 @@
# input ef1d48182c1702ff59c21eb7373f4cea9e2de64f98a2a86426f2c3309b25ed03 tools/token-value/d02/d02_emission.py
# input 009b07323513790a05e8bd4575ffd2d6b92d37d2d486796de29c55433dc195f0 tools/token-value/d02/README.template.md
# input 2a6bf3231d94618b049a08474de0544ddff7000c1e57eda290d07ef2882e6b8e tools/token-value/d02/d02_emission.py
# input a7009a356a5c750327084f785fa641df55d5d49c8944d436add5b0fce715d249 tools/token-value/d02/README.template.md
1abd30eb7879607a43052c74bf2a6ee4fc27202754d6700cacbfb342ea20e3ae d02-schedules.csv
c03933af686c9c11454a0b1c188bf2dfa7903549dcc274fdbe43cd2c609723fd d02-years.csv
4329ec9f51015577f297f56440b486543e4a40f1cb075270f7b17b02da5f542f d02-horizons.csv
07375dc4cd075a720591326a792c238c54b28a0d8fa9decf38534bd2d738f854 d02-fee-dependence.csv
34fcfc388b138ffcd18600d661debe3458c82c37b087501d0d6b17f471dd2892 d02-tv01-reconcile.csv
4f5a7ac5aba5fee1aef646e4e3f55fdb491db197429654cfdba0bab9bfb38db3 README.md
bd71cbed36a6939185d71cf48e3c3d733112720247aefeff432bc07ee2ad81db d02-fee-dependence.csv
4871f92ece47d43fe5a7188ef95d91984e878530d12f00430d795626ba9c591d d02-tv01-reconcile.csv
e4292764e922a963de68ace7fca8520a6c334cf6754c869823670f5bac40be90 README.md

View file

@ -31,3 +31,23 @@ profile,quantity,tv01_spec,d02_generator,agree
"devnet-4 (1 block/s)","terminal DAA score (first unpaid)",4102488000,4102488000,yes
"devnet-4 (1 block/s)","terminal supply",3963038999610200483289816000,3963038999610200483289816000,yes
"devnet-4 (1 block/s)","cap shortfall",36961000389799516710184000,36961000389799516710184000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 1",963038999991632485488480000,963038999991632485488480000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 2",999999999872856000000000000,999999999872856000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 3",499999999936428000000000000,499999999936428000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 4",499999999936428000000000000,499999999936428000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 5",249999999968214000000000000,249999999968214000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 6",249999999968214000000000000,249999999968214000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 7",124999999984107000000000000,124999999984107000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 8",124999999984107000000000000,124999999984107000000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 9",62499999992053500000000000,62499999992053500000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 10",62499999992053500000000000,62499999992053500000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 11",31249999996026750000000000,31249999996026750000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 12",31249999996026750000000000,31249999996026750000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 13",15624999998013375000000000,15624999998013375000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 14",15624999998013375000000000,15624999998013375000000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 15",7812499999006687500000000,7812499999006687500000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 16",7812499999006687500000000,7812499999006687500000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 17",3906249999503343750000000,3906249999503343750000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 18",3906249999503343750000000,3906249999503343750000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 19",1953124999751671875000000,1953124999751671875000000,yes
"TV-04 emission.csv (10 blocks/s)","emission in year 20",1953124999751671875000000,1953124999751671875000000,yes

1 profile quantity tv01_spec d02_generator agree
31 devnet-4 (1 block/s) terminal DAA score (first unpaid) 4102488000 4102488000 yes
32 devnet-4 (1 block/s) terminal supply 3963038999610200483289816000 3963038999610200483289816000 yes
33 devnet-4 (1 block/s) cap shortfall 36961000389799516710184000 36961000389799516710184000 yes
34 TV-04 emission.csv (10 blocks/s) emission in year 1 963038999991632485488480000 963038999991632485488480000 yes
35 TV-04 emission.csv (10 blocks/s) emission in year 2 999999999872856000000000000 999999999872856000000000000 yes
36 TV-04 emission.csv (10 blocks/s) emission in year 3 499999999936428000000000000 499999999936428000000000000 yes
37 TV-04 emission.csv (10 blocks/s) emission in year 4 499999999936428000000000000 499999999936428000000000000 yes
38 TV-04 emission.csv (10 blocks/s) emission in year 5 249999999968214000000000000 249999999968214000000000000 yes
39 TV-04 emission.csv (10 blocks/s) emission in year 6 249999999968214000000000000 249999999968214000000000000 yes
40 TV-04 emission.csv (10 blocks/s) emission in year 7 124999999984107000000000000 124999999984107000000000000 yes
41 TV-04 emission.csv (10 blocks/s) emission in year 8 124999999984107000000000000 124999999984107000000000000 yes
42 TV-04 emission.csv (10 blocks/s) emission in year 9 62499999992053500000000000 62499999992053500000000000 yes
43 TV-04 emission.csv (10 blocks/s) emission in year 10 62499999992053500000000000 62499999992053500000000000 yes
44 TV-04 emission.csv (10 blocks/s) emission in year 11 31249999996026750000000000 31249999996026750000000000 yes
45 TV-04 emission.csv (10 blocks/s) emission in year 12 31249999996026750000000000 31249999996026750000000000 yes
46 TV-04 emission.csv (10 blocks/s) emission in year 13 15624999998013375000000000 15624999998013375000000000 yes
47 TV-04 emission.csv (10 blocks/s) emission in year 14 15624999998013375000000000 15624999998013375000000000 yes
48 TV-04 emission.csv (10 blocks/s) emission in year 15 7812499999006687500000000 7812499999006687500000000 yes
49 TV-04 emission.csv (10 blocks/s) emission in year 16 7812499999006687500000000 7812499999006687500000000 yes
50 TV-04 emission.csv (10 blocks/s) emission in year 17 3906249999503343750000000 3906249999503343750000000 yes
51 TV-04 emission.csv (10 blocks/s) emission in year 18 3906249999503343750000000 3906249999503343750000000 yes
52 TV-04 emission.csv (10 blocks/s) emission in year 19 1953124999751671875000000 1953124999751671875000000 yes
53 TV-04 emission.csv (10 blocks/s) emission in year 20 1953124999751671875000000 1953124999751671875000000 yes

View file

@ -1,11 +1,11 @@
host igneum-build-3 python Python 3.12.3 commit 71e1e14841a1678b3357c42e3fd8376e1acf85c6 utc 2026-10-09T09:19:28Z pidfile /home/build/tv-d02/run.pid
host igneum-build-3 python Python 3.12.3 commit cc3416c5b27c5d0c5007352d86a38c456c97b88a utc 2026-10-09T09:45:06Z pidfile /home/build/tv-d02/run.pid
1abd30eb7879607a43052c74bf2a6ee4fc27202754d6700cacbfb342ea20e3ae d02-schedules.csv
c03933af686c9c11454a0b1c188bf2dfa7903549dcc274fdbe43cd2c609723fd d02-years.csv
4329ec9f51015577f297f56440b486543e4a40f1cb075270f7b17b02da5f542f d02-horizons.csv
07375dc4cd075a720591326a792c238c54b28a0d8fa9decf38534bd2d738f854 d02-fee-dependence.csv
34fcfc388b138ffcd18600d661debe3458c82c37b087501d0d6b17f471dd2892 d02-tv01-reconcile.csv
4f5a7ac5aba5fee1aef646e4e3f55fdb491db197429654cfdba0bab9bfb38db3 README.md
f632f8d14e6c7446c47b0ec0cf03a934f47ed4a43d691e0a687451a6bd705431 d02-manifest.sha256
bd71cbed36a6939185d71cf48e3c3d733112720247aefeff432bc07ee2ad81db d02-fee-dependence.csv
4871f92ece47d43fe5a7188ef95d91984e878530d12f00430d795626ba9c591d d02-tv01-reconcile.csv
e4292764e922a963de68ace7fca8520a6c334cf6754c869823670f5bac40be90 README.md
7d3e9ec30978c86f25464f66eaccc054f9ac8cd683ec3336e68848722cff0552 d02-manifest.sha256
test_a_one_byte_change_is_caught (__main__.ByteIdentical.test_a_one_byte_change_is_caught) ... ok
test_outputs_regenerate_byte_identically (__main__.ByteIdentical.test_outputs_regenerate_byte_identically) ... ok
test_current_at_8_decimals_is_the_33_step_table (__main__.NodeConstants.test_current_at_8_decimals_is_the_33_step_table) ... ok
@ -17,7 +17,7 @@ test_paid_and_closed_form_agree_within_one_coin (__main__.TV01Spec.test_paid_and
test_the_paid_model_reproduces_tv01_exactly (__main__.TV01Spec.test_the_paid_model_reproduces_tv01_exactly) ... ok
----------------------------------------------------------------------
Ran 9 tests in 4.011s
Ran 9 tests in 6.928s
OK
exit 0

View file

@ -475,6 +475,48 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- POW-02 Validate generated programs and index folding: full
- POW-04 Evaluate connected-resource restructuring: full
### native:tv-02
- Command: `the two independent supply replays of docs/plans/igneum-2.0-master/token-value/phase0/tv-02: tools/token-value/tv-02/run-a.sh (Rust on the node issuance code, build-5: build, genesis, straight devnet4|mainnet|devnet, reorg fixtures) and run-b.sh (Python from the rules in words, build-6: selftest, straight, reorg, the TV-01 spec through replay-spec/tv01_adapter.py), then compare-all.sh on build-5 (rules-v0.1-genesis-rule, rules-tv01-spec); each run under its pid file in the out dir`
- Box class: two build boxes (CPU only; A with the node code, B without)
- Fixtures: F0
- Cases:
- TV-02 Reproduce complete supply accounting: partial: scheduled issuance on a straight chain and its reorg, two independent implementations EQUAL to the integer on devnet-4, mainnet and the TV-01 spec; paid, burned, locked, outstanding, DAG reds, the EVM ledger and duplicate records open; the independent panel has not read it
### model:mhpow-b1-reference
- Command: `tools/mhpow/b1/run-b1.sh <out_dir> all (a build box under its pid file; kat, attack and k-table files byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS)`
- Box class: build box, CPU only (build-6)
- Fixtures: tools/mhpow/b1/fixtures/
- Cases:
- POW-05 Prevent amortised cheap winning attempts: partial: the published primitive's attack fixtures only; the lottery binding and the composed accepted-proof theorem are B2/B4's
- POW-06 Bound verifier work and malformed-input cost: partial: verifier refusals and op counts in CPython; no compiled verifier, no admitted-rate timing
### theory:r15-05-track-b
- Command: `the Track B cryptography read: docs/analysis/mhpow/b1 (the exact CPU reference of the MTP framework over DRSample, its verifier and the six malicious provers) by tools/mhpow/b1/run-b1.sh <out> all on a build box under a pid file, outputs byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS`
- Box class: build box, CPU only
- Fixtures: tools/mhpow/b1/fixtures/
- Cases:
- R15-05 R15-05: Cryptography: partial: the published primitive's reference, attacks and verifier refusals; the lottery binding (B2), the composed theorem (B4) and the panel's reading open
### class:int8
- Command: `the int8-dominated research class: cut behind the research flag by the research lane at int8-50, int8-75, int8-90 and arx-16, arx-32 (igneum-pow export with the class string, on a build box); the hash lane's card rows in the P04 form (tools/1p5x/x1/gpu-pairs.sh, gpu-rows.py); the adversary lane's chip rows (tools/1p5x/x5/sweep.py, tools/1p5x/x8/mac.py); the census instruments (igneum-pow addrsite, x1cache)`
- Box class: build box for the cut and the census; rented pods for the card rows; a build box for the chip model
- Fixtures: F0
- Cases:
- R15-03 R15-03: GPU + memory analysis: partial: the held-out cache curves of each weight against the frozen control; the layer-8-off control is X1's row
- R15-04 R15-04: GPU systems: partial: byte agreement and accepted-work savings of each weight's fold; X2 to X4's rows carry the rest
### model:x7-memory-route
- Command: `the X7 memory-route read: docs/analysis/class-v6/1p5x/x7 (the chip model's s on GDDR7, HBM3 and near-memory by tools/1p5x/x5/sweep.py on a build box under a pid file) against the hash lane's read-only twin row on a rented card at stock (the frozen object and its read-only twin, nvidia-smi beside it)`
- Box class: a build box for the model; a rented card for the twin row
- Fixtures: F0
- Cases:
- R15-02 R15-02: GPU + hardware: partial: the memory route's f and s only; the component power and traffic model and its sensitivity are X0's and X5's rows
### model:mhpow-b2-binding
- Command: `python3 tools/mhpow/b2/b2_figures.py > docs/analysis/mhpow/b2/figures.txt (a build box under a pid file; byte-identical output, sha256 27bb414c...)`
@ -642,7 +684,6 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- R2-F14-R01 Public build has no default arbitrary remote execution and a documented least-privilege boundary.: R2-F14 (P1, the external review): the regression's harness is the owner lane's (app lane, relay lane); not yet named in the map
- R2-F14-R02 Automatic updates off remains off for urgent manifests until explicit action.: R2-F14 (P1, the external review): the regression's harness is the owner lane's (app lane, relay lane); not yet named in the map
- R2-F14-R03 A compromised fleet/update signing key cannot silently acquire wallet access or activate a consensus change.: R2-F14 (P1, the external review): the regression's harness is the owner lane's (app lane, relay lane); not yet named in the map
- TV-02 Reproduce complete supply accounting: TV-02 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Protocol + measurement); a supplemental layer, never counted as independent evidence; not yet named in the map
- TV-05 Strongest surviving specialist: TV-05 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Hardware reviewer + economics); a supplemental layer, never counted as independent evidence; not yet named in the map
- TV-06 Every fee and payment reconciles: TV-06 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Economics + application); a supplemental layer, never counted as independent evidence; not yet named in the map
- TV-07 Ownership-critical engineering closure: TV-07 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Protocol + independent security); a supplemental layer, never counted as independent evidence; not yet named in the map
@ -672,10 +713,6 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- TV-31 Public-claim and activity review: TV-31 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Qualified counsel); a supplemental layer, never counted as independent evidence; not yet named in the map
- TV-32 Observed leadership, not a roadmap certificate: TV-32 (token value gate, scope LEADERSHIP CLAIM): no gate executed; the harness is the owner role's (Independent acceptance panel); a supplemental layer, never counted as independent evidence; not yet named in the map
- R15-01 R15-01: Release + measurement: R15-01 (1.5x programme package): no package executed; the harness is the lane's (X0); its batch names the case when it lands; not yet named in the map
- R15-02 R15-02: GPU + hardware: R15-02 (1.5x programme package): no package executed; the harness is the lane's (X0, X5); its batch names the case when it lands; not yet named in the map
- R15-03 R15-03: GPU + memory analysis: R15-03 (1.5x programme package): no package executed; the harness is the lane's (X1); its batch names the case when it lands; not yet named in the map
- R15-04 R15-04: GPU systems: R15-04 (1.5x programme package): no package executed; the harness is the lane's (X2, X3, X4); its batch names the case when it lands; not yet named in the map
- R15-05 R15-05: Cryptography: R15-05 (1.5x programme package): no package executed; the harness is the lane's (B1); its batch names the case when it lands; not yet named in the map
- R15-06 R15-06: GPU + cryptography: R15-06 (1.5x programme package): no package executed; the harness is the lane's (B3); its batch names the case when it lands; not yet named in the map
- R15-08 R15-08: Independent ASIC team: R15-08 (1.5x programme package): no package executed; the harness is the lane's (X5, B5); its batch names the case when it lands; not yet named in the map
- R15-09 R15-09: Measurement + economics: R15-09 (1.5x programme package): no package executed; the harness is the lane's (X6); its batch names the case when it lands; not yet named in the map
@ -683,4 +720,4 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
## Count
213 automated cases: 93 mapped to a cell, 178 NOT RUN with a reason.
213 automated cases: 98 mapped to a cell, 173 NOT RUN with a reason.

View file

@ -2016,9 +2016,9 @@
"manual_page": 25,
"owner_lane": "pool design seat (a3832b1c3b274b310)",
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/binding-review-2026-10.md (sections 1 to 5a; master ad5a54c5); docs/analysis/mhpow/b2/README.md",
"evidence_path": "docs/analysis/binding-review-2026-10.md (sections 1 to 5a; master ad5a54c5); docs/analysis/mhpow/b1/README.md; docs/analysis/mhpow/b2/README.md",
"run_id": "mhpow-b2-20261009-01",
"updated": "2026-10-09T09:46:27.938Z",
"updated": "2026-10-09T10:10:38.304Z",
"evidence_record": {
"requirement_id": "POW-05",
"decision": "NOT RUN",
@ -2039,7 +2039,7 @@
},
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"reviewer": "",
"at": "2026-10-09T09:46:27.938Z",
"at": "2026-10-09T10:10:38.304Z",
"note": "POW-05: obligations O-06 to O-11 and O-16 (grinding, chosen instance, amortisation, partial evaluation, precomputation); O-07 records two FAIL rules and B-T3 the open question. POW-06: O-11's certificate sizes as functions of DRSample's unproved constant c3 (13.6 to 194.9 MiB at lambda 256), a sensitivity table only; the verifier budget is B6's. | B2, the binding spec lane of the 1.5x programme's Track B (9 October 2026): the canonical instance input for an MTP/DRSample memory-hard proof of work in Igneum's setting (328 bytes, work version 1, draft) and the obligations table O-01 to O-16 read against Blocki and Smearsoll, eprint 2025/1456 (the full PDF, sha256 13c3646e...). Reuse across template, trial, epoch, day, era, network and class object: answered by the paper's per-input soundness plus the layout. The lottery: two candidate rules FAIL with written counter-examples (re-roll through a red sink, about 1.3 x 10^6 draws per labelling at N = 2^24; free screening on chi alone); the replacement and the multi-instance, adaptive-input, constants and energy questions BLOCKED to the B4 theory lane and the node lane. Figures by tools/mhpow/b2/b2_figures.py on build-9. NOT RUN until the panel reads it; this lane writes no PASS."
},
"status_note": "REVIEWED: fixed by construction (binding), not applicable (final digest); native tests ok on build-2; no change for 2.0",
@ -2072,6 +2072,29 @@
"evidence": "docs/analysis/binding-review-2026-10.md (sections 1 to 5a; master ad5a54c5)",
"in_progress": false
},
"model:mhpow-b1-reference": {
"requirement_id": "POW-05",
"decision": "NOT RUN",
"method": "model",
"cell": "model:mhpow-b1-reference",
"manifest_sha": "13c3646e",
"run_id": "mhpow-b1-20261009-01",
"evidence": "docs/analysis/mhpow/b1/README.md",
"in_progress": true,
"coverage": "partial: the published primitive's attack fixtures only; the lottery binding and the composed accepted-proof theorem are B2/B4's",
"release_identity": {
"commit": "13c3646e",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"reviewer": "",
"at": "2026-10-09T10:06:27.563Z",
"note": "POW-05: attack fixtures A1 to A6 (tools/mhpow/b1/fixtures/attacks-n10-k16.json): A1 replay and A2 unopened block REFUSED, A3 control-block steering gain 0 with the red-node fallback accepted at (1-1/t)^k, A4 self-similarity saving refused, A5 Attack 1 accepted at (1-|S|/N)^k, A6 many accepted roots per labelling (the lottery binding BLOCKED to B2/B4, rows O-1 and O-8). POW-06: the verifier's named checks refuse malformed containers, wrong positions, skipped parents and wrong tags (test_b1.py); proof bytes and verifier oracle calls per N are exact formulas with measured rows; cold verification at rate BLOCKED to B6 (O-11). | B1 (R15-05), the cryptography lane of the 1.5x programme's Track B (9 October 2026): the exact CPU reference of Blocki and Smearsoll's MTP framework (eprint 2025/1456 as archived, sha256 13c3646e..., Sec 2.2, 3.2, App. C) over DRSample (ABH17 Alg. 1, eprint 2017/443 as archived, sha256 f8e08d36...), its complete verifier (named checks in the paper's order, each with a known-failed test, 17 of 17 OK on build-6), five deterministic known-answer fixtures (n 4 to 20), honest-prover rows n 12 to 24 (CPython, wall time only, no power) and six malicious provers (Dinur-Nadler eprint 2017/497 Sec 4.1, 4.3/5, 8; the paper's Attack 1 and LuckyQuery regrind). Dinur-Nadler's steering and unopened-block attacks are refused; red-node cheats are accepted with the (1-|S|/N)^k probability the paper prices; one labelling yields many accepted roots (F-4). The proven k with ABH17's constant exceeds N to about n 25 (F-3). NOT RUN until the panel reads it; this lane writes no PASS."
},
"model:mhpow-b2-binding": {
"requirement_id": "POW-05",
"decision": "NOT RUN",
@ -2092,11 +2115,11 @@
},
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"reviewer": "",
"at": "2026-10-09T09:46:27.938Z",
"at": "2026-10-09T10:10:38.304Z",
"note": "POW-05: obligations O-06 to O-11 and O-16 (grinding, chosen instance, amortisation, partial evaluation, precomputation); O-07 records two FAIL rules and B-T3 the open question. POW-06: O-11's certificate sizes as functions of DRSample's unproved constant c3 (13.6 to 194.9 MiB at lambda 256), a sensitivity table only; the verifier budget is B6's. | B2, the binding spec lane of the 1.5x programme's Track B (9 October 2026): the canonical instance input for an MTP/DRSample memory-hard proof of work in Igneum's setting (328 bytes, work version 1, draft) and the obligations table O-01 to O-16 read against Blocki and Smearsoll, eprint 2025/1456 (the full PDF, sha256 13c3646e...). Reuse across template, trial, epoch, day, era, network and class object: answered by the paper's per-input soundness plus the layout. The lottery: two candidate rules FAIL with written counter-examples (re-roll through a red sink, about 1.3 x 10^6 draws per labelling at N = 2^24; free screening on chi alone); the replacement and the multi-instance, adaptive-input, constants and energy questions BLOCKED to the B4 theory lane and the node lane. Figures by tools/mhpow/b2/b2_figures.py on build-9. NOT RUN until the panel reads it; this lane writes no PASS."
}
},
"in_progress_since": "2026-10-09T09:46:27.938Z"
"in_progress_since": "2026-10-09T10:06:27.563Z"
},
{
"id": "POW-06",
@ -2125,9 +2148,9 @@
"manual_page": 25,
"owner_lane": "hash lane (a690540514aa453d7)",
"run_status": "NOT RUN",
"evidence_path": "build-1:/srv/artefacts/tas/p01-partb-20261008-01/summary.jsonl; docs/analysis/mhpow/b2/README.md",
"evidence_path": "build-1:/srv/artefacts/tas/p01-partb-20261008-01/summary.jsonl; docs/analysis/mhpow/b1/README.md; docs/analysis/mhpow/b2/README.md",
"run_id": "mhpow-b2-20261009-01",
"updated": "2026-10-09T09:46:27.938Z",
"updated": "2026-10-09T10:10:38.304Z",
"evidence_record": {
"requirement_id": "POW-06",
"decision": "NOT RUN",
@ -2148,7 +2171,7 @@
},
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"reviewer": "",
"at": "2026-10-09T09:46:27.938Z",
"at": "2026-10-09T10:10:38.304Z",
"note": "POW-05: obligations O-06 to O-11 and O-16 (grinding, chosen instance, amortisation, partial evaluation, precomputation); O-07 records two FAIL rules and B-T3 the open question. POW-06: O-11's certificate sizes as functions of DRSample's unproved constant c3 (13.6 to 194.9 MiB at lambda 256), a sensitivity table only; the verifier budget is B6's. | B2, the binding spec lane of the 1.5x programme's Track B (9 October 2026): the canonical instance input for an MTP/DRSample memory-hard proof of work in Igneum's setting (328 bytes, work version 1, draft) and the obligations table O-01 to O-16 read against Blocki and Smearsoll, eprint 2025/1456 (the full PDF, sha256 13c3646e...). Reuse across template, trial, epoch, day, era, network and class object: answered by the paper's per-input soundness plus the layout. The lottery: two candidate rules FAIL with written counter-examples (re-roll through a red sink, about 1.3 x 10^6 draws per labelling at N = 2^24; free screening on chi alone); the replacement and the multi-instance, adaptive-input, constants and energy questions BLOCKED to the B4 theory lane and the node lane. Figures by tools/mhpow/b2/b2_figures.py on build-9. NOT RUN until the panel reads it; this lane writes no PASS."
},
"in_progress_since": "2026-10-08T18:28:32.463Z",
@ -2183,6 +2206,29 @@
"evidence": "build-1:/srv/artefacts/tas/p01-partb-20261008-01/summary.jsonl",
"in_progress": true
},
"model:mhpow-b1-reference": {
"requirement_id": "POW-06",
"decision": "NOT RUN",
"method": "model",
"cell": "model:mhpow-b1-reference",
"manifest_sha": "13c3646e",
"run_id": "mhpow-b1-20261009-01",
"evidence": "docs/analysis/mhpow/b1/README.md",
"in_progress": true,
"coverage": "partial: verifier refusals and op counts in CPython; no compiled verifier, no admitted-rate timing",
"release_identity": {
"commit": "13c3646e",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"reviewer": "",
"at": "2026-10-09T10:06:27.563Z",
"note": "POW-05: attack fixtures A1 to A6 (tools/mhpow/b1/fixtures/attacks-n10-k16.json): A1 replay and A2 unopened block REFUSED, A3 control-block steering gain 0 with the red-node fallback accepted at (1-1/t)^k, A4 self-similarity saving refused, A5 Attack 1 accepted at (1-|S|/N)^k, A6 many accepted roots per labelling (the lottery binding BLOCKED to B2/B4, rows O-1 and O-8). POW-06: the verifier's named checks refuse malformed containers, wrong positions, skipped parents and wrong tags (test_b1.py); proof bytes and verifier oracle calls per N are exact formulas with measured rows; cold verification at rate BLOCKED to B6 (O-11). | B1 (R15-05), the cryptography lane of the 1.5x programme's Track B (9 October 2026): the exact CPU reference of Blocki and Smearsoll's MTP framework (eprint 2025/1456 as archived, sha256 13c3646e..., Sec 2.2, 3.2, App. C) over DRSample (ABH17 Alg. 1, eprint 2017/443 as archived, sha256 f8e08d36...), its complete verifier (named checks in the paper's order, each with a known-failed test, 17 of 17 OK on build-6), five deterministic known-answer fixtures (n 4 to 20), honest-prover rows n 12 to 24 (CPython, wall time only, no power) and six malicious provers (Dinur-Nadler eprint 2017/497 Sec 4.1, 4.3/5, 8; the paper's Attack 1 and LuckyQuery regrind). Dinur-Nadler's steering and unopened-block attacks are refused; red-node cheats are accepted with the (1-|S|/N)^k probability the paper prices; one labelling yields many accepted roots (F-4). The proven k with ABH17's constant exceeds N to about n 25 (F-3). NOT RUN until the panel reads it; this lane writes no PASS."
},
"model:mhpow-b2-binding": {
"requirement_id": "POW-06",
"decision": "NOT RUN",
@ -2203,7 +2249,7 @@
},
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"reviewer": "",
"at": "2026-10-09T09:46:27.938Z",
"at": "2026-10-09T10:10:38.304Z",
"note": "POW-05: obligations O-06 to O-11 and O-16 (grinding, chosen instance, amortisation, partial evaluation, precomputation); O-07 records two FAIL rules and B-T3 the open question. POW-06: O-11's certificate sizes as functions of DRSample's unproved constant c3 (13.6 to 194.9 MiB at lambda 256), a sensitivity table only; the verifier budget is B6's. | B2, the binding spec lane of the 1.5x programme's Track B (9 October 2026): the canonical instance input for an MTP/DRSample memory-hard proof of work in Igneum's setting (328 bytes, work version 1, draft) and the obligations table O-01 to O-16 read against Blocki and Smearsoll, eprint 2025/1456 (the full PDF, sha256 13c3646e...). Reuse across template, trial, epoch, day, era, network and class object: answered by the paper's per-input soundness plus the layout. The lottery: two candidate rules FAIL with written counter-examples (re-roll through a red sink, about 1.3 x 10^6 draws per labelling at N = 2^24; free screening on chi alone); the replacement and the multi-instance, adaptive-input, constants and energy questions BLOCKED to the B4 theory lane and the node lane. Figures by tools/mhpow/b2/b2_figures.py on build-9. NOT RUN until the panel reads it; this lane writes no PASS."
}
}
@ -17811,16 +17857,16 @@
"threshold_status": "PROPOSED - FREEZE BEFORE TEST",
"run_status": "NOT RUN",
"master_status": "NOT RUN",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence_path": "docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.json; docs/plans/igneum-2.0-master/token-value/phase0/tv-01/supply-spec.md; tools/token-value/tv-01/check-spec.py; tools/token-value/tv-01/code-dump/schedule-bf60948a.jsonl; docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"updated": "2026-10-09T09:38:38.607Z",
"updated": "2026-10-09T09:54:18.545Z",
"evidence_record": {
"requirement_id": "TV-01",
"decision": "NOT RUN",
"method": "model",
"cell": "model:tv-d02-emission",
"manifest_sha": "a284380b",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"in_progress": true,
"coverage": "partial: the D02 evidence only; the other five decisions and the signed specification are other lanes'",
@ -17834,8 +17880,8 @@
},
"claim_impact": "none: no public figure moves and no schedule is chosen",
"reviewer": "",
"at": "2026-10-09T09:38:38.607Z",
"note": "TV-01: the D02 comparison the decision register asks for, its schedule A reconciled with TV-01's supply spec to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (TV-04's budget base), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the fee-dependence year at the .25x/1x/4x/10x multiples against a stated 1 percent yardstick, the fee series a parameter (table 6). | D02 second version (the D02 lane, 9 October 2026, 10:3x UK): the generator now reads TV-01's supply spec (sha256 3ffdd308..., master 163c9e3c) and reproduces its mainnet (10 blocks/s) and devnet-4 (1 block/s) profiles exactly, 32 of 32 rows (README section 9, d02-tv01-reconcile.csv); the paid model at mainnet's 10 blocks a second added beside the node's closed form; BLOCKED rows B1 (TV-01 spec) and B4 (the litepaper tail-vote sentence, rewritten under D01) closed. Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
"at": "2026-10-09T09:54:18.545Z",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6). | D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
},
"evidence_records": {
"token-value:tv-01": {
@ -17867,7 +17913,7 @@
"method": "model",
"cell": "model:tv-d02-emission",
"manifest_sha": "a284380b",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"in_progress": true,
"coverage": "partial: the D02 evidence only; the other five decisions and the signed specification are other lanes'",
@ -17881,8 +17927,8 @@
},
"claim_impact": "none: no public figure moves and no schedule is chosen",
"reviewer": "",
"at": "2026-10-09T09:38:38.607Z",
"note": "TV-01: the D02 comparison the decision register asks for, its schedule A reconciled with TV-01's supply spec to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (TV-04's budget base), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the fee-dependence year at the .25x/1x/4x/10x multiples against a stated 1 percent yardstick, the fee series a parameter (table 6). | D02 second version (the D02 lane, 9 October 2026, 10:3x UK): the generator now reads TV-01's supply spec (sha256 3ffdd308..., master 163c9e3c) and reproduces its mainnet (10 blocks/s) and devnet-4 (1 block/s) profiles exactly, 32 of 32 rows (README section 9, d02-tv01-reconcile.csv); the paid model at mainnet's 10 blocks a second added beside the node's closed form; BLOCKED rows B1 (TV-01 spec) and B4 (the litepaper tail-vote sentence, rewritten under D01) closed. Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
"at": "2026-10-09T09:54:18.545Z",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6). | D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
}
},
"in_progress_since": "2026-10-09T09:00:20.590Z",
@ -17921,44 +17967,58 @@
"threshold_status": "PROPOSED - FREEZE BEFORE TEST",
"run_status": "NOT RUN",
"master_status": "NOT RUN",
"updated": "2026-10-09T08:45:39.119Z",
"run_id": "tv-02-20261009-01",
"evidence_path": "docs/plans/igneum-2.0-master/token-value/phase0/tv-02/README.md; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0.1-genesis-rule.log; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0-litepaper.log; build-1:/srv/artefacts/token-value/tv-02/build-5/a-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-6/b-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-tv01-spec.log; build-1:/srv/artefacts/token-value/tv-02/build-6/b-rules-tv01-spec-*.csv",
"updated": "2026-10-09T09:51:36.502Z",
"evidence_record": {
"reason": "TV-02 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Protocol + measurement); a supplemental layer, never counted as independent evidence; not yet named in the map",
"at": "2026-10-09T08:45:39.119Z",
"method": "static",
"requirement_id": "TV-02",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "native",
"cell": "native:tv-02",
"manifest_sha": "426c7c85",
"run_id": "tv-02-20261009-01",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/tv-02/README.md; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0.1-genesis-rule.log; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0-litepaper.log; build-1:/srv/artefacts/token-value/tv-02/build-5/a-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-6/b-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-tv01-spec.log; build-1:/srv/artefacts/token-value/tv-02/build-6/b-rules-tv01-spec-*.csv",
"in_progress": true,
"coverage": "partial: scheduled issuance on a straight chain and its reorg, two independent implementations EQUAL to the integer on devnet-4, mainnet and the TV-01 spec; paid, burned, locked, outstanding, DAG reds, the EVM ledger and duplicate records open; the independent panel has not read it",
"release_identity": {
"commit": "",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
}
"commit": "426c7c85 (master, the first TV-02 landing) and the spec-run landing after it (branch tv-02-supply-replay)",
"lockfile": "tools/token-value/tv-02/replay-node/Cargo.lock",
"binary": "tv02-replay-node sha256 ef3af79157947584... (the run), 25ff78695bd9d972... (rebuilt from af2c23bc, outputs byte-identical)",
"network_object": "the compiled objects of igneum-node bf60948a read by A (devnet4_params, MAINNET_PARAMS, DEVNET_PARAMS); no chain state read or written",
"activation": "none (Phase 0 lands documents and tests only)",
"profile_hashes": "igneum-node bf60948a (emission.rs, igneum.rs, coinbase.rs, params.rs, window.rs, difficulty.rs byte-identical in release-2.0.2-node a284380b); rules-and-gates.json 10ce3073...; B rules v0 67707b09..., v0.1 d72d5578...; replay_spec.py acd68e1b...; the TV-01 supply-spec.json at 9cd09130 sha256 3ffdd308...; replay_spec.py on the spec c07aba10..."
},
"claim_impact": "none: no served figure moves; the supply ever issued on the 2.0 objects is 3,963,038,999.61 IGN under the 4,000,000,000 cap, with nothing after the terminal block",
"reviewer": "",
"at": "2026-10-09T09:51:36.502Z",
"note": "two supply replays, A (Rust on the node's issuance code at bf60948a, build-5) and B (Python from the rules in words, build-6), no shared code: with rule set v0.1 (the words plus the genesis rule, window.rs 176-179) EQUAL to the integer, byte-identical CSVs, at every transition's before/at/after, the terminal and one step past, on the devnet-4 (1 bps, 18 decimals), mainnet (10 bps, 18) and devnet (8) objects, and on two hand-written reorg fixtures with the no-undo ledger refused; with the words alone (v0) DIFFER at genesis (A 0, B 3168808781000000000 on devnet-4), a one-block shift with the terminal total unchanged (3963038999610200483289816000 base units on devnet-4); on the TV-01 supply spec (9cd09130) EQUAL on devnet-4 and mainnet and both fixtures, A's terminal rows equal to the spec's stated terminal supplies; paid/burned/locked accounting, the mainnet genesis DAA score (C09), DAG reds and independent signoff are open rows; NOT RUN until the independent panel reads it | recorded by the CI steward from docs/plans/igneum-2.0-master/token-value/phase0/tv-02/registry-batch-tv-02.json (sha256 1cae5953d438ef96..., the TV-02 lane, 10:25 UK); the cell native:tv-02 carried in map_cell_requested"
},
"evidence_records": {
"record": {
"reason": "TV-02 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Protocol + measurement); a supplemental layer, never counted as independent evidence; not yet named in the map",
"at": "2026-10-09T08:45:39.119Z",
"method": "static",
"native:tv-02": {
"requirement_id": "TV-02",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "native",
"cell": "native:tv-02",
"manifest_sha": "426c7c85",
"run_id": "tv-02-20261009-01",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/tv-02/README.md; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0.1-genesis-rule.log; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0-litepaper.log; build-1:/srv/artefacts/token-value/tv-02/build-5/a-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-6/b-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-tv01-spec.log; build-1:/srv/artefacts/token-value/tv-02/build-6/b-rules-tv01-spec-*.csv",
"in_progress": true,
"coverage": "partial: scheduled issuance on a straight chain and its reorg, two independent implementations EQUAL to the integer on devnet-4, mainnet and the TV-01 spec; paid, burned, locked, outstanding, DAG reds, the EVM ledger and duplicate records open; the independent panel has not read it",
"release_identity": {
"commit": "",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
"commit": "426c7c85 (master, the first TV-02 landing) and the spec-run landing after it (branch tv-02-supply-replay)",
"lockfile": "tools/token-value/tv-02/replay-node/Cargo.lock",
"binary": "tv02-replay-node sha256 ef3af79157947584... (the run), 25ff78695bd9d972... (rebuilt from af2c23bc, outputs byte-identical)",
"network_object": "the compiled objects of igneum-node bf60948a read by A (devnet4_params, MAINNET_PARAMS, DEVNET_PARAMS); no chain state read or written",
"activation": "none (Phase 0 lands documents and tests only)",
"profile_hashes": "igneum-node bf60948a (emission.rs, igneum.rs, coinbase.rs, params.rs, window.rs, difficulty.rs byte-identical in release-2.0.2-node a284380b); rules-and-gates.json 10ce3073...; B rules v0 67707b09..., v0.1 d72d5578...; replay_spec.py acd68e1b...; the TV-01 supply-spec.json at 9cd09130 sha256 3ffdd308...; replay_spec.py on the spec c07aba10..."
},
"in_progress": false
"claim_impact": "none: no served figure moves; the supply ever issued on the 2.0 objects is 3,963,038,999.61 IGN under the 4,000,000,000 cap, with nothing after the terminal block",
"reviewer": "",
"at": "2026-10-09T09:51:36.502Z",
"note": "two supply replays, A (Rust on the node's issuance code at bf60948a, build-5) and B (Python from the rules in words, build-6), no shared code: with rule set v0.1 (the words plus the genesis rule, window.rs 176-179) EQUAL to the integer, byte-identical CSVs, at every transition's before/at/after, the terminal and one step past, on the devnet-4 (1 bps, 18 decimals), mainnet (10 bps, 18) and devnet (8) objects, and on two hand-written reorg fixtures with the no-undo ledger refused; with the words alone (v0) DIFFER at genesis (A 0, B 3168808781000000000 on devnet-4), a one-block shift with the terminal total unchanged (3963038999610200483289816000 base units on devnet-4); on the TV-01 supply spec (9cd09130) EQUAL on devnet-4 and mainnet and both fixtures, A's terminal rows equal to the spec's stated terminal supplies; paid/burned/locked accounting, the mainnet genesis DAA score (C09), DAG reds and independent signoff are open rows; NOT RUN until the independent panel reads it | recorded by the CI steward from docs/plans/igneum-2.0-master/token-value/phase0/tv-02/registry-batch-tv-02.json (sha256 1cae5953d438ef96..., the TV-02 lane, 10:25 UK); the cell native:tv-02 carried in map_cell_requested"
}
},
"in_progress_since": "2026-10-09T09:51:36.502Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
@ -17994,16 +18054,16 @@
"threshold_status": "PROPOSED - FREEZE BEFORE TEST",
"run_status": "NOT RUN",
"master_status": "NOT RUN",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence_path": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"updated": "2026-10-09T09:38:38.607Z",
"updated": "2026-10-09T09:54:18.545Z",
"evidence_record": {
"requirement_id": "TV-03",
"decision": "NOT RUN",
"method": "model",
"cell": "model:tv-d02-emission",
"manifest_sha": "a284380b",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"in_progress": true,
"coverage": "partial: issuance timing and per-block subsidy for delayed entrants under three same-cap schedules; no genesis audit, no outsider rehearsal, no cohort",
@ -18017,8 +18077,8 @@
},
"claim_impact": "none: no public figure moves and no schedule is chosen",
"reviewer": "",
"at": "2026-10-09T09:38:38.607Z",
"note": "TV-01: the D02 comparison the decision register asks for, its schedule A reconciled with TV-01's supply spec to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (TV-04's budget base), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the fee-dependence year at the .25x/1x/4x/10x multiples against a stated 1 percent yardstick, the fee series a parameter (table 6). | D02 second version (the D02 lane, 9 October 2026, 10:3x UK): the generator now reads TV-01's supply spec (sha256 3ffdd308..., master 163c9e3c) and reproduces its mainnet (10 blocks/s) and devnet-4 (1 block/s) profiles exactly, 32 of 32 rows (README section 9, d02-tv01-reconcile.csv); the paid model at mainnet's 10 blocks a second added beside the node's closed form; BLOCKED rows B1 (TV-01 spec) and B4 (the litepaper tail-vote sentence, rewritten under D01) closed. Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
"at": "2026-10-09T09:54:18.545Z",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6). | D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
},
"evidence_records": {
"model:tv-d02-emission": {
@ -18027,7 +18087,7 @@
"method": "model",
"cell": "model:tv-d02-emission",
"manifest_sha": "a284380b",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"in_progress": true,
"coverage": "partial: issuance timing and per-block subsidy for delayed entrants under three same-cap schedules; no genesis audit, no outsider rehearsal, no cohort",
@ -18041,8 +18101,8 @@
},
"claim_impact": "none: no public figure moves and no schedule is chosen",
"reviewer": "",
"at": "2026-10-09T09:38:38.607Z",
"note": "TV-01: the D02 comparison the decision register asks for, its schedule A reconciled with TV-01's supply spec to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (TV-04's budget base), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the fee-dependence year at the .25x/1x/4x/10x multiples against a stated 1 percent yardstick, the fee series a parameter (table 6). | D02 second version (the D02 lane, 9 October 2026, 10:3x UK): the generator now reads TV-01's supply spec (sha256 3ffdd308..., master 163c9e3c) and reproduces its mainnet (10 blocks/s) and devnet-4 (1 block/s) profiles exactly, 32 of 32 rows (README section 9, d02-tv01-reconcile.csv); the paid model at mainnet's 10 blocks a second added beside the node's closed form; BLOCKED rows B1 (TV-01 spec) and B4 (the litepaper tail-vote sentence, rewritten under D01) closed. Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
"at": "2026-10-09T09:54:18.545Z",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6). | D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
}
},
"in_progress_since": "2026-10-09T09:00:20.590Z",
@ -18082,16 +18142,16 @@
"threshold_status": "PROPOSED - FREEZE BEFORE TEST",
"run_status": "NOT RUN",
"master_status": "NOT RUN",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence_path": "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; docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"updated": "2026-10-09T09:38:38.607Z",
"updated": "2026-10-09T09:54:18.545Z",
"evidence_record": {
"requirement_id": "TV-04",
"decision": "NOT RUN",
"method": "model",
"cell": "model:tv-d02-emission",
"manifest_sha": "a284380b",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"in_progress": true,
"coverage": "partial: the subsidy's decline and the fee-dependence year at the four multiples; no role costs, fee volatility or zero-external-job scenario",
@ -18105,8 +18165,8 @@
},
"claim_impact": "none: no public figure moves and no schedule is chosen",
"reviewer": "",
"at": "2026-10-09T09:38:38.607Z",
"note": "TV-01: the D02 comparison the decision register asks for, its schedule A reconciled with TV-01's supply spec to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (TV-04's budget base), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the fee-dependence year at the .25x/1x/4x/10x multiples against a stated 1 percent yardstick, the fee series a parameter (table 6). | D02 second version (the D02 lane, 9 October 2026, 10:3x UK): the generator now reads TV-01's supply spec (sha256 3ffdd308..., master 163c9e3c) and reproduces its mainnet (10 blocks/s) and devnet-4 (1 block/s) profiles exactly, 32 of 32 rows (README section 9, d02-tv01-reconcile.csv); the paid model at mainnet's 10 blocks a second added beside the node's closed form; BLOCKED rows B1 (TV-01 spec) and B4 (the litepaper tail-vote sentence, rewritten under D01) closed. Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
"at": "2026-10-09T09:54:18.545Z",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6). | D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
},
"evidence_records": {
"model:tv-04": {
@ -18138,7 +18198,7 @@
"method": "model",
"cell": "model:tv-d02-emission",
"manifest_sha": "a284380b",
"run_id": "tv-d02-20261009-02",
"run_id": "tv-d02-20261009-03",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"in_progress": true,
"coverage": "partial: the subsidy's decline and the fee-dependence year at the four multiples; no role costs, fee volatility or zero-external-job scenario",
@ -18152,8 +18212,8 @@
},
"claim_impact": "none: no public figure moves and no schedule is chosen",
"reviewer": "",
"at": "2026-10-09T09:38:38.607Z",
"note": "TV-01: the D02 comparison the decision register asks for, its schedule A reconciled with TV-01's supply spec to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (TV-04's budget base), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the fee-dependence year at the .25x/1x/4x/10x multiples against a stated 1 percent yardstick, the fee series a parameter (table 6). | D02 second version (the D02 lane, 9 October 2026, 10:3x UK): the generator now reads TV-01's supply spec (sha256 3ffdd308..., master 163c9e3c) and reproduces its mainnet (10 blocks/s) and devnet-4 (1 block/s) profiles exactly, 32 of 32 rows (README section 9, d02-tv01-reconcile.csv); the paid model at mainnet's 10 blocks a second added beside the node's closed form; BLOCKED rows B1 (TV-01 spec) and B4 (the litepaper tail-vote sentence, rewritten under D01) closed. Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
"at": "2026-10-09T09:54:18.545Z",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6). | D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it."
}
},
"in_progress_since": "2026-10-09T08:46:41.597Z",
@ -20362,44 +20422,58 @@
"manual_page": null,
"run_status": "NOT RUN",
"plan_status": "NOT RUN",
"updated": "2026-10-09T09:19:24.923Z",
"run_id": "r15-02-x7-20261009-01",
"evidence_path": "docs/analysis/class-v6/1p5x/x7/README.md; tools/ci/batches/adversary-20261009-x7.json",
"updated": "2026-10-09T10:06:27.649Z",
"evidence_record": {
"reason": "R15-02 (1.5x programme package): no package executed; the harness is the lane's (X0, X5); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"requirement_id": "R15-02",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "model:x7-memory-route",
"manifest_sha": "6ba3f01b",
"run_id": "r15-02-x7-20261009-01",
"evidence": "docs/analysis/class-v6/1p5x/x7/README.md; tools/ci/batches/adversary-20261009-x7.json",
"in_progress": true,
"coverage": "partial: the memory route's f and s only; the component power and traffic model and its sensitivity are X0's and X5's rows",
"release_identity": {
"commit": "",
"commit": "master 6ba3f01b (the X7 README; the verdict commit ca2fb6b2 and X8's rows e64eb265 cited when the landing hand lands them)",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
}
},
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.649Z",
"note": "BOUND-side negative control (X7): f = 0.854 on the 4090 at stock, the frozen object at 8,077 nJ per hash against its read-only twin at 6,899 at the same rate (the hash lane's row, fk-x7-4090, 10:44 UK); s = 13 to 39 on the chip's GDDR7, HBM3 and near-memory (the adversary lane's X7 rows): no read-dominated design reaches 1.5x or 1.25x at any f, because the card's random-read path is its least efficient part against a chip. The chip figures are modelled (BOUND); the card figure is a WITNESS on a named rented card. X8's chip side (every int8 mix raising the ratio against a systolic array; the dp4a-only cells stopping at 1.54x) is the tensor route's first witness row set, pending the hash lane's measured card rows; recorded here when e64eb265 lands. R15-02 (no device or whole-machine boundary mismatch) stays NOT RUN until read | main's order through the coordinator (11:0x UK, 9 October 2026): X7's memory-route verdict recorded as a BOUND-side negative control under R15-02, NOT RUN; X8's tensor-route chip rows join when they land and the hash lane's measured card rows arrive"
},
"evidence_records": {
"record": {
"reason": "R15-02 (1.5x programme package): no package executed; the harness is the lane's (X0, X5); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"model:x7-memory-route": {
"requirement_id": "R15-02",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "model:x7-memory-route",
"manifest_sha": "6ba3f01b",
"run_id": "r15-02-x7-20261009-01",
"evidence": "docs/analysis/class-v6/1p5x/x7/README.md; tools/ci/batches/adversary-20261009-x7.json",
"in_progress": true,
"coverage": "partial: the memory route's f and s only; the component power and traffic model and its sensitivity are X0's and X5's rows",
"release_identity": {
"commit": "",
"commit": "master 6ba3f01b (the X7 README; the verdict commit ca2fb6b2 and X8's rows e64eb265 cited when the landing hand lands them)",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"in_progress": false
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.649Z",
"note": "BOUND-side negative control (X7): f = 0.854 on the 4090 at stock, the frozen object at 8,077 nJ per hash against its read-only twin at 6,899 at the same rate (the hash lane's row, fk-x7-4090, 10:44 UK); s = 13 to 39 on the chip's GDDR7, HBM3 and near-memory (the adversary lane's X7 rows): no read-dominated design reaches 1.5x or 1.25x at any f, because the card's random-read path is its least efficient part against a chip. The chip figures are modelled (BOUND); the card figure is a WITNESS on a named rented card. X8's chip side (every int8 mix raising the ratio against a systolic array; the dp4a-only cells stopping at 1.54x) is the tensor route's first witness row set, pending the hash lane's measured card rows; recorded here when e64eb265 lands. R15-02 (no device or whole-machine boundary mismatch) stays NOT RUN until read | main's order through the coordinator (11:0x UK, 9 October 2026): X7's memory-route verdict recorded as a BOUND-side negative control under R15-02, NOT RUN; X8's tensor-route chip rows join when they land and the hash lane's measured card rows arrive"
}
},
"in_progress_since": "2026-10-09T10:06:27.649Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
@ -20438,44 +20512,58 @@
"manual_page": null,
"run_status": "NOT RUN",
"plan_status": "NOT RUN",
"updated": "2026-10-09T09:19:24.923Z",
"run_id": "r15-int8-20261009-01",
"evidence_path": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"updated": "2026-10-09T10:06:27.734Z",
"evidence_record": {
"reason": "R15-03 (1.5x programme package): no package executed; the harness is the lane's (X1); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"requirement_id": "R15-03",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "class:int8",
"manifest_sha": "d799c086",
"run_id": "r15-int8-20261009-01",
"evidence": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"in_progress": true,
"coverage": "partial: the held-out cache curves of each weight against the frozen control; the layer-8-off control is X1's row",
"release_identity": {
"commit": "",
"commit": "master d799c086; the class is cut by the research lane behind a research flag, not in any release",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
}
},
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.734Z",
"note": "opened, nothing measured yet: the int8-dominated class behind a research flag at three weights (int8-50, int8-75, int8-90) and the ARX-only points (arx-16, arx-32); the research lane cuts the class, the hash lane measures the card rows, the adversary lane the chip rows, the census instruments read it; R15-03 (layer-8-off control and held-out cache curves) and R15-04 (compaction, exact-fold alternatives, tuning) take their rows from those batches | main's order through the coordinator (11:0x UK, 9 October 2026): the cells for the int8-dominated class opened, every row NOT RUN until read; the lanes land their own batches on these cells with map_cell_requested"
},
"evidence_records": {
"record": {
"reason": "R15-03 (1.5x programme package): no package executed; the harness is the lane's (X1); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"class:int8": {
"requirement_id": "R15-03",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "class:int8",
"manifest_sha": "d799c086",
"run_id": "r15-int8-20261009-01",
"evidence": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"in_progress": true,
"coverage": "partial: the held-out cache curves of each weight against the frozen control; the layer-8-off control is X1's row",
"release_identity": {
"commit": "",
"commit": "master d799c086; the class is cut by the research lane behind a research flag, not in any release",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"in_progress": false
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.734Z",
"note": "opened, nothing measured yet: the int8-dominated class behind a research flag at three weights (int8-50, int8-75, int8-90) and the ARX-only points (arx-16, arx-32); the research lane cuts the class, the hash lane measures the card rows, the adversary lane the chip rows, the census instruments read it; R15-03 (layer-8-off control and held-out cache curves) and R15-04 (compaction, exact-fold alternatives, tuning) take their rows from those batches | main's order through the coordinator (11:0x UK, 9 October 2026): the cells for the int8-dominated class opened, every row NOT RUN until read; the lanes land their own batches on these cells with map_cell_requested"
}
},
"in_progress_since": "2026-10-09T10:06:27.734Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
@ -20524,44 +20612,58 @@
"manual_page": null,
"run_status": "NOT RUN",
"plan_status": "NOT RUN",
"updated": "2026-10-09T09:19:24.923Z",
"run_id": "r15-int8-20261009-01",
"evidence_path": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"updated": "2026-10-09T10:06:27.734Z",
"evidence_record": {
"reason": "R15-04 (1.5x programme package): no package executed; the harness is the lane's (X2, X3, X4); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"requirement_id": "R15-04",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "class:int8",
"manifest_sha": "d799c086",
"run_id": "r15-int8-20261009-01",
"evidence": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"in_progress": true,
"coverage": "partial: byte agreement and accepted-work savings of each weight's fold; X2 to X4's rows carry the rest",
"release_identity": {
"commit": "",
"commit": "master d799c086; the class is cut by the research lane behind a research flag, not in any release",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
}
},
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.734Z",
"note": "opened, nothing measured yet: the int8-dominated class behind a research flag at three weights (int8-50, int8-75, int8-90) and the ARX-only points (arx-16, arx-32); the research lane cuts the class, the hash lane measures the card rows, the adversary lane the chip rows, the census instruments read it; R15-03 (layer-8-off control and held-out cache curves) and R15-04 (compaction, exact-fold alternatives, tuning) take their rows from those batches | main's order through the coordinator (11:0x UK, 9 October 2026): the cells for the int8-dominated class opened, every row NOT RUN until read; the lanes land their own batches on these cells with map_cell_requested"
},
"evidence_records": {
"record": {
"reason": "R15-04 (1.5x programme package): no package executed; the harness is the lane's (X2, X3, X4); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"class:int8": {
"requirement_id": "R15-04",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "class:int8",
"manifest_sha": "d799c086",
"run_id": "r15-int8-20261009-01",
"evidence": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"in_progress": true,
"coverage": "partial: byte agreement and accepted-work savings of each weight's fold; X2 to X4's rows carry the rest",
"release_identity": {
"commit": "",
"commit": "master d799c086; the class is cut by the research lane behind a research flag, not in any release",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"in_progress": false
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.734Z",
"note": "opened, nothing measured yet: the int8-dominated class behind a research flag at three weights (int8-50, int8-75, int8-90) and the ARX-only points (arx-16, arx-32); the research lane cuts the class, the hash lane measures the card rows, the adversary lane the chip rows, the census instruments read it; R15-03 (layer-8-off control and held-out cache curves) and R15-04 (compaction, exact-fold alternatives, tuning) take their rows from those batches | main's order through the coordinator (11:0x UK, 9 October 2026): the cells for the int8-dominated class opened, every row NOT RUN until read; the lanes land their own batches on these cells with map_cell_requested"
}
},
"in_progress_since": "2026-10-09T10:06:27.734Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
@ -20600,44 +20702,58 @@
"manual_page": null,
"run_status": "NOT RUN",
"plan_status": "NOT RUN",
"updated": "2026-10-09T09:19:24.923Z",
"run_id": "r15-track-b-20261009-02",
"evidence_path": "docs/analysis/mhpow/b1/README.md; tools/mhpow/b1/fixtures/attacks-n10-k16.json; tools/mhpow/b1/fixtures/SHA256SUMS",
"updated": "2026-10-09T10:06:27.821Z",
"evidence_record": {
"reason": "R15-05 (1.5x programme package): no package executed; the harness is the lane's (B1); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"requirement_id": "R15-05",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "theory:r15-05-track-b",
"manifest_sha": "0f370527",
"run_id": "r15-track-b-20261009-02",
"evidence": "docs/analysis/mhpow/b1/README.md; tools/mhpow/b1/fixtures/attacks-n10-k16.json; tools/mhpow/b1/fixtures/SHA256SUMS",
"in_progress": true,
"coverage": "partial: the published primitive's reference, attacks and verifier refusals; the lottery binding (B2), the composed theorem (B4) and the panel's reading open",
"release_identity": {
"commit": "",
"commit": "master 0f370527 (B1 e9f94df6 landed)",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
}
},
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.821Z",
"note": "BOUND (B1, F-3): with ABH17's proven constant the paper's challenge count k exceeds N at lambda 256 and N 2^20 (to about n 25): no practical parameter in the proven regime. FINDING (B1, F-4): one labelling yields 193 to 200 accepted roots in 200 tries at 26 oracle calls per try, so a lottery over tau is not bound to the labelling cost (fixture A6, attacks-n10-k16.json, run on build-6). The package R15-05 (no improvised sampled-memory soundness) stays NOT RUN until the independent panel reads the reference and its verifier (17 of 17 named checks with known-failed tests) | the coordinator's order (10:4x UK, 9 October 2026): Track B's reproduction findings as BOUND rows, NOT RUN, no pass or fail claimed for the package"
},
"evidence_records": {
"record": {
"reason": "R15-05 (1.5x programme package): no package executed; the harness is the lane's (B1); its batch names the case when it lands; not yet named in the map",
"at": "2026-10-09T09:19:24.923Z",
"method": "static",
"theory:r15-05-track-b": {
"requirement_id": "R15-05",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "theory:r15-05-track-b",
"manifest_sha": "0f370527",
"run_id": "r15-track-b-20261009-02",
"evidence": "docs/analysis/mhpow/b1/README.md; tools/mhpow/b1/fixtures/attacks-n10-k16.json; tools/mhpow/b1/fixtures/SHA256SUMS",
"in_progress": true,
"coverage": "partial: the published primitive's reference, attacks and verifier refusals; the lottery binding (B2), the composed theorem (B4) and the panel's reading open",
"release_identity": {
"commit": "",
"commit": "master 0f370527 (B1 e9f94df6 landed)",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"in_progress": false
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T10:06:27.821Z",
"note": "BOUND (B1, F-3): with ABH17's proven constant the paper's challenge count k exceeds N at lambda 256 and N 2^20 (to about n 25): no practical parameter in the proven regime. FINDING (B1, F-4): one labelling yields 193 to 200 accepted roots in 200 tries at 26 oracle calls per try, so a lottery over tau is not bound to the labelling cost (fixture A6, attacks-n10-k16.json, run on build-6). The package R15-05 (no improvised sampled-memory soundness) stays NOT RUN until the independent panel reads the reference and its verifier (17 of 17 named checks with known-failed tests) | the coordinator's order (10:4x UK, 9 October 2026): Track B's reproduction findings as BOUND rows, NOT RUN, no pass or fail claimed for the package"
}
},
"in_progress_since": "2026-10-09T10:06:27.821Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
@ -20757,7 +20873,7 @@
"manual_page": null,
"run_status": "NOT RUN",
"plan_status": "NOT RUN",
"updated": "2026-10-09T09:46:28.120Z",
"updated": "2026-10-09T10:10:38.500Z",
"evidence_record": {
"requirement_id": "R15-07",
"decision": "NOT RUN",
@ -20778,7 +20894,7 @@
},
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T09:46:28.120Z",
"at": "2026-10-09T10:10:38.500Z",
"note": "BOUND (B4): no 1.5x certificate is reachable from the published constants; the generic route at most 0.151 of the honest prover's energy at log2 N = 22, the red-blue route losing at least 341x at rho 0.25 (docs/analysis/mhpow/b4/README.md, params.txt). FINDING (B2, obligation O-07): the two naive lottery rules FAIL with written counter-examples (the sink re-roll at log2 N + 1 calls, about 1.3 million draws per labelling at N = 2^24; free screening on chi alone), the replacement BLOCKED to B4 (B-T3) (docs/analysis/mhpow/b2/README.md). The package R15-07 (no invalid theorem composition) stays NOT RUN until the independent panel reads the composed statement; terms 2 and 3's amortisation are open theorems; L BLOCKED | the coordinator's order (10:4x UK, 9 October 2026): Track B's reproduction findings recorded as BOUND rows, NOT RUN, no pass or fail claimed for any package; every chip figure WITNESS or BOUND by the R15 suite rule"
},
"evidence_records": {
@ -20802,7 +20918,7 @@
},
"claim_impact": "none: the composed accepted-proof energy statement is a draft with named proof obligations; the published constants cannot carry a 1.5x certificate (loss at least 6.6x on the generic route, at least 341x on the red-blue route); every row NOT RUN until the panel reads it",
"reviewer": "",
"at": "2026-10-09T09:46:28.024Z",
"at": "2026-10-09T10:10:38.406Z",
"note": "NOT RUN: statement and losses written; terms 2 (transfers) and the amortisation of terms 2 and 3 are open theorems; L is BLOCKED (no lower-bound certificate for any technology coefficient); X5 rows stay WITNESS (E_D) | recorded by the CI steward on the coordinator's order (10:4x UK, 9 October 2026): Track B's findings as BOUND and NOT RUN rows; the cell theory:mhpow-b4 carried in map_cell_requested. NOT RUN by this lane: the steward records it only if the coordinator asks, with the cell added to the map. BLOCKED rows B4-B01 to B4-B10 in README section 12."
},
"theory:r15-07-track-b": {
@ -20825,7 +20941,7 @@
},
"claim_impact": "none",
"reviewer": "",
"at": "2026-10-09T09:46:28.120Z",
"at": "2026-10-09T10:10:38.500Z",
"note": "BOUND (B4): no 1.5x certificate is reachable from the published constants; the generic route at most 0.151 of the honest prover's energy at log2 N = 22, the red-blue route losing at least 341x at rho 0.25 (docs/analysis/mhpow/b4/README.md, params.txt). FINDING (B2, obligation O-07): the two naive lottery rules FAIL with written counter-examples (the sink re-roll at log2 N + 1 calls, about 1.3 million draws per labelling at N = 2^24; free screening on chi alone), the replacement BLOCKED to B4 (B-T3) (docs/analysis/mhpow/b2/README.md). The package R15-07 (no invalid theorem composition) stays NOT RUN until the independent panel reads the composed statement; terms 2 and 3's amortisation are open theorems; L BLOCKED | the coordinator's order (10:4x UK, 9 October 2026): Track B's reproduction findings recorded as BOUND rows, NOT RUN, no pass or fail claimed for any package; every chip figure WITNESS or BOUND by the R15 suite rule"
}
},
@ -20837,7 +20953,7 @@
},
"run_id": "r15-track-b-20261009-01",
"evidence_path": "docs/analysis/mhpow/b4/README.md; docs/analysis/mhpow/b4/params.txt; docs/analysis/mhpow/b4/RUNS.md; tools/mhpow/b4/params.py; docs/analysis/mhpow/b2/README.md; docs/analysis/mhpow/b4/README.md; docs/analysis/mhpow/b4/params.txt; docs/analysis/mhpow/b4/RUNS.md; tools/mhpow/b4/params.py",
"in_progress_since": "2026-10-09T09:46:28.024Z"
"in_progress_since": "2026-10-09T10:10:38.406Z"
},
{
"id": "R15-08",

View file

@ -1174,7 +1174,9 @@ fn reg_decl(p: &Program, ty: &str) -> String {
}
let names: Vec<String> = (0..p.registers()).map(|k| format!("r{k}")).collect();
let m = if p.address_mix() {
if ty == "uint32_t" && reg64_prefix() {
if ty == "uint32_t" && reg64_form() == crate::reg64form::Reg64Form::Generated {
format!("\n {ty} m, S, p_, g0, g1, g2, g3, g4, g5, g6, g7; // reg64 full chain in the X4 generated form: the eight group sums, recomputed where the schedule wrote")
} else if ty == "uint32_t" && reg64_prefix() {
format!("\n {ty} m, S, p_, t_; // reg64 full chain in the F05 prefix form: S the running xor of the rotated registers, p_ the prefix, t_ the old term")
} else {
format!("\n {ty} m; // reg64 full chain: the address mix of all 64 registers before every load")
@ -1194,14 +1196,65 @@ fn reg_decl(p: &Program, ty: &str) -> String {
/// `r[s] ^ ror(P_s, 1) ^ (S ^ P_s ^ a[s])` with `P_s` the xor of the first `s` terms. The same hash, the same vectors
/// (`verify::reg64_address_source`); a measurement text for the fleet, never the definition. OpenCL and Metal keep
/// the fold.
static REG64_PREFIX: std::sync::atomic::AtomicBool = std::sync::atomic::AtomicBool::new(false);
/// X4 of the 1.5x programme (9 October 2026): the switch is one value of the CUDA text's form
/// (`crate::reg64form`, `igneum-pow export --reg64-form fold|direct|generated|prefix`); `--reg64-prefix` is `prefix`.
pub fn set_reg64_prefix(on: bool) {
REG64_PREFIX.store(on, std::sync::atomic::Ordering::Relaxed);
crate::reg64form::set_gpu_form(if on { crate::reg64form::Reg64Form::Prefix } else { crate::reg64form::Reg64Form::Fold });
}
pub fn reg64_prefix() -> bool {
REG64_PREFIX.load(std::sync::atomic::Ordering::Relaxed)
crate::reg64form::gpu_form() == crate::reg64form::Reg64Form::Prefix
}
/// The CUDA text's form of the reg64 address mix (the fold unless `--reg64-form` names another).
fn reg64_form() -> crate::reg64form::Reg64Form {
crate::reg64form::gpu_form()
}
/// X4 direct form: the mix statement before a load of source `src` as the definition's closed sum, one rotation
/// per term (`rotl(rK, (62 - k) mod 32)` before the source, `(63 - k) mod 32` after it), xored as a balanced tree.
fn reg64_direct_mix_line(src: u8) -> String {
let s = src as usize;
let terms: Vec<String> = (0..64)
.filter(|&k| k != s)
.map(|k| {
let n = crate::reg64form::direct_rot(k, s);
if n == 0 { format!("r{k}") } else { format!("rotl_imm(r{k}, {n}u)") }
})
.collect();
format!("m = {};", xor_tree(&terms))
}
/// A balanced xor tree of `terms` as text (parenthesised so the compiler is handed the tree, not a chain).
fn xor_tree(terms: &[String]) -> String {
match terms.len() {
0 => "0u".to_string(),
1 => terms[0].clone(),
n => format!("({} ^ {})", xor_tree(&terms[..n / 2]), xor_tree(&terms[n / 2..])),
}
}
/// X4 generated form: one group sum `gJ = a[8J] ^ ... ^ a[8J + 7]` as a statement.
fn reg64_group_line(j: usize) -> String {
let terms: Vec<String> = (j * 8..j * 8 + 8).map(reg64_term).collect();
format!("g{j} = {};", xor_tree(&terms))
}
/// X4 generated form: the statements before a load of source `src` (the plan's stale groups recomputed, then
/// `m = ror(P, 1) ^ S ^ P ^ a[src]` with `S` the eight groups and `P` the groups before src's plus the partial).
fn reg64_generated_mix_line(recompute: &[usize], src: u8) -> String {
let s = src as usize;
let mut out = String::new();
for &j in recompute {
out.push_str(&reg64_group_line(j));
out.push(' ');
}
let groups: Vec<String> = (0..8).map(|j| format!("g{j}")).collect();
let jj = s / 8;
let mut prefix: Vec<String> = (0..jj).map(|j| format!("g{j}")).collect();
prefix.extend((jj * 8..s).map(reg64_term));
out.push_str(&format!("S = {}; p_ = {}; m = rotr_var(p_, 1u) ^ S ^ p_ ^ {};", xor_tree(&groups), xor_tree(&prefix), reg64_term(s)));
out
}
/// `rotl(rK, (63 - k) mod 32)` as text; a rotation of 0 is the register itself (`rotl_imm` takes 1..31).
@ -1220,6 +1273,13 @@ fn reg64_prefix_mix_line(src: u8) -> String {
/// The prefix form's running total after the register init: `S = a[0] ^ ... ^ a[63]`.
fn reg64_prefix_init(p: &Program) -> String {
if p.class.reg64 && p.address_mix() && reg64_form() == crate::reg64form::Reg64Form::Generated {
let mut s = String::from(" // X4 generated form: the eight group sums of the rotated registers\n");
for j in 0..8 {
s.push_str(&format!(" {}\n", reg64_group_line(j)));
}
return s;
}
if !p.class.reg64 || !p.address_mix() || !reg64_prefix() {
return String::new();
}
@ -1278,13 +1338,22 @@ fn cuda_instr_lines(p: &Program, geom: DatasetGeom) -> String {
// just before the load (the verifier's addr_src, the same chain)
let address_mix = p.address_mix();
let addr_src = |a: &str| -> String { if address_mix { format!("({a} ^ m)") } else { a.to_string() } };
for (k, ins) in p.scheduled().iter().enumerate() {
let scheduled = p.scheduled();
let form = reg64_form();
let plan = if address_mix && form == crate::reg64form::Reg64Form::Generated { crate::reg64form::generated_plan(&scheduled, &p.shadow) } else { Vec::new() };
for (k, ins) in scheduled.iter().enumerate() {
let d = format!("r{}", ins.dst);
let a = format!("r{}", ins.src);
let b = format!("r{}", ins.src2);
let prefix = address_mix && reg64_prefix();
if address_mix && ins.op == Op::Load {
s.push_str(&format!(" {}\n", if prefix { reg64_prefix_mix_line(ins.src) } else { reg64_mix_line(p, ins.src) }));
let line = match form {
crate::reg64form::Reg64Form::Prefix => reg64_prefix_mix_line(ins.src),
crate::reg64form::Reg64Form::Direct => reg64_direct_mix_line(ins.src),
crate::reg64form::Reg64Form::Generated => reg64_generated_mix_line(&plan[k], ins.src),
_ => reg64_mix_line(p, ins.src),
};
s.push_str(&format!(" {line}\n"));
}
if prefix {
// the old term of the destination, so S can drop it after the write

View file

@ -30,6 +30,7 @@ pub mod emit;
pub mod generator;
pub mod memhard;
pub mod packcheck;
pub mod reg64form;
pub mod seed;
pub mod state;
pub mod verify;

View file

@ -123,7 +123,9 @@ fn usage() -> ! {
\x20 --dataset-words N research class ds55: the dataset at N words (a multiple of 65,536 in 2^28 ..= 2^31; 1476395008 = 5.5 GiB); a non-power-of-two uses idx = (src * N) >> 32 in every load (spec 01 section 1.13.3), a power of two is --dataset-log2\n\\
\x20 --reg64 the 64-register window per lane over the class (research; the same as --class <class>+reg64; CUDA, OpenCL and Metal texts)\n\
\x20 --reg64-chain reg64 with the full-chain address mix: every load's address consumes all 64 registers (the same as --class <class>+reg64c)\n\
\x20 --reg64-prefix export: the CUDA texts carry the reg64 chain in its closed prefix form (review B's F05; the same hash and vectors, a measurement text)"
\x20 --reg64-prefix export: the CUDA texts carry the reg64 chain in its closed prefix form (review B's F05; the same hash and vectors, a measurement text)\n\
\x20 --reg64-form <f> export: the CUDA texts' reg64 address-mix form, fold (the default), direct, generated or prefix (X4, 1.5x programme; the same hash)\n\
\x20 --reg64-cpu-form <f> the CPU interpreter computes the reg64 address mix in form f (fold, direct, generated, prefix, or wrong: the known-failed form), the X4 differential only"
);
std::process::exit(2)
}
@ -191,6 +193,11 @@ fn parse() -> Args {
a.reg64_chain = true;
}
"--reg64-prefix" => igneum_pow::emit::set_reg64_prefix(true),
"--reg64-form" => match igneum_pow::reg64form::Reg64Form::parse(&val()) {
Some(igneum_pow::reg64form::Reg64Form::Wrong) | None => usage(),
Some(f) => igneum_pow::reg64form::set_gpu_form(f),
},
"--reg64-cpu-form" => igneum_pow::reg64form::set_cpu_form(igneum_pow::reg64form::Reg64Form::parse(&val()).unwrap_or_else(|| usage())),
_ => usage(),
}
}

322
igneum-pow/src/reg64form.rs Normal file
View file

@ -0,0 +1,322 @@
//! X4 of the 1.5x programme (9 October 2026, the k lane): byte-identical implementation forms of the class v6
//! reg64c address mix (`docs/analysis/class-v6/1p5x/x4/README.md`). The DEFINITION stays the verifier's fold
//! (`verify::step`'s `addr_src`: `m = r[k0]; m = rotl(m, 1) ^ r[k1]; ...` over the 63 registers other than the load's
//! source `s`, in index order, the address source `r[s] ^ m`). Every form here computes the same 32-bit word on every
//! register state and every source; none of them is a consensus change, and the default everywhere is the fold.
//!
//! * `Fold`: the frozen text (the 63-term dependent chain per load).
//! * `Direct`: the definition's closed sum written directly, `m = XOR_{k<s} rotl(r[k], (62 - k) mod 32) ^
//! XOR_{k>s} rotl(r[k], (63 - k) mod 32)`, a balanced XOR tree with no carried chain and no state.
//! * `Generated`: a code-generated form over eight group sums `g_j = XOR_{k in 8j..8j+7} a[k]`, `a[k] = rotl(r[k],
//! (63 - k) mod 32)`. The generator reads the static schedule and recomputes, before each load, only the groups
//! written since the previous load ([`generated_plan`]); the shadow block draws its registers from r0..r7
//! (`generator.rs`, `dst = rng.below(8)`), so the 55,296 shadow writes dirty group 0 only. A load's source is
//! `r[s] ^ ror(P_s, 1) ^ S ^ P_s ^ a[s]` with `S = XOR g_j` and `P_s` the whole groups before `s`'s group plus the
//! in-group partial (review B's F05 identity, `verify::reg64_address_source`).
//! * `Prefix`: review B's F05 text as landed (`--reg64-prefix`): a running `S` updated after every write (main and
//! shadow), `P_s` recomputed per load.
//! * `Wrong`: the known-failed variant for the differential test only (`r[s] ^ S ^ a[s]`, every term rotated as if it
//! sat after the source); the differential must refuse it. Never emitted.
use std::sync::atomic::{AtomicU8, Ordering};
use crate::generator::{Instr, Op, LANES};
/// Registers per group of the generated form.
pub const GROUP: usize = 8;
/// Groups of the generated form (64 registers).
pub const GROUPS: usize = 8;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Reg64Form {
Fold,
Direct,
Generated,
Prefix,
Wrong,
}
impl Reg64Form {
pub fn parse(s: &str) -> Option<Reg64Form> {
Some(match s {
"fold" => Reg64Form::Fold,
"direct" => Reg64Form::Direct,
"generated" => Reg64Form::Generated,
"prefix" => Reg64Form::Prefix,
"wrong" => Reg64Form::Wrong,
_ => return None,
})
}
pub fn name(self) -> &'static str {
match self {
Reg64Form::Fold => "fold",
Reg64Form::Direct => "direct",
Reg64Form::Generated => "generated",
Reg64Form::Prefix => "prefix",
Reg64Form::Wrong => "wrong",
}
}
fn code(self) -> u8 {
self as u8
}
fn from_code(c: u8) -> Reg64Form {
[Reg64Form::Fold, Reg64Form::Direct, Reg64Form::Generated, Reg64Form::Prefix, Reg64Form::Wrong][c as usize]
}
}
static GPU_FORM: AtomicU8 = AtomicU8::new(0);
static CPU_FORM: AtomicU8 = AtomicU8::new(0);
/// The CUDA text's form (`igneum-pow export --reg64-form <form>`; `--reg64-prefix` is `prefix`). `Wrong` is refused.
pub fn set_gpu_form(f: Reg64Form) {
assert!(f != Reg64Form::Wrong, "the known-failed form is never emitted");
GPU_FORM.store(f.code(), Ordering::Relaxed);
}
pub fn gpu_form() -> Reg64Form {
Reg64Form::from_code(GPU_FORM.load(Ordering::Relaxed))
}
/// The CPU interpreter's form (`--reg64-cpu-form <form>`, the differential test's switch). The fold is the
/// definition and the default; every other form runs beside it only in the X4 differential.
pub fn set_cpu_form(f: Reg64Form) {
CPU_FORM.store(f.code(), Ordering::Relaxed);
}
pub fn cpu_form() -> Reg64Form {
Reg64Form::from_code(CPU_FORM.load(Ordering::Relaxed))
}
/// `a[k] = rotl(r[k], (63 - k) mod 32)`: register k's rotation in the full 64-register chain.
#[inline(always)]
pub fn term(r: &[u32; 64], k: usize) -> u32 {
r[k].rotate_left(((63 - k) % 32) as u32)
}
/// The rotation register `k` carries in the chain of a load whose source is `s` (k != s).
#[inline(always)]
pub fn direct_rot(k: usize, s: usize) -> u32 {
if k < s { ((62 - k) % 32) as u32 } else { ((63 - k) % 32) as u32 }
}
/// The definition, one lane: `r[s] ^ m` with the 63-term chain (the same loop as `verify::step`).
pub fn fold(r: &[u32; 64], s: usize) -> u32 {
let mut m = 0u32;
let mut started = false;
for (k, &v) in r.iter().enumerate() {
if k == s {
continue;
}
m = if started { m.rotate_left(1) ^ v } else { v };
started = true;
}
r[s] ^ m
}
/// The direct form: the closed sum, one rotation per term.
pub fn direct(r: &[u32; 64], s: usize) -> u32 {
let mut m = 0u32;
for k in 0..64 {
if k != s {
m ^= r[k].rotate_left(direct_rot(k, s));
}
}
r[s] ^ m
}
/// One group sum of the generated form.
#[inline(always)]
pub fn group(r: &[u32; 64], j: usize) -> u32 {
let mut g = 0u32;
for k in j * GROUP..(j + 1) * GROUP {
g ^= term(r, k);
}
g
}
/// The generated form's query from the cached group sums `g` (stale groups give a wrong word: the plan's job).
pub fn grouped(g: &[u32; GROUPS], r: &[u32; 64], s: usize) -> u32 {
let total = g.iter().fold(0u32, |x, y| x ^ y);
let j = s / GROUP;
let mut p = g[..j].iter().fold(0u32, |x, y| x ^ y);
for k in j * GROUP..s {
p ^= term(r, k);
}
r[s] ^ p.rotate_right(1) ^ total ^ p ^ term(r, s)
}
/// The prefix form's query from a running total `total` (= XOR of every `a[k]` when kept fresh).
pub fn prefixed(total: u32, r: &[u32; 64], s: usize) -> u32 {
let mut p = 0u32;
for k in 0..s {
p ^= term(r, k);
}
r[s] ^ p.rotate_right(1) ^ total ^ p ^ term(r, s)
}
/// The known-failed form (the F05 test's wrong variant).
pub fn wrong(r: &[u32; 64], s: usize) -> u32 {
let total = (0..64).map(|k| term(r, k)).fold(0, |x, y| x ^ y);
r[s] ^ total ^ term(r, s)
}
/// The generated form's static plan: for each statement of the scheduled list, the groups to recompute just before
/// it (non-empty only at loads). The groups entering an iteration are those written after the last load of the
/// previous iteration's list plus every group the shadow block writes (group 0 on the shipped class); the kernel
/// computes all eight after the register init, so iteration 0 recomputes a superset (idempotent).
pub fn generated_plan(scheduled: &[Instr], shadow: &[Instr]) -> Vec<Vec<usize>> {
let all: u8 = 0xff;
let bit = |ins: &Instr| 1u8 << (ins.dst as usize / GROUP);
let mut dirty = all;
for ins in scheduled {
if ins.op == Op::Load {
dirty = 0;
}
dirty |= bit(ins);
}
let shadow_groups = shadow.iter().fold(0u8, |m, ins| m | bit(ins));
let mut dirty = dirty | shadow_groups;
let mut plan = Vec::with_capacity(scheduled.len());
for ins in scheduled {
if ins.op == Op::Load {
plan.push((0..GROUPS).filter(|j| dirty & (1 << j) != 0).collect());
dirty = 0;
} else {
plan.push(Vec::new());
}
dirty |= bit(ins);
}
plan
}
/// The groups the shadow block writes (a bit per group).
pub fn shadow_group_mask(shadow: &[Instr]) -> u8 {
shadow.iter().fold(0u8, |m, ins| m | (1u8 << (ins.dst as usize / GROUP)))
}
/// Counts of the generated plan per iteration: (loads, group recomputes) — the op count's input.
pub fn plan_counts(plan: &[Vec<usize>], scheduled: &[Instr]) -> (usize, usize) {
let loads = scheduled.iter().filter(|i| i.op == Op::Load).count();
let recomputes = plan.iter().map(|v| v.len()).sum();
(loads, recomputes)
}
/// The CPU interpreter's state for a form (the differential's emulation of each kernel text): the generated
/// form's eight cached group sums per lane, recomputed only where [`generated_plan`] says; the prefix form's running
/// total per lane, updated after every write (main list and shadow), as the F05 text does.
pub struct FormState {
form: Reg64Form,
plan: Vec<Vec<usize>>,
groups: [[u32; LANES]; GROUPS],
total: [u32; LANES],
}
fn lane_regs(r: &[[u32; LANES]], lane: usize) -> [u32; 64] {
std::array::from_fn(|k| r[k][lane])
}
impl FormState {
pub fn new(form: Reg64Form, plan: Vec<Vec<usize>>) -> FormState {
FormState { form, plan, groups: [[0; LANES]; GROUPS], total: [0; LANES] }
}
/// After the register init (and the probe's flip): every group and the running total from the live registers.
pub fn init(&mut self, r: &[[u32; LANES]]) {
for lane in 0..LANES {
let regs = lane_regs(r, lane);
for j in 0..GROUPS {
self.groups[j][lane] = group(&regs, j);
}
self.total[lane] = (0..64).map(|k| term(&regs, k)).fold(0, |x, y| x ^ y);
}
}
/// After a write of register `d` whose value before the write was `old`: the prefix form's running total moves
/// by the term's change; the generated form keeps its groups stale until the plan recomputes them.
pub fn after_write(&mut self, r: &[[u32; LANES]], d: usize, old: &[u32; LANES]) {
if self.form == Reg64Form::Prefix {
let rot = ((63 - d) % 32) as u32;
for lane in 0..LANES {
self.total[lane] ^= old[lane].rotate_left(rot) ^ r[d][lane].rotate_left(rot);
}
}
}
/// The address source of the load at scheduled position `k` with source `s`, per lane, in this form.
pub fn source(&mut self, r: &[[u32; LANES]], k: usize, s: usize) -> [u32; LANES] {
if self.form == Reg64Form::Generated {
for &j in &self.plan[k] {
for lane in 0..LANES {
let regs = lane_regs(r, lane);
self.groups[j][lane] = group(&regs, j);
}
}
}
std::array::from_fn(|lane| {
let regs = lane_regs(r, lane);
match self.form {
Reg64Form::Fold => fold(&regs, s),
Reg64Form::Direct => direct(&regs, s),
Reg64Form::Generated => grouped(&std::array::from_fn(|j| self.groups[j][lane]), &regs, s),
Reg64Form::Prefix => prefixed(self.total[lane], &regs, s),
Reg64Form::Wrong => wrong(&regs, s),
}
})
}
}
#[cfg(test)]
mod tests {
use super::*;
fn stream(seed: u64) -> impl FnMut() -> u32 {
let mut x = seed;
move || {
x = x.wrapping_add(0x9e37_79b9_7f4a_7c15);
let mut z = x;
z = (z ^ (z >> 30)).wrapping_mul(0xbf58_476d_1ce4_e5b9);
z = (z ^ (z >> 27)).wrapping_mul(0x94d0_49bb_1331_11eb);
(z ^ (z >> 31)) as u32
}
}
/// Known-failed first: the wrong form must disagree with the fold somewhere; then the three forms agree with the
/// fold on every source over 4,096 random states and on the structured states (all zero, all ones, one bit,
/// the init rule's registers).
#[test]
fn x4_forms_equal_the_fold_and_the_wrong_form_is_refused() {
let mut next = stream(0x1505_0004);
let mut wrong_differs = 0usize;
let mut states: Vec<[u32; 64]> = Vec::new();
for _ in 0..4096 {
let mut r = [0u32; 64];
for v in r.iter_mut() {
*v = next();
}
states.push(r);
}
states.push([0u32; 64]);
states.push([u32::MAX; 64]);
for b in 0..64 * 32 {
let mut r = [0u32; 64];
r[b / 32] = 1 << (b % 32);
states.push(r);
}
let mut r = [0u32; 64];
for k in 0..8 {
r[k] = next();
}
for k in 8..64 {
r[k] = r[k & 7].wrapping_mul(0x9e37_79b9).wrapping_add(k as u32);
}
states.push(r);
for r in &states {
let g: [u32; GROUPS] = std::array::from_fn(|j| group(r, j));
let total = (0..64).map(|k| term(r, k)).fold(0, |x, y| x ^ y);
for s in 0..64 {
let want = fold(r, s);
if wrong(r, s) != want {
wrong_differs += 1;
}
assert_eq!(direct(r, s), want, "direct, source r{s}");
assert_eq!(grouped(&g, r, s), want, "generated, source r{s}");
assert_eq!(prefixed(total, r, s), want, "prefix, source r{s}");
}
}
assert!(wrong_differs > 0, "the known-failed form must be refused");
}
}

View file

@ -581,6 +581,10 @@ fn interpret_warp_core(
// the iteration's statements: the drawn program, or its interleaved two-window form under reg64
let scheduled = program.scheduled();
let address_mix = program.address_mix();
// X4: a byte-identical form of the address mix beside the definition (crate::reg64form), off by default
let cpu_form = crate::reg64form::cpu_form();
let form_on = address_mix && cpu_form != crate::reg64form::Reg64Form::Fold;
let mut fs = crate::reg64form::FormState::new(cpu_form, if form_on { crate::reg64form::generated_plan(&scheduled, &program.shadow) } else { Vec::new() });
let mut items_derived = 0usize;
let mut idx = [0u32; LANES];
let mut val = [0u32; LANES];
@ -606,9 +610,15 @@ fn interpret_warp_core(
}
}
}
if it == 0 && form_on {
// X4: the form's state from the registers as iteration 0 sees them (after the init and any probe flip)
fs.init(&r);
}
let sel = r[0];
for ins in &scheduled {
step(ins, &mut r, &sel, geom, era.as_ref(), layout, ds, &mut idx, &mut val, &mut items_derived, address_mix);
for (k, ins) in scheduled.iter().enumerate() {
let old = if form_on { r[ins.dst as usize] } else { [0u32; LANES] };
let ovr = if form_on && ins.op == Op::Load { Some(fs.source(&r, k, ins.src as usize)) } else { None };
step(ins, &mut r, &sel, geom, era.as_ref(), layout, ds, &mut idx, &mut val, &mut items_derived, address_mix, ovr.as_ref());
if it == 0 && ins.op == Op::Load {
if let Some(pr) = probe.as_deref_mut() {
if !pr.seen_first_load {
@ -625,12 +635,19 @@ fn interpret_warp_core(
r[d][lane] = m.rmw(&program.seed, base_nonce, lane, slot, r[d][lane]);
}
}
if form_on {
fs.after_write(&r, ins.dst as usize, &old);
}
}
// Latency-shadow block (Counter ASIC 3.0 item 8): the block runs `reps` times after instruction 63 with the
// iteration's `sel`; it is empty on every class without a shadow, so version 2 and class v3 run nothing here.
for _ in 0..program.shadow_reps() {
for ins in &program.shadow {
step(ins, &mut r, &sel, geom, era.as_ref(), layout, ds, &mut idx, &mut val, &mut items_derived, address_mix);
let old = if form_on { r[ins.dst as usize] } else { [0u32; LANES] };
step(ins, &mut r, &sel, geom, era.as_ref(), layout, ds, &mut idx, &mut val, &mut items_derived, address_mix, None);
if form_on {
fs.after_write(&r, ins.dst as usize, &old);
}
}
}
}
@ -668,6 +685,7 @@ fn step(
val: &mut [u32; LANES],
items_derived: &mut usize,
address_mix: bool,
src_override: Option<&[u32; LANES]>,
) {
let d = ins.dst as usize;
let a = ins.src as usize;
@ -679,6 +697,11 @@ fn step(
if !address_mix {
return r[a][lane];
}
// X4 (1.5x programme): a byte-identical form computed by the caller; never set unless the differential's
// `--reg64-cpu-form` names a form other than the fold (crate::reg64form)
if let Some(o) = src_override {
return o[lane];
}
let mut m = 0u32;
let mut started = false;
for k in 0..r.len() {

View file

@ -12,7 +12,10 @@ height() { curl -s --max-time 5 -X POST -H 'content-type: application/json' --da
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
# a fresh sync is thousands behind; the band is 100 blocks so a moving feed never reads a synced node as syncing, and a unit in its
# first two minutes whose RPC has not answered yet is not counted (10:32 UK, 9 Oct: the seed's reopen restart was read as a second sync)
age=$(( $(date +%s) - $(date -d "$(systemctl show -p ActiveEnterTimestamp --value "$u")" +%s 2>/dev/null || echo 0) ))
if [ "$h" -lt 0 ] && [ "$age" -lt 120 ]; then :; elif [ "$h" -lt 0 ] || [ "$d" -gt 100 ] || [ "$d" -lt -100 ]; then syncing+=("$u"); fi
done
if [ "${#syncing[@]}" -gt 1 ]; then
# keep the earliest-started, stop the rest by unit

View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
# X2: the prod plan again (with the separators, after finding X2-F1), then the measured pairs; one GPU process at a time.
# The text as it ran on fk-x2-4090 at 08:49 UTC on 9 October 2026 (paths are the pod's /root/x2 layout).
set -uo pipefail
P=/root/x2/pids; O=/root/x2/out/equiv; D=/root/x2/tools/x2-equiv.py; W=/root/x2/bin/igneum-worker-cuda
echo "$$ $(date -u +%FT%TZ) x2 run-prod-then-pairs" > $P/x2-run-prod-then-pairs.pid
for c in same-work-20261008-01 same-work-20261008-02 same-work-20261008-03; do
echo "== $(date -u +%T) $c prod"
python3 $D expect --ctx /root/x2/ctx/$c --shape prod --out $O > /dev/null
python3 $D run --worker $W --ctx /root/x2/ctx/$c --mode full --shape prod --out $O --pid-dir $P > /dev/null
python3 $D run --worker $W --ctx /root/x2/ctx/$c --mode select --shape prod --out $O --pid-dir $P > /dev/null
python3 $D compare --out $O --ctx-id $c --shape prod > /dev/null
python3 -c "import json,sys; r=json.load(open(sys.argv[1])); print(r[\"ctx\"], r[\"shape\"], r[\"verdict\"], {m: (v if isinstance(v, str) else (v[\"equal_to_expected\"], v[\"sha256\"][:16], v[\"first_difference\"])) for m, v in r[\"modes\"].items()}, \"expected\", r[\"expected_sha256\"][:16])" $O/$c.prod.compare.json
done
echo "== $(date -u +%T) pairs"
/root/x2/tools/run-pairs.sh $W /root/x2/ctx/same-work-20261008-02/packs/chain-seed-d20730 /root/x2/out/pairs $P 4 1024 22
rm -f $P/x2-run-prod-then-pairs.pid

33
tools/1p5x/x4/arith.py Normal file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env python3
"""X4 (1.5x programme): r_new = r0 * g / a from the GPU pairs (gpu_rows.py output) and the chip rows (chip_rows.py
output). g: the card's joules per hash with the form over the frozen text's, the mean of the two same-session passes.
a: the specialist's machine energy with a form over the reference, at the adversary lane's 1.528 microjoules (N5, GDDR7
board), two references: (fold) a specialist that implements the frozen literal fold, (model) the served machine, which
carries no address-mix term. Each side picks its cheapest form on its own; the per-form rows (both sides on one form) are
printed for the record. Usage: arith.py <gpu-rows.txt> <chip-rows.txt> [r0 ...] (default r0 2.0, 1.9, 2.1)."""
import re, sys
gtxt, ctxt = open(sys.argv[1]).read(), open(sys.argv[2]).read()
r0s = [float(x) for x in sys.argv[3:]] or [2.0, 1.9, 2.1]
M = 1528.0
g = {m.group(1).replace("x4-", ""): float(m.group(2)) for m in re.finditer(r"^pair\t(x4-\S+)\t.*\t([0-9.]+)$", gtxt, re.M)}
chip = {}
for line in ctxt.splitlines():
p = line.split("\t")
if len(p) >= 7 and re.match(r"[\d.]+ [\d.]+ [\d.]+$", p[5]):
chip[p[0].split(" (")[0]] = (float(p[5].split()[1]), float(p[6].split()[1]))
fold_s, fold_d = chip["fold"]
print("form\tg\ta vs fold (slot, datapath)\ta vs model (slot, datapath)\tr_new at r0 2.0, same form both sides (vs fold slot, dp; vs model slot, dp)")
for k in ("direct", "generated", "prefix", "grouped incremental"):
s, d = chip[k]
gg = g.get(k, 1.0)
af = ((M + s) / (M + fold_s), (M + d) / (M + fold_d)); am = ((M + s) / M, (M + d) / M)
print(f"{k}\t{gg:.4f}{'' if k in g else ' (no GPU text)'}\t{af[0]:.4f}, {af[1]:.4f}\t{am[0]:.4f}, {am[1]:.4f}\t" + ", ".join(f"{2.0*gg/a:.3f}" for a in (*af, *am)))
gk = min(g, key=g.get); ck = min((k for k in chip if k != "fold"), key=lambda k: chip[k][0])
s, d = chip[ck]
print(f"\nbest pair: the card on '{gk}' (g {g[gk]:.4f}), the specialist on '{ck}'")
for r0 in r0s:
out = []
for lab, a in (("vs fold slot", (M + s) / (M + fold_s)), ("vs fold datapath", (M + d) / (M + fold_d)), ("vs model slot", (M + s) / M), ("vs model datapath", (M + d) / M)):
out.append(f"{lab}: a {a:.4f} r_new {r0 * g[gk] / a:.3f}")
print(f"r0 {r0}: " + "; ".join(out))
print("\nthe yardstick: from 2.0, 1.5 needs g / a = 0.75")

102
tools/1p5x/x4/chip_rows.py Normal file
View file

@ -0,0 +1,102 @@
#!/usr/bin/env python3
"""X4 (1.5x programme): the chip-side cost of each byte-identical reg64c address-mix form, counted from the exported
kernel texts of the frozen object and priced with the adversary lane's calibrated constants (its message of 09:4x UK,
9 October 2026, on class-v6-adversary 43c9f7cd8 tools/chip-model/mf/: e_op 6.55 pJ per lane-op at N5, band 6.01 to
7.77; an xor-rotate that does not pass the slot's macro read about 1.0 pJ; e_rf 3.5 pJ per 256-bit macro access shared by
8 lanes, band 2.0 to 7.0; flop state 0.03 pJ per bit written; the slot reads 3 and writes 1 window register per
instruction already; the chip's shadow 0.672 microjoules and the GDDR7 machine 1.528 microjoules per hash at N5).
Counts per hash per lane: X = xor or rotate-xor ops of the mix, A = window reads beyond the slot's own, F = flop bits
written for the form's state. Two pricings: 'slot' (each mix op a full lane-op, the adversary's literal-fold row) and
'datapath' (each mix op an xor at 1.0 pJ, the running-total row). Usage: chip_rows.py <ex dir with fold/ generated/
prefix/ direct/> [--tsv out.tsv]. Modelled, no chip measured."""
import re, sys
EX = sys.argv[1]
ITS, REPS = 8, 27
E_OP = {"lo": 6.01, "c": 6.55, "hi": 7.77}
E_X_DP = 1.0
E_RF = {"lo": 2.0, "c": 3.5, "hi": 7.0}
E_FLOP_BIT = 0.03
SHADOW_UJ, MACHINE_UJ = 0.672, 1.528
def loop_body(path):
t = open(path).read()
k = t.index("__global__ void igneum_hash(")
t = t[k:]
a = t.index("for (uint32_t it = 0u;")
b = t.index("latency-shadow block", a)
c = t.index("for (uint32_t sh = 0u;", b)
d = t.index("\n }\n", c)
return t[a:b], t[c:d], t[:a]
def terms(expr):
return len(re.findall(r"rotl_imm\(r\d+, \d+u\)|\br\d+\b|\bg\d\b", expr))
def writes(body):
return [int(m.group(1)) for m in re.finditer(r"^\s+r(\d+) = .*//\s*s?\d+ \w+$", body, re.M)]
rows = []
main_f, shadow_f, _ = loop_body(f"{EX}/fold/kernel.cu")
loads_per_it = len(re.findall(r"// \d+ load", main_f))
main_w = writes(main_f)
shadow_w = writes(shadow_f)
assert all(d < 8 for d in shadow_w), "a shadow write outside r0..r7"
L = loads_per_it * ITS
# fold and direct: 63 terms, 63 reads, 63 (fold: rotl(m,1)^r) or 62 (tree) ops per load
rows.append(("fold (frozen)", 63 * L, 63 * L, 0, 0, "the 64 x 32-bit window only", "63 window reads per load"))
rows.append(("direct", 62 * L, 63 * L, 0, 0, "the window only", "63 window reads per load (a tree: depth 6, same reads)"))
# generated: parse each load's statement line
gm, _, ginit = loop_body(f"{EX}/generated/kernel.cu")
X = A = F = 0
for line in gm.splitlines():
if "S = " not in line:
continue
n_groups = len(re.findall(r"\bg\d = \(", line))
X += n_groups * 7; A += n_groups * 8; F += n_groups * 32
p = re.search(r"p_ = (.*?); m =", line).group(1)
pt = terms(p); pr = len(re.findall(r"\br\d+\b", p))
X += 7 + max(pt - 1, 0) + 3
A += pr
X *= ITS; A *= ITS; F *= ITS
rows.append(("generated (GPU text: recompute at load)", X, A, F, 8 * 32, "+8 x 32-bit group sums per lane (32 B, flops)", "group recomputes read 8 registers each; the in-group partial reads up to 7"))
# prefix (F05 text): every write moves S; per load p_ over the first s terms
pm, ps, _ = loop_body(f"{EX}/prefix/kernel.cu")
nw = len(writes(pm)) * ITS + len(writes(ps)) * REPS * ITS
X = 2 * nw; F = 32 * nw; A = 0
for line in pm.splitlines():
m = re.search(r"p_ = (.*?); m =", line)
if m:
pt = terms(m.group(1)); X += (max(pt - 1, 0) + 3) * ITS; A += len(re.findall(r"\br\d+\b", m.group(1))) * ITS
rows.append(("prefix (F05 text: running S on every write)", X, A, F, 32, "+1 x 32-bit running total per lane (flops)", "the old value of every written register (main and shadow) rotated into S"))
# the chip's best: group sums 1..7 kept on main-program writes (dst >= 8), group 0 recomputed at each load
# (the shadow's 55,296 writes land in r0..r7 only, so they move nothing kept)
upd = sum(1 for d in main_w if d >= 8) * ITS
X = 2 * upd; F = 32 * upd; A = 0
for line in gm.splitlines():
m = re.search(r"p_ = (.*?); m =", line)
if m:
p = m.group(1)
X += (7 + 7 + max(terms(p) - 1, 0) + 3) * ITS
A += (8 + len(re.findall(r"\br\d+\b", p))) * ITS
F += 32 * ITS
rows.append(("grouped incremental (chip only, by the same identity)", X, A, F, 8 * 32, "+8 x 32-bit group sums per lane (32 B)", "groups 1..7 move on base writes to r8..r63; group 0 recomputed at each load (8 reads)"))
def price(X, A, F, pr, b):
e_x = E_OP[b] if pr == "slot" else E_X_DP
return (X * e_x + A * E_RF[b] / 8 + F * E_FLOP_BIT) / 1000.0 # nJ
out = []
hdr = "form\tmix ops X\textra reads A\tflop bits F\tstate bits per lane\tslot nJ (lo c hi)\tdatapath nJ (lo c hi)\tstate\tports"
out.append(hdr)
for name, X, A, F, sb, state, ports in rows:
s = [price(X, A, F, "slot", b) for b in ("lo", "c", "hi")]
d = [price(X, A, F, "dp", b) for b in ("lo", "c", "hi")]
out.append(f"{name}\t{X}\t{A}\t{F}\t{sb}\t{s[0]:.1f} {s[1]:.1f} {s[2]:.1f}\t{d[0]:.1f} {d[1]:.1f} {d[2]:.1f}\t{state}\t{ports}")
print(f"# loads per hash executed {L} ({loads_per_it} per iteration x {ITS}); base writes per iteration {len(main_w)} ({sum(1 for d in main_w if d >= 8)} to r8..r63); shadow writes per pass {len(shadow_w)}, all in r0..r7")
print("\n".join(out))
# per-lane-op delta and a: machine energy with the form against the model's machine (which carries no mix cost)
print("\n# a = (machine + form) / machine, machine 1.528 microjoules (N5, GDDR7 board, no mix term); per-lane-op delta over the 102,612 shadow+base lane-ops")
for name, X, A, F, sb, *_ in rows:
for pr in ("slot", "dp"):
e = price(X, A, F, pr, "c")
print(f"{name}\t{pr}\t+{e:.1f} nJ\ta {(MACHINE_UJ*1000 + e)/(MACHINE_UJ*1000):.4f}\tper lane-op +{e*1000/102612:.3f} pJ\tof the shadow +{100*e/(SHADOW_UJ*1000):.1f} percent")

84
tools/1p5x/x4/differential.sh Executable file
View file

@ -0,0 +1,84 @@
#!/usr/bin/env bash
# X4 (1.5x programme): the CPU differential of the reg64c address-mix forms against the frozen definition.
# Runs on a build box (never the Mac), from the box worktree root holding igneum-pow/ (built --release) and in/:
# in/node1-state.igsd1 (sha256 abb58003...), in/state-epoch2.igsd1 (f36e6bba...),
# in/ref0{1,2,3}/{ref-D.txt,ref-D1.txt,job-context.json} (build-1:/srv/artefacts/tas/same-work-20261008-0N/).
# Order: the known-failed form first (it must disagree on every reg64c context, or the test is void), then the
# forms fold, direct, generated and prefix must equal the same-work references on every sampled nonce, then the
# fuzz set (random epoch, era and prehash on the class v6 string) where each form must equal the fold.
# Usage: tools/1p5x/x4/differential.sh <out dir> [count per window, default 4096] [fuzz seeds, default 32]
set -u
OUT=${1:?out dir}; N=${2:-4096}; FZ=${3:-32}
B=igneum-pow/target/release/igneum-pow
mkdir -p "$OUT"
PRE=0000000000000000000000000000000000000000000000000000000000000001
G=edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07
CS=af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3
V5E=3c3fab434f7fd894ce6db0b09f298c3865726253e4fc68fd77acd163ccea8221
V5ERA=7c36b83374a673e990213be462509dcb08bcfc85144306aa9517cf3ad66faf6e
day() { printf '69676e65756d2d6461792f%s' "$(python3 -c "import struct,sys; print(struct.pack('<Q', int(sys.argv[1])).hex())" "$1")"; }
args_for() { # context day-index
case $1 in
01) echo "--epoch-hex $G --day-hex $(day $2) --class mx8+sh256x27+state+reg64c+fold+rw --era 0:$G --era-widths 4 --state in/node1-state.igsd1" ;;
02) echo "--epoch-hex $CS --day-hex $(day $2) --class mx8+sh256x27+state+reg64c+fold+rw --era 0:$G --era-widths 4 --state in/node1-state.igsd1" ;;
03) echo "--epoch-hex $V5E --day-hex $(day $2) --program-class v5 --era-hex $V5ERA --state in/state-epoch2.igsd1" ;;
esac
}
# windows: (context, day index offset, ref file, start nonce)
JOBS=$OUT/jobs.txt; : > "$JOBS"
for c in 01 02 03; do
d0=$( [ $c = 03 ] && echo 20734 || echo 20730 )
for form in wrong fold direct generated prefix; do
for w in "D 0" "D $((1572864 - N))" "D1 1572864" "D1 $((3145728 - N))"; do
set -- $w; dd=$([ $1 = D ] && echo $d0 || echo $((d0 + 1)))
echo "ctx $c $form $1 $2 $dd" >> "$JOBS"
done
done
done
for i in $(seq 0 $((FZ - 1))); do
for form in wrong fold direct generated prefix; do echo "fuzz $i $form" >> "$JOBS"; done
done
run_job() {
set -- $1
if [ "$1" = ctx ]; then
local c=$2 form=$3 ref=$4 start=$5 dd=$6
local f=$OUT/ctx$c-$form-$ref-$start.txt
$B hash-bound $(args_for $c $dd) --prehash $PRE --nonce $start --count $N --reg64-cpu-form $form > $f 2>$f.err
local lineno
[ "$ref" = D ] && lineno=$((start + 1)) || lineno=$((start - 1572864 + 1))
if tail -n +$lineno in/ref$c/ref-$ref.txt | head -n $N | cmp -s - $f; then echo "ctx$c $form $ref@$start AGREE"; else echo "ctx$c $form $ref@$start DISAGREE"; fi
else
local i=$2 form=$3
local h=$(printf 'x4-fuzz-%d' $i | sha256sum | cut -c1-64)
local era=$(printf 'x4-era-%d' $i | sha256sum | cut -c1-64)
local pre=$(printf 'x4-pre-%d' $i | sha256sum | cut -c1-64)
local nonce=$(( 0x$(printf 'x4-nonce-%d' $i | sha256sum | cut -c1-6) * 32 ))
$B hash-bound --epoch-hex $h --day-hex $(day 20730) --class mx8+sh256x27+state+reg64c+fold+rw --era 0:$era --era-widths 4 --state in/node1-state.igsd1 --prehash $pre --nonce $nonce --count 1024 --reg64-cpu-form $form > $OUT/fuzz$i-$form.txt 2>$OUT/fuzz$i-$form.txt.err
echo "fuzz$i $form DONE"
fi
}
export -f run_job args_for day; export B OUT N PRE G CS V5E V5ERA
xargs -P ${PAR:-24} -I{} bash -c 'run_job "{}"' < "$JOBS" > "$OUT/runs.txt"
# fuzz verdicts against the fold
for i in $(seq 0 $((FZ - 1))); do
for form in wrong direct generated prefix; do
if cmp -s $OUT/fuzz$i-fold.txt $OUT/fuzz$i-$form.txt; then echo "fuzz$i $form AGREE"; else echo "fuzz$i $form DISAGREE"; fi
done
done >> "$OUT/runs.txt"
grep -v DONE "$OUT/runs.txt" | sort > "$OUT/verdicts.txt"
# the verdict: known-failed refused on every reg64c window and fuzz seed; every other form agrees everywhere;
# context 03 (class v5, no reg64) is the no-op control: every form, the wrong one too, agrees with the reference
python3 - "$OUT/verdicts.txt" <<'PY' | tee "$OUT/VERDICT"
import sys, collections
rows=[l.split() for l in open(sys.argv[1])]
bad=[]; t=collections.Counter()
for key, form, *rest in rows:
v=rest[-1]; t[(form,v)]+=1
reg64 = not key.startswith("ctx03")
want = "DISAGREE" if (form=="wrong" and reg64) else "AGREE"
if v!=want: bad.append(" ".join([key,form]+rest))
print("tally", dict(t))
print("known-failed refused on every reg64c window and seed:", all(r[-1]=="DISAGREE" for r in rows if r[1]=="wrong" and not r[0].startswith("ctx03")))
print("VERDICT", "EQUIVALENT" if not bad else "FAIL", "mismatches", len(bad))
for b in bad[:20]: print(" ", b)
PY

43
tools/1p5x/x4/gpu_rows.py Normal file
View file

@ -0,0 +1,43 @@
#!/usr/bin/env python3
"""X4 (1.5x programme): the GPU rows of a pod-x4.sh run (the hash lane's recipe, build-1:/srv/artefacts/1p5x/
gpu-row-recipe.md sha cbab453c: rate = the worker's own mhs=, watts = mean power.draw from 8 s in to the end of the
timed dispatches, nJ per hash = W / MH/s x 1,000, check=PASS and the fingerprint gate the row; pairs inside one
session). Usage: gpu_rows.py <pod out dir> <out-run.log>. Prints the per-run rows, then each form against the frozen
pack: pass 1 against run 1, pass 2 against run 8 (the order A B C D D C B A), and the mean of the two."""
import re, sys, glob, os, statistics as st
d, runlog = sys.argv[1], sys.argv[2]
times = {m.group(1): (int(m.group(2)), int(m.group(3))) for m in re.finditer(r"RESULT run (\S+) rc=0 secs=\d+ t0=(\d+) t1=(\d+)", open(runlog).read())}
rows = {}
for name, (t0, t1) in sorted(times.items()):
log = open(f"{d}/bench-{name}.log").read()
r = re.search(r"^RESULT (.*)$", log, re.M).group(1)
f = dict(kv.split("=", 1) for kv in r.split() if "=" in kv)
w, clk, util = [], [], []
for line in open(f"{d}/smi-{name}.csv"):
p = line.strip().split(",")
if len(p) < 5 or not p[1].replace(".", "").isdigit():
continue
t = int(p[0])
if t0 + 8 <= t <= t1:
w.append(float(p[1])); clk.append(float(p[2])); util.append(float(p[3]))
mhs = float(f["mhs"]); W = st.mean(w)
rows[name] = dict(pack=name.split("-", 1)[1], mhs=mhs, W=W, nj=W / mhs * 1000, fp=f["fingerprint"], check=f["check"], regs=f["regs"], bps=f["blocks_per_sm"], sm=st.mean(clk), util=st.mean(util), n=len(w))
print("run\tpack\tMH/s\tW\tnJ per hash\tsm MHz\tutil\tsamples\tregs\tblocks/SM\tfingerprint\tcheck")
for k, r in rows.items():
print(f"{k}\t{r['pack']}\t{r['mhs']:.3f}\t{r['W']:.1f}\t{r['nj']:.0f}\t{r['sm']:.0f}\t{r['util']:.0f}\t{r['n']}\t{r['regs']}\t{r['bps']}\t{r['fp']}\t{r['check']}")
ks = list(rows)
frozen = [k for k in ks if k.endswith("hl-v6-all")]
print("\npair\tform\tpass 1 rate %\tpass 1 J/hash %\tpass 2 rate %\tpass 2 J/hash %\tmean rate %\tmean J/hash %\tg (J/hash ratio)")
f1, f2 = rows[frozen[0]], rows[frozen[-1]]
aa_r = 100 * (f2["mhs"] / f1["mhs"] - 1); aa_e = 100 * (f2["nj"] / f1["nj"] - 1)
print(f"A/A\thl-v6-all run 8 vs run 1\t{aa_r:+.2f}\t{aa_e:+.2f}\t\t\t\t\t")
for form in ("x4-direct", "x4-generated", "x4-prefix"):
rs = [k for k in ks if k.endswith(form)]
if len(rs) < 2:
continue
a, b = rows[rs[0]], rows[rs[1]]
p1r, p1e = 100 * (a["mhs"] / f1["mhs"] - 1), 100 * (a["nj"] / f1["nj"] - 1)
p2r, p2e = 100 * (b["mhs"] / f2["mhs"] - 1), 100 * (b["nj"] / f2["nj"] - 1)
g = ((a["nj"] / f1["nj"]) + (b["nj"] / f2["nj"])) / 2
print(f"pair\t{form}\t{p1r:+.2f}\t{p1e:+.2f}\t{p2r:+.2f}\t{p2e:+.2f}\t{(p1r+p2r)/2:+.2f}\t{(p1e+p2e)/2:+.2f}\t{g:.4f}")

28
tools/1p5x/x4/pod-x4.sh Executable file
View file

@ -0,0 +1,28 @@
#!/usr/bin/env bash
# X4 (1.5x programme) on one rented card: same-session pairs of the frozen pack against the three alternative
# packs, stock clocks, the gen-6 worker --bench (250 x 2^24, block-warps 1, the pack self-test first: check=PASS and
# the 2^24 fingerprint), nvidia-smi power.draw at 1 Hz for each run. Order A B C D D C B A (the second pass reversed,
# so drift and heat land on both sides of every pair). Logs under /root/x4/out. Started under /root/x4/pids/bench.pid.
set -u
cd /root/x4
W=${W:-/root/x4/igneum-worker-cuda-gen6}
mkdir -p out pids
echo $$ > pids/bench.pid
echo "RESULT start $(date -u +%FT%TZ) $(nvidia-smi --query-gpu=name,driver_version,power.limit,clocks.max.sm --format=csv,noheader -i 0)"
echo "RESULT worker sha256 $(sha256sum $W | cut -c1-16)"
ORDER=${ORDER:-"hl-v6-all x4-direct x4-generated x4-prefix x4-prefix x4-generated x4-direct hl-v6-all"}
i=0
for P in $ORDER; do
i=$((i + 1)); N=$(printf '%02d-%s' $i $P)
( while :; do echo "$(date -u +%s),$(nvidia-smi --query-gpu=power.draw,clocks.sm,utilization.gpu,temperature.gpu --format=csv,noheader,nounits -i 0 | tr -d ' ')"; sleep 1; done ) > out/smi-$N.csv 2>/dev/null &
SMI=$!; echo $SMI > pids/smi.pid
T0=$(date +%s)
timeout 900 $W --bench --pack packs/$P --batches ${BATCHES:-250} --batch-log2 24 --block-warps 1 --device 0 > out/bench-$N.log 2>&1; RC=$?
T1=$(date +%s)
kill $SMI 2>/dev/null; rm -f pids/smi.pid
echo "RESULT run $N rc=$RC secs=$((T1 - T0)) t0=$T0 t1=$T1"
grep -E "^RESULT|self-test|timed dispatches" out/bench-$N.log | sed "s/^/BENCH $N | /"
sleep ${GAP:-20}
done
echo "RESULT end $(date -u +%FT%TZ)"
rm -f pids/bench.pid

View file

@ -0,0 +1,42 @@
{
"run_id": "mhpow-b1-20261009-01",
"manifest_sha": "13c3646e",
"evidence_dir": "docs/analysis/mhpow/b1",
"method": "model",
"boxes": [
"build-6"
],
"note": "B1 (R15-05), the cryptography lane of the 1.5x programme's Track B (9 October 2026): the exact CPU reference of Blocki and Smearsoll's MTP framework (eprint 2025/1456 as archived, sha256 13c3646e..., Sec 2.2, 3.2, App. C) over DRSample (ABH17 Alg. 1, eprint 2017/443 as archived, sha256 f8e08d36...), its complete verifier (named checks in the paper's order, each with a known-failed test, 17 of 17 OK on build-6), five deterministic known-answer fixtures (n 4 to 20), honest-prover rows n 12 to 24 (CPython, wall time only, no power) and six malicious provers (Dinur-Nadler eprint 2017/497 Sec 4.1, 4.3/5, 8; the paper's Attack 1 and LuckyQuery regrind). Dinur-Nadler's steering and unopened-block attacks are refused; red-node cheats are accepted with the (1-|S|/N)^k probability the paper prices; one labelling yields many accepted roots (F-4). The proven k with ABH17's constant exceeds N to about n 25 (F-3). NOT RUN until the panel reads it; this lane writes no PASS.",
"cells": [
{
"cell": "model:mhpow-b1-reference",
"cases": [
"POW-05",
"POW-06"
],
"status": "NOT RUN",
"method": "model",
"evidence": "docs/analysis/mhpow/b1/README.md",
"note": "POW-05: attack fixtures A1 to A6 (tools/mhpow/b1/fixtures/attacks-n10-k16.json): A1 replay and A2 unopened block REFUSED, A3 control-block steering gain 0 with the red-node fallback accepted at (1-1/t)^k, A4 self-similarity saving refused, A5 Attack 1 accepted at (1-|S|/N)^k, A6 many accepted roots per labelling (the lottery binding BLOCKED to B2/B4, rows O-1 and O-8). POW-06: the verifier's named checks refuse malformed containers, wrong positions, skipped parents and wrong tags (test_b1.py); proof bytes and verifier oracle calls per N are exact formulas with measured rows; cold verification at rate BLOCKED to B6 (O-11).",
"claim_impact": "none: no public figure moves; Track B's construction is not adopted and nothing activates",
"in_progress": true
}
],
"map_cell_requested": {
"model:mhpow-b1-reference": {
"command": "tools/mhpow/b1/run-b1.sh <out_dir> all (a build box under its pid file; kat, attack and k-table files byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS)",
"box_class": "build box, CPU only (build-6)",
"fixtures": [
"tools/mhpow/b1/fixtures/"
],
"cases": [
"POW-05",
"POW-06"
],
"coverage": {
"POW-05": "partial: the published primitive's attack fixtures only; the lottery binding and the composed accepted-proof theorem are B2/B4's",
"POW-06": "partial: verifier refusals and op counts in CPython; no compiled verifier, no admitted-rate timing"
}
}
}
}

View file

@ -0,0 +1,48 @@
{
"run_id": "r15-02-x7-20261009-01",
"manifest_sha": "6ba3f01b",
"method": "model",
"evidence_dir": "docs/analysis/class-v6/1p5x/x7",
"boxes": [
"build-9"
],
"release_identity": {
"commit": "master 6ba3f01b (the X7 README; the verdict commit ca2fb6b2 and X8's rows e64eb265 cited when the landing hand lands them)",
"lockfile": "",
"binary": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"claim_impact": "none: a negative control on the memory route; no served figure moves",
"note": "main's order through the coordinator (11:0x UK, 9 October 2026): X7's memory-route verdict recorded as a BOUND-side negative control under R15-02, NOT RUN; X8's tensor-route chip rows join when they land and the hash lane's measured card rows arrive",
"cells": [
{
"cell": "model:x7-memory-route",
"cases": [
"R15-02"
],
"status": "NOT RUN",
"in_progress": true,
"method": "model",
"evidence": "docs/analysis/class-v6/1p5x/x7/README.md; tools/ci/batches/adversary-20261009-x7.json",
"note": "BOUND-side negative control (X7): f = 0.854 on the 4090 at stock, the frozen object at 8,077 nJ per hash against its read-only twin at 6,899 at the same rate (the hash lane's row, fk-x7-4090, 10:44 UK); s = 13 to 39 on the chip's GDDR7, HBM3 and near-memory (the adversary lane's X7 rows): no read-dominated design reaches 1.5x or 1.25x at any f, because the card's random-read path is its least efficient part against a chip. The chip figures are modelled (BOUND); the card figure is a WITNESS on a named rented card. X8's chip side (every int8 mix raising the ratio against a systolic array; the dp4a-only cells stopping at 1.54x) is the tensor route's first witness row set, pending the hash lane's measured card rows; recorded here when e64eb265 lands. R15-02 (no device or whole-machine boundary mismatch) stays NOT RUN until read",
"claim_impact": "none"
}
],
"map_cell_requested": {
"model:x7-memory-route": {
"command": "the X7 memory-route read: docs/analysis/class-v6/1p5x/x7 (the chip model's s on GDDR7, HBM3 and near-memory by tools/1p5x/x5/sweep.py on a build box under a pid file) against the hash lane's read-only twin row on a rented card at stock (the frozen object and its read-only twin, nvidia-smi beside it)",
"box_class": "a build box for the model; a rented card for the twin row",
"fixtures": [
"F0"
],
"cases": [
"R15-02"
],
"coverage": {
"R15-02": "partial: the memory route's f and s only; the component power and traffic model and its sensitivity are X0's and X5's rows"
}
}
}
}

View file

@ -0,0 +1,49 @@
{
"run_id": "r15-int8-20261009-01",
"manifest_sha": "d799c086",
"method": "model",
"evidence_dir": "docs/plans/igneum-2.0-master/1p5x/research-plan",
"boxes": [],
"release_identity": {
"commit": "master d799c086; the class is cut by the research lane behind a research flag, not in any release",
"lockfile": "",
"binary": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"claim_impact": "none: a research class behind a flag; no served figure moves and nothing activates",
"note": "main's order through the coordinator (11:0x UK, 9 October 2026): the cells for the int8-dominated class opened, every row NOT RUN until read; the lanes land their own batches on these cells with map_cell_requested",
"cells": [
{
"cell": "class:int8",
"cases": [
"R15-03",
"R15-04"
],
"status": "NOT RUN",
"in_progress": true,
"method": "model",
"evidence": "docs/plans/igneum-2.0-master/1p5x/research-plan/packages.json; docs/analysis/class-v6/1p5x/x1/README.md",
"note": "opened, nothing measured yet: the int8-dominated class behind a research flag at three weights (int8-50, int8-75, int8-90) and the ARX-only points (arx-16, arx-32); the research lane cuts the class, the hash lane measures the card rows, the adversary lane the chip rows, the census instruments read it; R15-03 (layer-8-off control and held-out cache curves) and R15-04 (compaction, exact-fold alternatives, tuning) take their rows from those batches",
"claim_impact": "none"
}
],
"map_cell_requested": {
"class:int8": {
"command": "the int8-dominated research class: cut behind the research flag by the research lane at int8-50, int8-75, int8-90 and arx-16, arx-32 (igneum-pow export with the class string, on a build box); the hash lane's card rows in the P04 form (tools/1p5x/x1/gpu-pairs.sh, gpu-rows.py); the adversary lane's chip rows (tools/1p5x/x5/sweep.py, tools/1p5x/x8/mac.py); the census instruments (igneum-pow addrsite, x1cache)",
"box_class": "build box for the cut and the census; rented pods for the card rows; a build box for the chip model",
"fixtures": [
"F0"
],
"cases": [
"R15-03",
"R15-04"
],
"coverage": {
"R15-03": "partial: the held-out cache curves of each weight against the frozen control; the layer-8-off control is X1's row",
"R15-04": "partial: byte agreement and accepted-work savings of each weight's fold; X2 to X4's rows carry the rest"
}
}
}
}

View file

@ -0,0 +1,48 @@
{
"run_id": "r15-track-b-20261009-02",
"manifest_sha": "0f370527",
"method": "model",
"evidence_dir": "docs/analysis/mhpow/b1",
"boxes": [
"build-6"
],
"release_identity": {
"commit": "master 0f370527 (B1 e9f94df6 landed)",
"lockfile": "",
"binary": "",
"network_object": "none: documents and models only, no chain state read or written",
"activation": "none",
"profile_hashes": ""
},
"claim_impact": "none: no served figure moves; Track B's construction is not adopted and nothing activates",
"note": "the coordinator's order (10:4x UK, 9 October 2026): Track B's reproduction findings as BOUND rows, NOT RUN, no pass or fail claimed for the package",
"cells": [
{
"cell": "theory:r15-05-track-b",
"cases": [
"R15-05"
],
"status": "NOT RUN",
"in_progress": true,
"method": "model",
"evidence": "docs/analysis/mhpow/b1/README.md; tools/mhpow/b1/fixtures/attacks-n10-k16.json; tools/mhpow/b1/fixtures/SHA256SUMS",
"note": "BOUND (B1, F-3): with ABH17's proven constant the paper's challenge count k exceeds N at lambda 256 and N 2^20 (to about n 25): no practical parameter in the proven regime. FINDING (B1, F-4): one labelling yields 193 to 200 accepted roots in 200 tries at 26 oracle calls per try, so a lottery over tau is not bound to the labelling cost (fixture A6, attacks-n10-k16.json, run on build-6). The package R15-05 (no improvised sampled-memory soundness) stays NOT RUN until the independent panel reads the reference and its verifier (17 of 17 named checks with known-failed tests)",
"claim_impact": "none"
}
],
"map_cell_requested": {
"theory:r15-05-track-b": {
"command": "the Track B cryptography read: docs/analysis/mhpow/b1 (the exact CPU reference of the MTP framework over DRSample, its verifier and the six malicious provers) by tools/mhpow/b1/run-b1.sh <out> all on a build box under a pid file, outputs byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS",
"box_class": "build box, CPU only",
"fixtures": [
"tools/mhpow/b1/fixtures/"
],
"cases": [
"R15-05"
],
"coverage": {
"R15-05": "partial: the published primitive's reference, attacks and verifier refusals; the lottery binding (B2), the composed theorem (B4) and the panel's reading open"
}
}
}
}

View file

@ -0,0 +1,45 @@
{
"run_id": "tv-02-20261009-01",
"manifest_sha": "426c7c85",
"method": "native",
"evidence_dir": "build-1:/srv/artefacts/token-value/tv-02",
"release_identity": {
"commit": "426c7c85 (master, the first TV-02 landing) and the spec-run landing after it (branch tv-02-supply-replay)",
"lockfile": "tools/token-value/tv-02/replay-node/Cargo.lock",
"binary": "tv02-replay-node sha256 ef3af79157947584... (the run), 25ff78695bd9d972... (rebuilt from af2c23bc, outputs byte-identical)",
"network_object": "the compiled objects of igneum-node bf60948a read by A (devnet4_params, MAINNET_PARAMS, DEVNET_PARAMS); no chain state read or written",
"activation": "none (Phase 0 lands documents and tests only)",
"profile_hashes": "igneum-node bf60948a (emission.rs, igneum.rs, coinbase.rs, params.rs, window.rs, difficulty.rs byte-identical in release-2.0.2-node a284380b); rules-and-gates.json 10ce3073...; B rules v0 67707b09..., v0.1 d72d5578...; replay_spec.py acd68e1b...; the TV-01 supply-spec.json at 9cd09130 sha256 3ffdd308...; replay_spec.py on the spec c07aba10..."
},
"claim_impact": "none: no served figure moves; the supply ever issued on the 2.0 objects is 3,963,038,999.61 IGN under the 4,000,000,000 cap, with nothing after the terminal block",
"reviewer": "",
"note": "recorded by the CI steward from docs/plans/igneum-2.0-master/token-value/phase0/tv-02/registry-batch-tv-02.json (sha256 1cae5953d438ef96..., the TV-02 lane, 10:25 UK); the cell native:tv-02 carried in map_cell_requested",
"cells": [
{
"cell": "native:tv-02",
"cases": [
"TV-02"
],
"status": "NOT RUN",
"in_progress": true,
"method": "native",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/tv-02/README.md; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0.1-genesis-rule.log; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-v0-litepaper.log; build-1:/srv/artefacts/token-value/tv-02/build-5/a-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-6/b-*.csv; build-1:/srv/artefacts/token-value/tv-02/build-5/compare-rules-tv01-spec.log; build-1:/srv/artefacts/token-value/tv-02/build-6/b-rules-tv01-spec-*.csv",
"note": "two supply replays, A (Rust on the node's issuance code at bf60948a, build-5) and B (Python from the rules in words, build-6), no shared code: with rule set v0.1 (the words plus the genesis rule, window.rs 176-179) EQUAL to the integer, byte-identical CSVs, at every transition's before/at/after, the terminal and one step past, on the devnet-4 (1 bps, 18 decimals), mainnet (10 bps, 18) and devnet (8) objects, and on two hand-written reorg fixtures with the no-undo ledger refused; with the words alone (v0) DIFFER at genesis (A 0, B 3168808781000000000 on devnet-4), a one-block shift with the terminal total unchanged (3963038999610200483289816000 base units on devnet-4); on the TV-01 supply spec (9cd09130) EQUAL on devnet-4 and mainnet and both fixtures, A's terminal rows equal to the spec's stated terminal supplies; paid/burned/locked accounting, the mainnet genesis DAA score (C09), DAG reds and independent signoff are open rows; NOT RUN until the independent panel reads it"
}
],
"map_cell_requested": {
"native:tv-02": {
"command": "the two independent supply replays of docs/plans/igneum-2.0-master/token-value/phase0/tv-02: tools/token-value/tv-02/run-a.sh (Rust on the node issuance code, build-5: build, genesis, straight devnet4|mainnet|devnet, reorg fixtures) and run-b.sh (Python from the rules in words, build-6: selftest, straight, reorg, the TV-01 spec through replay-spec/tv01_adapter.py), then compare-all.sh on build-5 (rules-v0.1-genesis-rule, rules-tv01-spec); each run under its pid file in the out dir",
"box_class": "two build boxes (CPU only; A with the node code, B without)",
"fixtures": [
"F0"
],
"cases": [
"TV-02"
],
"coverage": {
"TV-02": "partial: scheduled issuance on a straight chain and its reorg, two independent implementations EQUAL to the integer on devnet-4, mainnet and the TV-01 spec; paid, burned, locked, outstanding, DAG reds, the EVM ledger and duplicate records open; the independent panel has not read it"
}
}
}
}

View file

@ -0,0 +1,26 @@
{
"run_id": "tv-d02-20261009-03",
"manifest_sha": "a284380b",
"evidence_dir": "docs/plans/igneum-2.0-master/token-value/phase0/d02",
"method": "model",
"supersedes": [
"tv-d02-20261009-02"
],
"note": "D02 third version (the D02 lane, 9 October 2026, 11:0x UK): fee dependence now in TV-04's frame (the baseline of one BU, the current schedule's whole year-1 paid subsidy, at TV-04's 0.1x, 0.25x, 1x, 4x and 10x multiples), replacing the lane's 1 percent yardstick; TV-04's emission.csv reconciled (20 years) beside TV-01's spec, 52 of 52 rows exact (README section 9). Run on build-3: 9 tests OK, --check byte-identical (evidence/box-generate.log). No schedule is picked. NOT RUN until the independent panel reads it.",
"cells": [
{
"cell": "model:tv-d02-emission",
"cases": [
"TV-01",
"TV-03",
"TV-04"
],
"status": "NOT RUN",
"in_progress": true,
"method": "model",
"evidence": "docs/plans/igneum-2.0-master/token-value/phase0/d02/README.md",
"note": "TV-01: the D02 comparison the decision register asks for, schedule A reconciled with TV-01's supply spec and TV-04's emission to the base unit; open BLOCKED rows B0 (the founder's pick), B2 (the role costs, TV-04's panel cells), B3 (TV-03's cohort inputs). TV-03: issuance timing under alternative same-cap schedules and the subsidy a delayed entrant sees at 10 blocks/s (tables 1, 4, 5). TV-04: falling issuance at horizons 1, 5, 10 and 20 and the year fees must exceed the subsidy to hold one BU at each of TV-04's multiples, the fee series a parameter (table 6).",
"claim_impact": "none: no public figure moves and no schedule is chosen"
}
]
}

View file

@ -36,6 +36,9 @@ docs/analysis/class-v6/history.md
docs/analysis/class-v6/invention.md
docs/analysis/class-v6/mixed-fp32.md
docs/analysis/class-v6/multi-family-adversary.md
# 9 October 2026: the 1.5x programme X4, the reg64c implementation forms (research documents and their generators)
docs/analysis/class-v6/1p5x/x4
tools/1p5x/x4
# 8 October 2026: the miner window audit (an internal design record: the founder's order, lane ids, the build plan)
docs/design/app-audit-2026-10-08.md
# 8 October 2026: the public shape of the pre-2.0 ledger, kept as history at the Igneum 2.0 reset (not served, not linked;
@ -55,6 +58,8 @@ docs/analysis/proving-outcome-ledger.md
# 9 October 2026: the 1.5x programme Track B, the B2 binding spec lane (research documents and their generator)
docs/analysis/mhpow/b2
tools/mhpow/b2
docs/analysis/mhpow/b1
tools/mhpow/b1
# 9 October 2026: Track B B4 (R15-07), the theory lane: the composed accepted-proof statement, its arithmetic and runs
docs/analysis/mhpow/b4
tools/mhpow/b4

View file

@ -810,6 +810,75 @@
"POW-04"
]
},
"native:tv-02": {
"command": "the two independent supply replays of docs/plans/igneum-2.0-master/token-value/phase0/tv-02: tools/token-value/tv-02/run-a.sh (Rust on the node issuance code, build-5: build, genesis, straight devnet4|mainnet|devnet, reorg fixtures) and run-b.sh (Python from the rules in words, build-6: selftest, straight, reorg, the TV-01 spec through replay-spec/tv01_adapter.py), then compare-all.sh on build-5 (rules-v0.1-genesis-rule, rules-tv01-spec); each run under its pid file in the out dir",
"box_class": "two build boxes (CPU only; A with the node code, B without)",
"fixtures": [
"F0"
],
"cases": [
"TV-02"
],
"coverage": {
"TV-02": "partial: scheduled issuance on a straight chain and its reorg, two independent implementations EQUAL to the integer on devnet-4, mainnet and the TV-01 spec; paid, burned, locked, outstanding, DAG reds, the EVM ledger and duplicate records open; the independent panel has not read it"
}
},
"model:mhpow-b1-reference": {
"command": "tools/mhpow/b1/run-b1.sh <out_dir> all (a build box under its pid file; kat, attack and k-table files byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS)",
"box_class": "build box, CPU only (build-6)",
"fixtures": [
"tools/mhpow/b1/fixtures/"
],
"cases": [
"POW-05",
"POW-06"
],
"coverage": {
"POW-05": "partial: the published primitive's attack fixtures only; the lottery binding and the composed accepted-proof theorem are B2/B4's",
"POW-06": "partial: verifier refusals and op counts in CPython; no compiled verifier, no admitted-rate timing"
}
},
"theory:r15-05-track-b": {
"command": "the Track B cryptography read: docs/analysis/mhpow/b1 (the exact CPU reference of the MTP framework over DRSample, its verifier and the six malicious provers) by tools/mhpow/b1/run-b1.sh <out> all on a build box under a pid file, outputs byte-identical to tools/mhpow/b1/fixtures/SHA256SUMS",
"box_class": "build box, CPU only",
"fixtures": [
"tools/mhpow/b1/fixtures/"
],
"cases": [
"R15-05"
],
"coverage": {
"R15-05": "partial: the published primitive's reference, attacks and verifier refusals; the lottery binding (B2), the composed theorem (B4) and the panel's reading open"
}
},
"class:int8": {
"command": "the int8-dominated research class: cut behind the research flag by the research lane at int8-50, int8-75, int8-90 and arx-16, arx-32 (igneum-pow export with the class string, on a build box); the hash lane's card rows in the P04 form (tools/1p5x/x1/gpu-pairs.sh, gpu-rows.py); the adversary lane's chip rows (tools/1p5x/x5/sweep.py, tools/1p5x/x8/mac.py); the census instruments (igneum-pow addrsite, x1cache)",
"box_class": "build box for the cut and the census; rented pods for the card rows; a build box for the chip model",
"fixtures": [
"F0"
],
"cases": [
"R15-03",
"R15-04"
],
"coverage": {
"R15-03": "partial: the held-out cache curves of each weight against the frozen control; the layer-8-off control is X1's row",
"R15-04": "partial: byte agreement and accepted-work savings of each weight's fold; X2 to X4's rows carry the rest"
}
},
"model:x7-memory-route": {
"command": "the X7 memory-route read: docs/analysis/class-v6/1p5x/x7 (the chip model's s on GDDR7, HBM3 and near-memory by tools/1p5x/x5/sweep.py on a build box under a pid file) against the hash lane's read-only twin row on a rented card at stock (the frozen object and its read-only twin, nvidia-smi beside it)",
"box_class": "a build box for the model; a rented card for the twin row",
"fixtures": [
"F0"
],
"cases": [
"R15-02"
],
"coverage": {
"R15-02": "partial: the memory route's f and s only; the component power and traffic model and its sensitivity are X0's and X5's rows"
}
},
"model:mhpow-b2-binding": {
"command": "python3 tools/mhpow/b2/b2_figures.py > docs/analysis/mhpow/b2/figures.txt (a build box under a pid file; byte-identical output, sha256 27bb414c...)",
"box_class": "build box, CPU only (build-9)",
@ -987,7 +1056,6 @@
"R2-F14-R01": "R2-F14 (P1, the external review): the regression's harness is the owner lane's (app lane, relay lane); not yet named in the map",
"R2-F14-R02": "R2-F14 (P1, the external review): the regression's harness is the owner lane's (app lane, relay lane); not yet named in the map",
"R2-F14-R03": "R2-F14 (P1, the external review): the regression's harness is the owner lane's (app lane, relay lane); not yet named in the map",
"TV-02": "TV-02 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Protocol + measurement); a supplemental layer, never counted as independent evidence; not yet named in the map",
"TV-05": "TV-05 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Hardware reviewer + economics); a supplemental layer, never counted as independent evidence; not yet named in the map",
"TV-06": "TV-06 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Economics + application); a supplemental layer, never counted as independent evidence; not yet named in the map",
"TV-07": "TV-07 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Protocol + independent security); a supplemental layer, never counted as independent evidence; not yet named in the map",
@ -1017,10 +1085,6 @@
"TV-31": "TV-31 (token value gate, scope CORE): no gate executed; the harness is the owner role's (Qualified counsel); a supplemental layer, never counted as independent evidence; not yet named in the map",
"TV-32": "TV-32 (token value gate, scope LEADERSHIP CLAIM): no gate executed; the harness is the owner role's (Independent acceptance panel); a supplemental layer, never counted as independent evidence; not yet named in the map",
"R15-01": "R15-01 (1.5x programme package): no package executed; the harness is the lane's (X0); its batch names the case when it lands; not yet named in the map",
"R15-02": "R15-02 (1.5x programme package): no package executed; the harness is the lane's (X0, X5); its batch names the case when it lands; not yet named in the map",
"R15-03": "R15-03 (1.5x programme package): no package executed; the harness is the lane's (X1); its batch names the case when it lands; not yet named in the map",
"R15-04": "R15-04 (1.5x programme package): no package executed; the harness is the lane's (X2, X3, X4); its batch names the case when it lands; not yet named in the map",
"R15-05": "R15-05 (1.5x programme package): no package executed; the harness is the lane's (B1); its batch names the case when it lands; not yet named in the map",
"R15-06": "R15-06 (1.5x programme package): no package executed; the harness is the lane's (B3); its batch names the case when it lands; not yet named in the map",
"R15-08": "R15-08 (1.5x programme package): no package executed; the harness is the lane's (X5, B5); its batch names the case when it lands; not yet named in the map",
"R15-09": "R15-09 (1.5x programme package): no package executed; the harness is the lane's (X6); its batch names the case when it lands; not yet named in the map",

239
tools/mhpow/b1/attacks.py Normal file
View file

@ -0,0 +1,239 @@
"""Malicious provers against the B1 verifier. Each adversary is implemented honestly (it tries to win) and its verdict is
measured, never assumed. Sources: [DN17] Dinur and Nadler, eprint 2017/497 as archived 2026-05-09 (Sec 4.1, 4.3, 8);
[BS25] Sec 5 (LuckyQuery), Sec 7.1 (Attack 1).
Verdict vocabulary per adversary: REFUSED (never accepted, the refusing check named) or ACCEPTED-WITH-PROBABILITY p (measured
over trials, beside the analytic value the paper's bound uses) with the exact mechanism.
"""
from __future__ import annotations
from typing import Dict, List, Set, Tuple
import drsample
import mtp
import params
from params import H, u64
D = params.DIGEST_BYTES
ZERO = b"\0" * D
def _chi(tag: str, j: int) -> bytes:
return H(b"B1-attack", tag.encode(), u64(j))
def _respond_from(chi: bytes, n: int, k: int, par, labels, tree) -> mtp.Proof:
return mtp.respond(mtp.ProverState(chi, n, par, labels, tree), k)
# A1 [DN17] Sec 4.1 "A First Attack": replay a proof made for another challenge (chi') -------------------------------------------
def a1_replay(n: int, k: int, par, trials: int) -> Dict:
acc, checks = 0, set()
for j in range(trials):
old = mtp.prove(_chi("a1-old", j), n, k, par)
r = mtp.verify(_chi("a1-new", j), n, k, old)
acc += r.accepted
checks.add(r.check)
return {"id": "A1", "source": "[DN17] Sec 4.1 first attack (proof replay across challenges)",
"mechanism": "every label, Merkle node and challenge query carries chi ([BS25] Sec 3.2): a proof for chi' opens a tree "
"whose root and challenges are bound to chi'",
"trials": trials, "accepted": acc, "refusing_checks": sorted(checks),
"verdict": "REFUSED" if acc == 0 else "ACCEPTED"}
# A2 [DN17] Sec 4.1 "A Second Attack": constant array committed, the challenged block not truly opened -----------------------------
def a2_unopened_block(n: int, k: int, par, trials: int) -> Dict:
"""The cheater commits to an all-constant array (no memory), then (a) answers each challenge with the label the verifier
would recompute from the opened parents but the constant array's path, or (b) opens the constant label honestly."""
N = 1 << n
res = {}
for variant in ("a_recomputed_label", "b_constant_label"):
acc, checks = 0, set()
for j in range(trials):
chi = _chi("a2", j)
labels = [None] + [ZERO] * N
tree = mtp.MerkleTree(chi, labels, n)
proof = _respond_from(chi, n, k, par, labels, tree)
if variant == "a_recomputed_label":
for c, r in zip(mtp.challenges(chi, tree.root, k, n), proof.responses):
r.node.label = mtp.label_of(chi, c + 1, [p.label for p in r.parents])
v = mtp.verify(chi, n, k, proof)
acc += v.accepted
checks.add(v.check)
res[variant] = {"accepted": acc, "refusing_checks": sorted(checks)}
total = sum(x["accepted"] for x in res.values())
return {"id": "A2", "source": "[DN17] Sec 4.1 second attack (the challenged block X[i_j] not opened in MTP 1.0)",
"mechanism": "[BS25] Sec 3.2 step 3(a) opens l_{c_i+1} itself at the verifier-derived position and step 3 checks it "
"against its opened parents; the constant array is red everywhere",
"trials": trials, "variants": res, "verdict": "REFUSED" if total == 0 else "ACCEPTED"}
# A3 [DN17] Sec 4.3 / Sec 5 control blocks: grind control labels to steer later parents into the stored set -----------------------
def a3_control_block_steering(n: int, k: int, par, t: int, grind: int, trials: int) -> Dict:
"""[DN17] Sec 5 step 2(b): for each interval s, try control-block values X[s t] until the parents of the next t-1 blocks
fall in the stored set S_s (Eq. 5). Under Argon2d phi depends on X[i-1]; here parents() is a function of v alone, so the
attacker's grind is run and its effect measured: the fraction of intervals meeting Eq. 5 with 1 try and with `grind` tries.
Then the cheater does what [DN17] does next: stores only the control blocks, writes them as inconsistent (red) values, and
computes the rest; acceptance is measured against (1 - 1/t)^k."""
N = 1 << n
def eq5_holds(s: int) -> bool:
base = s * t
stored = {s2 * t for s2 in range(0, s + 1)}
for l in range(1, t):
v = base + l
if v > N:
break
for u in par[v]:
if not (u in stored or base < u < v or u == v - 1):
return False
return True
intervals = range(1, N // t)
# grinding: the control block's value does not enter parents(); each "try" re-evaluates Eq. 5 on the same graph
one_try = sum(eq5_holds(s) for s in intervals)
many = 0
for s in intervals:
ok = False
for _ in range(grind):
if eq5_holds(s):
ok = True
break
many += ok
# the fallback cheat: control nodes red (stored as attacker-chosen values), everything else honest from them
acc = 0
red = set(range(t, N + 1, t))
for j in range(trials):
chi = _chi("a3", j)
lab: List = [None] * (N + 1)
for v in range(1, N + 1):
lab[v] = H(b"attacker-control", chi, u64(v)) if v in red else mtp.label_of(chi, v, [lab[u] for u in par[v]])
tree = mtp.MerkleTree(chi, lab, n)
acc += mtp.verify(chi, n, k, _respond_from(chi, n, k, par, lab, tree)).accepted
return {"id": "A3", "source": "[DN17] Sec 4.3 and Sec 5 (control blocks steering the data-dependent phi), the attack that "
"broke MTP-Argon2d",
"t": t, "grind_tries_per_control_block": grind, "intervals": len(intervals),
"eq5_intervals_met_one_try": one_try, "eq5_intervals_met_after_grind": many,
"steering_gain": many - one_try,
"fallback_red_fraction": len(red) / N, "trials": trials, "accepted": acc,
"accept_rate": acc / trials, "analytic_accept": (1 - len(red) / N) ** k,
"mechanism": "DRSample's parents(v) are fixed a priori ([ABH17] Alg. 1, public seed): no label value moves an edge, so "
"grinding has zero steering gain; what remains is a red-node cheat accepted with (1-|S|/N)^k, the "
"probability [BS25] Lemma 4 bounds",
"verdict": "STEERING REFUSED BY CONSTRUCTION; RED-NODE FALLBACK ACCEPTED WITH PROBABILITY (1-1/t)^k"}
# A4 [DN17] Sec 8 self-similarity: Y2 := X2 so that Y1 = X1 (copy a label to another node sharing a parent) --------------------------
def a4_self_similarity(n: int, k: int, par, trials: int) -> Dict:
N = 1 << n
# find pairs (x, y) of nodes sharing their long-edge parent: X1 = F(X2, X3), Y1 = F(Y2, Y3) with X3 == Y3
by_parent: Dict[int, List[int]] = {}
for v in range(3, N + 1):
by_parent.setdefault(par[v][0], []).append(v)
pairs = [(vs[0], vs[1]) for vs in by_parent.values() if len(vs) >= 2 and vs[0] + 1 < vs[1]]
equal = 0
acc = 0
for j in range(trials):
chi = _chi("a4", j)
lab = mtp.compute_labels(chi, par)
x, y = pairs[j % len(pairs)]
# Y2 := X2 (the predecessor of y takes the predecessor of x's label), then y is computed from it honestly
lab2 = list(lab)
lab2[y - 1] = lab[x - 1]
lab2[y] = mtp.label_of(chi, y, [lab2[u] for u in par[y]])
equal += lab2[y] == lab[x]
tree = mtp.MerkleTree(chi, lab2, n)
acc += mtp.verify(chi, n, k, _respond_from(chi, n, k, par, lab2, tree)).accepted
return {"id": "A4", "source": "[DN17] Sec 8 (self-similarity of data-independent MTP: Y2 = X2 gives Y1 = X1)",
"pairs_available": len(pairs), "trials": trials, "copies_that_reproduced_a_label": equal,
"accepted": acc, "accept_rate": acc / trials,
"mechanism": "the node index v is inside every prelabel ([BS25] Sec 2.2; [DN17] Sec 8's HAIFA countermeasure): "
"copying X2 into Y2 never reproduces X1 at y, so nothing is saved; the one red node (y-1) is caught "
"only when challenged, as any single red node",
"verdict": "SAVING REFUSED (0 reproduced labels); ONE RED NODE ACCEPTED WITH PROBABILITY ~ (1-1/N)^k"}
# A5 [BS25] Sec 7.1 Attack 1: depth-reducing set S given label 0^lambda, the rest in parallel -------------------------------------
def greedy_depth_reducing_set(par, d: int) -> Set[int]:
"""Topological greedy: put v in S when its depth in G - S would exceed d. G - S then has no path longer than d."""
n_nodes = len(par) - 1
depth = [0] * (n_nodes + 1)
S: Set[int] = set()
for v in range(1, n_nodes + 1):
dv = 1 + max((depth[u] for u in par[v] if u not in S), default=0)
if dv > d:
S.add(v)
depth[v] = 0
else:
depth[v] = dv
return S
def a5_attack1(n: int, k: int, par, d: int, trials: int) -> Dict:
N = 1 << n
S = greedy_depth_reducing_set(par, d)
depth = drsample.depth_after_removal(par, S)
acc = 0
for j in range(trials):
chi = _chi("a5", j)
lab: List = [None] * (N + 1)
for v in range(1, N + 1):
lab[v] = ZERO if v in S else mtp.label_of(chi, v, [lab[u] for u in par[v]])
tree = mtp.MerkleTree(chi, lab, n)
acc += mtp.verify(chi, n, k, _respond_from(chi, n, k, par, lab, tree)).accepted
return {"id": "A5", "source": "[BS25] Sec 7.1 Attack 1 (labels 0^lambda on a depth-reducing set S, G - S pebbled in parallel)",
"d_target": d, "S_size": len(S), "S_fraction": len(S) / N, "depth_G_minus_S": depth,
"parallel_rounds_bound": depth, "trials": trials, "accepted": acc, "accept_rate": acc / trials,
"analytic_accept": (1 - len(S) / N) ** k,
"mechanism": "the paper's own attack: |S| red nodes escape all k challenges with probability (1-|S|/N)^k; the "
"cheater's cumulative memory is O(N d lambda + N lambda log N) against the honest O(N^2 lambda)",
"verdict": "ACCEPTED WITH PROBABILITY (1-|S|/N)^k (as the paper states; this is what sets k)"}
# A6 [BS25] Sec 5 LuckyQuery: regrind the Merkle root cheaply until every challenge is green -----------------------------------------
def a6_root_regrind(n: int, k: int, par, red_count: int, max_tries: int, trials: int) -> Dict:
"""One labelling with `red_count` red nodes (the last nodes, sinks of the honest order); the cheater re-rolls tau by
rewriting the value of one red leaf (the sink, node N) and rehashing its path only: n Merkle calls + k challenge calls per
try. Measured: tries to the first accepted root, and how many distinct accepted roots one labelling yields (B2's O-07)."""
N = 1 << n
results = []
for j in range(trials):
chi = _chi("a6", j)
lab = mtp.compute_labels(chi, par)
red = set(range(N - red_count + 1, N + 1))
for v in red:
lab[v] = H(b"red", chi, u64(v))
tree = mtp.MerkleTree(chi, lab, n)
p = mtp._bitrev(N - 1, n)
tries, accepted_roots, first = 0, 0, None
for g in range(max_tries):
tries += 1
leaf = H(b"regrind", chi, u64(g))
# rewrite leaf N-1 (node N) and its path to the root
tree.levels[n][p] = leaf
cur, pos = leaf, p
for depth in range(n, 0, -1):
sib = tree.levels[depth][pos ^ 1]
cur = mtp.merkle_node(chi, cur, sib) if pos % 2 == 0 else mtp.merkle_node(chi, sib, cur)
pos >>= 1
tree.levels[depth - 1][pos] = cur
lab[N] = leaf
cs = mtp.challenges(chi, tree.root, k, n)
if not any((c + 1) in red for c in cs):
if first is None:
first = tries
proof = _respond_from(chi, n, k, par, lab, tree)
assert mtp.verify(chi, n, k, proof).accepted
accepted_roots += 1
results.append({"first_accept_try": first, "accepted_roots": accepted_roots, "tries": tries})
firsts = [r["first_accept_try"] for r in results if r["first_accept_try"] is not None]
return {"id": "A6", "source": "[BS25] Sec 5 Def. 14 and Lemma 4 (LuckyQuery, the q(1-beta)^k term); B2's O-07",
"red_count": red_count, "red_fraction": red_count / N, "k": k, "max_tries": max_tries, "trials": trials,
"per_try_oracle_calls": n + k, "trials_with_accept": len(firsts),
"mean_first_accept_try": (sum(firsts) / len(firsts)) if firsts else None,
"predicted_tries": (1 - red_count / N) ** (-k),
"accepted_roots_per_labelling": [r["accepted_roots"] for r in results],
"mechanism": "tau is a fresh oracle output per rewrite of one red leaf (n + k calls, no relabelling): with beta = "
"red fraction the expected tries are (1-beta)^-k, and with ONE red sink nearly every try is an "
"accepted root, so one labelling yields many accepted (tau, proof) pairs for one chi; the theorem's "
"cmc bound still holds per accepted proof but nothing in the primitive makes a second accepted root "
"cost a second labelling",
"verdict": "ACCEPTED (many accepted roots per labelling): a lottery over tau is not bound to the labelling cost"}

View file

@ -0,0 +1,87 @@
"""DRSample, [ABH17] Algorithm 1, verbatim edge rule, derandomised by a public seed.
[ABH17] Algorithm 1 (eprint 2017/443, Sec 3):
Function DRSample(n): V := [n]; E := {(1, 2)}; for v in [3, n] and i in [2]: E := E u {(v, GetParent(v, i))}
Function GetParent(v, i):
if i = 1 then r := 1
else
g' <- [1, floor(log2(v)) + 1] // random range size
g := min(v - 1, 2^g') // don't make edges too long
r <- [max(g/2, 2), g] // random edge length
return v - r
Nodes are 1-indexed, node 1 is the only source, node 2 has the single parent 1, every v >= 3 has the two distinct parents
v - 1 and v - r with r >= 2. [BS25] Sec 2.2 orders parents ascending (v1 < v2), so parents(v) = (v - r, v - 1).
Resolutions of what the pseudocode leaves open (README rows R-1, R-2):
R-1 "[max(g/2, 2), g]" with g = v - 1 odd: the integer range starts at ceil(g/2).
R-2 "<-" (uniform draw): uniform_int() below, rejection sampling over 64-bit words of H('G' || GRAPH_SEED || v || which || ctr),
so the graph is a deterministic public function of GRAPH_SEED (fixed a priori, never chi).
"""
from __future__ import annotations
from typing import List, Tuple
import params
_TWO64 = 1 << 64
def uniform_int(lo: int, hi: int, v: int, which: int) -> int:
"""Uniform integer in [lo, hi] (inclusive) for draw `which` of node v; rejection sampling, no modulo bias."""
m = hi - lo + 1
if m <= 0:
raise ValueError("empty range")
if m == 1:
return lo
limit = _TWO64 - (_TWO64 % m)
ctr = 0
while True:
d = params.H(params.TAG_GRAPH, params.GRAPH_SEED, params.u64(v), bytes([which]), params.u64(ctr))
x = int.from_bytes(d[:8], "little")
if x < limit:
return lo + (x % m)
ctr += 1
def get_parent(v: int, i: int) -> int:
"""[ABH17] Alg. 1 GetParent(v, i) for v >= 3."""
if v < 3:
raise ValueError("GetParent is defined for v >= 3; node 1 has no parent and node 2 has parent 1")
if i == 1:
r = 1
else:
gp = uniform_int(1, v.bit_length(), v, 1) # floor(log2 v) + 1 == v.bit_length()
g = min(v - 1, 1 << gp)
r = uniform_int(max(-(-g // 2), 2), g, v, 2) # R-1: ceil(g/2)
return v - r
def parents(v: int) -> Tuple[int, ...]:
"""parents(v, G) in ascending order ([BS25] Sec 2.2). Node 1: (); node 2: (1,); v >= 3: (v - r, v - 1)."""
if v == 1:
return ()
if v == 2:
return (1,)
p2 = get_parent(v, 2)
p1 = get_parent(v, 1)
assert 1 <= p2 < p1 == v - 1
return (p2, p1)
def all_parents(n_nodes: int) -> List[Tuple[int, ...]]:
"""Index 0 unused; all_parents(N)[v] = parents(v) for v in 1..N."""
return [()] + [parents(v) for v in range(1, n_nodes + 1)]
def depth_after_removal(par: List[Tuple[int, ...]], removed: set) -> int:
"""Length (nodes) of the longest directed path in G - S ([BS25] Sec 7.1 uses this to bound parallel rounds)."""
n = len(par) - 1
d = [0] * (n + 1)
best = 0
for v in range(1, n + 1):
if v in removed:
continue
dv = 1 + max((d[u] for u in par[v] if u not in removed), default=0)
d[v] = dv
best = max(best, dv)
return best

View file

@ -0,0 +1,19 @@
805035ebfc8d2f34441325b5d5ca46c67e81f7d0b0b86f62ba1a906964b8c51f attacks-n10-k16.json
9f85b22ae54785e0e078630f890036713cf3925b7e1345bd949c6945d2702f7f kat-n04.json
481a39fa47ff4d3393f34e15e318ee4bda7683ee457d3b9da79d277c9ba2831d kat-n04.proof.bin
2c741be9a5a7c47773f902ed024c49188eacfc84f9cabdf34244f289e77f51f7 kat-n08.json
d45a9756b8d66357eaee34f1efa3b5fc975e25fcf7b7eb5a516746c6e078bbc7 kat-n08.proof.bin
51ccacd3030d97ec371d8cc8ea64fbb362f00bd323bd84827105c89b4eb30864 kat-n12.json
3c7de0539a8715e75d3d64eb11ec3af7d8a2a338c101958a0c29e300c3ad4f7f kat-n12.proof.bin
240f50bc5ac5e12c7630f24c072bf291fb6ab9644530badcd1c41c7a7341440c kat-n16.json
793fd4d505155f133c8acf1c657a98795f29f7d6cba2568570c8324c42fb1118 kat-n16.proof.bin
fd0d75b66af9cbd9ef12e63d571036f41bdac0e1d21e1f4d98559deb98502392 kat-n20.json
a49367d9c80f0855504fe1f0994acbd5ddc4b023eaf5904a28ad5f7e71ce951c kat-n20.proof.bin
1ceca69b04d46083bf7d6d6fa51e21b7ecd49e71eb6051324a439ebcb519336a k-table.json
06f50be652157fb685e17d65853c95628c336980174b238ca8738ebe0ac0de5d k-table.log
0e9f907ed4ffca6f558988ac91066475dcf60da21a9ba3106b79d014db268178 row-n12-k64.json
0dbd2103af742b3f9bb38e679615de34f128db30baa8dd7bdc1b1eaa6c4732bc row-n16-k64.json
23e1cd2749ca933abcde77602557b6228cefc76c6776bc8370720b8bcca833dc row-n20-k64.json
21cf88c3151cb5007304bf1ba8d75764878626c2384b5471e6cc5ceb5f8aa4f4 row-n22-k64.json
48d890a92c5bda6a55ddf65e2780fec63afc7f7adc8d6143f6b6270705b68e7c row-n24-k64.json
55c663b3ab539741aad0ff97fa11a2a52308f715e0ed5047b2c2add82243f5bf tests.log

View file

@ -0,0 +1,177 @@
[
{
"accepted": 0,
"id": "A1",
"mechanism": "every label, Merkle node and challenge query carries chi ([BS25] Sec 3.2): a proof for chi' opens a tree whose root and challenges are bound to chi'",
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"refusing_checks": [
"check_2a_parent_set",
"check_2b_merkle_openings"
],
"source": "[DN17] Sec 4.1 first attack (proof replay across challenges)",
"trials": 50,
"verdict": "REFUSED"
},
{
"id": "A2",
"mechanism": "[BS25] Sec 3.2 step 3(a) opens l_{c_i+1} itself at the verifier-derived position and step 3 checks it against its opened parents; the constant array is red everywhere",
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"source": "[DN17] Sec 4.1 second attack (the challenged block X[i_j] not opened in MTP 1.0)",
"trials": 50,
"variants": {
"a_recomputed_label": {
"accepted": 0,
"refusing_checks": [
"check_2b_merkle_openings"
]
},
"b_constant_label": {
"accepted": 0,
"refusing_checks": [
"check_3_local_consistency"
]
}
},
"verdict": "REFUSED"
},
{
"accept_rate": 0.4775,
"accepted": 191,
"analytic_accept": 0.44157668828816804,
"eq5_intervals_met_after_grind": 0,
"eq5_intervals_met_one_try": 0,
"fallback_red_fraction": 0.0498046875,
"grind_tries_per_control_block": 1000,
"id": "A3",
"intervals": 50,
"mechanism": "DRSample's parents(v) are fixed a priori ([ABH17] Alg. 1, public seed): no label value moves an edge, so grinding has zero steering gain; what remains is a red-node cheat accepted with (1-|S|/N)^k, the probability [BS25] Lemma 4 bounds",
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"source": "[DN17] Sec 4.3 and Sec 5 (control blocks steering the data-dependent phi), the attack that broke MTP-Argon2d",
"steering_gain": 0,
"t": 20,
"trials": 400,
"verdict": "STEERING REFUSED BY CONSTRUCTION; RED-NODE FALLBACK ACCEPTED WITH PROBABILITY (1-1/t)^k"
},
{
"accept_rate": 0.945,
"accepted": 189,
"copies_that_reproduced_a_label": 0,
"id": "A4",
"mechanism": "the node index v is inside every prelabel ([BS25] Sec 2.2; [DN17] Sec 8's HAIFA countermeasure): copying X2 into Y2 never reproduces X1 at y, so nothing is saved; the one red node (y-1) is caught only when challenged, as any single red node",
"pairs_available": 253,
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"source": "[DN17] Sec 8 (self-similarity of data-independent MTP: Y2 = X2 gives Y1 = X1)",
"trials": 200,
"verdict": "SAVING REFUSED (0 reproduced labels); ONE RED NODE ACCEPTED WITH PROBABILITY ~ (1-1/N)^k"
},
{
"S_fraction": 0.2216796875,
"S_size": 227,
"accept_rate": 0.015,
"accepted": 6,
"analytic_accept": 0.01813567966356165,
"d_target": 64,
"depth_G_minus_S": 64,
"id": "A5",
"mechanism": "the paper's own attack: |S| red nodes escape all k challenges with probability (1-|S|/N)^k; the cheater's cumulative memory is O(N d lambda + N lambda log N) against the honest O(N^2 lambda)",
"parallel_rounds_bound": 64,
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"source": "[BS25] Sec 7.1 Attack 1 (labels 0^lambda on a depth-reducing set S, G - S pebbled in parallel)",
"trials": 400,
"verdict": "ACCEPTED WITH PROBABILITY (1-|S|/N)^k (as the paper states; this is what sets k)"
},
{
"S_fraction": 0.1513671875,
"S_size": 155,
"accept_rate": 0.065,
"accepted": 26,
"analytic_accept": 0.07236309223391428,
"d_target": 256,
"depth_G_minus_S": 256,
"id": "A5",
"mechanism": "the paper's own attack: |S| red nodes escape all k challenges with probability (1-|S|/N)^k; the cheater's cumulative memory is O(N d lambda + N lambda log N) against the honest O(N^2 lambda)",
"parallel_rounds_bound": 256,
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"source": "[BS25] Sec 7.1 Attack 1 (labels 0^lambda on a depth-reducing set S, G - S pebbled in parallel)",
"trials": 400,
"verdict": "ACCEPTED WITH PROBABILITY (1-|S|/N)^k (as the paper states; this is what sets k)"
},
{
"accepted_roots_per_labelling": [
193,
199,
198,
200,
195
],
"id": "A6",
"k": 16,
"max_tries": 200,
"mean_first_accept_try": 1.2,
"mechanism": "tau is a fresh oracle output per rewrite of one red leaf (n + k calls, no relabelling): with beta = red fraction the expected tries are (1-beta)^-k, and with ONE red sink nearly every try is an accepted root, so one labelling yields many accepted (tau, proof) pairs for one chi; the theorem's cmc bound still holds per accepted proof but nothing in the primitive makes a second accepted root cost a second labelling",
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"per_try_oracle_calls": 26,
"predicted_tries": 1.0157554632052712,
"red_count": 1,
"red_fraction": 0.0009765625,
"source": "[BS25] Sec 5 Def. 14 and Lemma 4 (LuckyQuery, the q(1-beta)^k term); B2's O-07",
"trials": 5,
"trials_with_accept": 5,
"verdict": "ACCEPTED (many accepted roots per labelling): a lottery over tau is not bound to the labelling cost"
},
{
"accepted_roots_per_labelling": [
140,
146,
140,
151,
152
],
"id": "A6",
"k": 16,
"max_tries": 400,
"mean_first_accept_try": 1.6,
"mechanism": "tau is a fresh oracle output per rewrite of one red leaf (n + k calls, no relabelling): with beta = red fraction the expected tries are (1-beta)^-k, and with ONE red sink nearly every try is an accepted root, so one labelling yields many accepted (tau, proof) pairs for one chi; the theorem's cmc bound still holds per accepted proof but nothing in the primitive makes a second accepted root cost a second labelling",
"params": {
"N": 1024,
"k": 16,
"n": 10
},
"per_try_oracle_calls": 26,
"predicted_tries": 2.808403965576447,
"red_count": 64,
"red_fraction": 0.0625,
"source": "[BS25] Sec 5 Def. 14 and Lemma 4 (LuckyQuery, the q(1-beta)^k term); B2's O-07",
"trials": 5,
"trials_with_accept": 5,
"verdict": "ACCEPTED (many accepted roots per labelling): a lottery over tau is not bound to the labelling cost"
}
]

View file

@ -0,0 +1,249 @@
[
{
"N": 4096,
"d_ABH17": 122.88,
"e_ABH17": 0.082944,
"k_cor2": 17525500,
"k_over_N": 4278.6865234375,
"label_array_bytes": 131072,
"lambda": 256,
"n": 12,
"proof_bytes": 21889349545,
"proof_over_label_array": 167002.48371124268,
"table": "proven"
},
{
"N": 65536,
"d_ABH17": 1966.08,
"e_ABH17": 0.995328,
"k_cor2": 23367333,
"k_over_N": 356.5572052001953,
"label_array_bytes": 2097152,
"lambda": 256,
"n": 16,
"proof_bytes": 38158854834,
"proof_over_label_array": 18195.55989933014,
"table": "proven"
},
{
"N": 1048576,
"d_ABH17": 31457.28,
"e_ABH17": 12.7401984,
"k_cor2": 29209166,
"k_over_N": 27.85603141784668,
"label_array_bytes": 33554432,
"lambda": 256,
"n": 20,
"proof_bytes": 58914887867,
"proof_over_label_array": 1755.800481647253,
"table": "proven"
},
{
"N": 4194304,
"d_ABH17": 125829.12,
"e_ABH17": 46.327994181818184,
"k_cor2": 32130082,
"k_over_N": 7.6604084968566895,
"label_array_bytes": 134217728,
"lambda": 256,
"n": 22,
"proof_bytes": 70975351183,
"proof_over_label_array": 528.8075743839145,
"table": "proven"
},
{
"N": 16777216,
"d_ABH17": 503316.48,
"e_ABH17": 169.869312,
"k_cor2": 35050999,
"k_over_N": 2.089202344417572,
"label_array_bytes": 536870912,
"lambda": 256,
"n": 24,
"proof_bytes": 84157448644,
"proof_over_label_array": 156.75546348839998,
"table": "proven"
},
{
"N": 1073741824,
"d_ABH17": 32212254.72,
"e_ABH17": 8697.3087744,
"k_cor2": 43813748,
"k_over_N": 0.04080473259091377,
"label_array_bytes": 34359738368,
"lambda": 256,
"n": 30,
"proof_bytes": 130433527841,
"proof_over_label_array": 3.7961152801581193,
"table": "proven"
},
{
"N": 4294967296,
"d_ABH17": 128849018.88,
"e_ABH17": 32614.907904,
"k_cor2": 46734665,
"k_over_N": 0.010881262132897973,
"label_array_bytes": 137438953472,
"lambda": 256,
"n": 32,
"proof_bytes": 148102153430,
"proof_over_label_array": 1.0775849909259705,
"table": "proven"
},
{
"N": 4096,
"S": 655,
"beta": 0.159912109375,
"cheater_parallel_rounds": 1024,
"d": 1024,
"k_for_2^-128": 510,
"k_for_2^-40": 160,
"n": 12,
"proof_bytes_2^-128": 637035,
"proof_bytes_2^-40": 199885,
"table": "attack1-greedy"
},
{
"N": 4096,
"S": 900,
"beta": 0.2197265625,
"cheater_parallel_rounds": 256,
"d": 256,
"k_for_2^-128": 358,
"k_for_2^-40": 112,
"n": 12,
"proof_bytes_2^-128": 447187,
"proof_bytes_2^-40": 139933,
"table": "attack1-greedy"
},
{
"N": 4096,
"S": 964,
"beta": 0.2353515625,
"cheater_parallel_rounds": 64,
"d": 64,
"k_for_2^-128": 331,
"k_for_2^-40": 104,
"n": 12,
"proof_bytes_2^-128": 413464,
"proof_bytes_2^-40": 129941,
"table": "attack1-greedy"
},
{
"N": 4096,
"S": 1090,
"beta": 0.26611328125,
"cheater_parallel_rounds": 16,
"d": 16,
"k_for_2^-128": 287,
"k_for_2^-40": 90,
"n": 12,
"proof_bytes_2^-128": 358508,
"proof_bytes_2^-40": 112455,
"table": "attack1-greedy"
},
{
"N": 65536,
"S": 10582,
"beta": 0.161468505859375,
"cheater_parallel_rounds": 16384,
"d": 16384,
"k_for_2^-128": 504,
"k_for_2^-40": 158,
"n": 16,
"proof_bytes_2^-128": 823077,
"proof_bytes_2^-40": 258059,
"table": "attack1-greedy"
},
{
"N": 65536,
"S": 14404,
"beta": 0.21978759765625,
"cheater_parallel_rounds": 4096,
"d": 4096,
"k_for_2^-128": 358,
"k_for_2^-40": 112,
"n": 16,
"proof_bytes_2^-128": 584659,
"proof_bytes_2^-40": 182941,
"table": "attack1-greedy"
},
{
"N": 65536,
"S": 15375,
"beta": 0.2346038818359375,
"cheater_parallel_rounds": 1024,
"d": 1024,
"k_for_2^-128": 332,
"k_for_2^-40": 104,
"n": 16,
"proof_bytes_2^-128": 542201,
"proof_bytes_2^-40": 169877,
"table": "attack1-greedy"
},
{
"N": 65536,
"S": 15745,
"beta": 0.2402496337890625,
"cheater_parallel_rounds": 256,
"d": 256,
"k_for_2^-128": 323,
"k_for_2^-40": 101,
"n": 16,
"proof_bytes_2^-128": 527504,
"proof_bytes_2^-40": 164978,
"table": "attack1-greedy"
},
{
"N": 1048576,
"S": 176424,
"beta": 0.16825103759765625,
"cheater_parallel_rounds": 262144,
"d": 262144,
"k_for_2^-128": 482,
"k_for_2^-40": 151,
"n": 20,
"proof_bytes_2^-128": 972239,
"proof_bytes_2^-40": 304612,
"table": "attack1-greedy"
},
{
"N": 1048576,
"S": 232446,
"beta": 0.2216777801513672,
"cheater_parallel_rounds": 65536,
"d": 65536,
"k_for_2^-128": 355,
"k_for_2^-40": 111,
"n": 20,
"proof_bytes_2^-128": 716080,
"proof_bytes_2^-40": 223932,
"table": "attack1-greedy"
},
{
"N": 1048576,
"S": 249184,
"beta": 0.237640380859375,
"cheater_parallel_rounds": 16384,
"d": 16384,
"k_for_2^-128": 327,
"k_for_2^-40": 103,
"n": 20,
"proof_bytes_2^-128": 659604,
"proof_bytes_2^-40": 207796,
"table": "attack1-greedy"
},
{
"N": 1048576,
"S": 253922,
"beta": 0.2421588897705078,
"cheater_parallel_rounds": 4096,
"d": 4096,
"k_for_2^-128": 320,
"k_for_2^-40": 100,
"n": 20,
"proof_bytes_2^-128": 645485,
"proof_bytes_2^-40": 201745,
"table": "attack1-greedy"
}
]

View file

@ -0,0 +1,19 @@
{"table": "attack1-greedy", "n": 12, "N": 4096, "d": 1024, "S": 655, "beta": 0.159912109375, "k_for_2^-40": 160, "proof_bytes_2^-40": 199885, "k_for_2^-128": 510, "proof_bytes_2^-128": 637035, "cheater_parallel_rounds": 1024}
{"table": "attack1-greedy", "n": 12, "N": 4096, "d": 256, "S": 900, "beta": 0.2197265625, "k_for_2^-40": 112, "proof_bytes_2^-40": 139933, "k_for_2^-128": 358, "proof_bytes_2^-128": 447187, "cheater_parallel_rounds": 256}
{"table": "attack1-greedy", "n": 12, "N": 4096, "d": 64, "S": 964, "beta": 0.2353515625, "k_for_2^-40": 104, "proof_bytes_2^-40": 129941, "k_for_2^-128": 331, "proof_bytes_2^-128": 413464, "cheater_parallel_rounds": 64}
{"table": "attack1-greedy", "n": 12, "N": 4096, "d": 16, "S": 1090, "beta": 0.26611328125, "k_for_2^-40": 90, "proof_bytes_2^-40": 112455, "k_for_2^-128": 287, "proof_bytes_2^-128": 358508, "cheater_parallel_rounds": 16}
{"table": "attack1-greedy", "n": 16, "N": 65536, "d": 16384, "S": 10582, "beta": 0.161468505859375, "k_for_2^-40": 158, "proof_bytes_2^-40": 258059, "k_for_2^-128": 504, "proof_bytes_2^-128": 823077, "cheater_parallel_rounds": 16384}
{"table": "attack1-greedy", "n": 16, "N": 65536, "d": 4096, "S": 14404, "beta": 0.21978759765625, "k_for_2^-40": 112, "proof_bytes_2^-40": 182941, "k_for_2^-128": 358, "proof_bytes_2^-128": 584659, "cheater_parallel_rounds": 4096}
{"table": "attack1-greedy", "n": 16, "N": 65536, "d": 1024, "S": 15375, "beta": 0.2346038818359375, "k_for_2^-40": 104, "proof_bytes_2^-40": 169877, "k_for_2^-128": 332, "proof_bytes_2^-128": 542201, "cheater_parallel_rounds": 1024}
{"table": "attack1-greedy", "n": 16, "N": 65536, "d": 256, "S": 15745, "beta": 0.2402496337890625, "k_for_2^-40": 101, "proof_bytes_2^-40": 164978, "k_for_2^-128": 323, "proof_bytes_2^-128": 527504, "cheater_parallel_rounds": 256}
{"table": "attack1-greedy", "n": 20, "N": 1048576, "d": 262144, "S": 176424, "beta": 0.16825103759765625, "k_for_2^-40": 151, "proof_bytes_2^-40": 304612, "k_for_2^-128": 482, "proof_bytes_2^-128": 972239, "cheater_parallel_rounds": 262144}
{"table": "attack1-greedy", "n": 20, "N": 1048576, "d": 65536, "S": 232446, "beta": 0.2216777801513672, "k_for_2^-40": 111, "proof_bytes_2^-40": 223932, "k_for_2^-128": 355, "proof_bytes_2^-128": 716080, "cheater_parallel_rounds": 65536}
{"table": "attack1-greedy", "n": 20, "N": 1048576, "d": 16384, "S": 249184, "beta": 0.237640380859375, "k_for_2^-40": 103, "proof_bytes_2^-40": 207796, "k_for_2^-128": 327, "proof_bytes_2^-128": 659604, "cheater_parallel_rounds": 16384}
{"table": "attack1-greedy", "n": 20, "N": 1048576, "d": 4096, "S": 253922, "beta": 0.2421588897705078, "k_for_2^-40": 100, "proof_bytes_2^-40": 201745, "k_for_2^-128": 320, "proof_bytes_2^-128": 645485, "cheater_parallel_rounds": 4096}
{"table": "proven", "n": 12, "N": 4096, "lambda": 256, "e_ABH17": 0.082944, "d_ABH17": 122.88, "k_cor2": 17525500, "k_over_N": 4278.6865234375, "proof_bytes": 21889349545, "label_array_bytes": 131072, "proof_over_label_array": 167002.48371124268}
{"table": "proven", "n": 16, "N": 65536, "lambda": 256, "e_ABH17": 0.995328, "d_ABH17": 1966.08, "k_cor2": 23367333, "k_over_N": 356.5572052001953, "proof_bytes": 38158854834, "label_array_bytes": 2097152, "proof_over_label_array": 18195.55989933014}
{"table": "proven", "n": 20, "N": 1048576, "lambda": 256, "e_ABH17": 12.7401984, "d_ABH17": 31457.28, "k_cor2": 29209166, "k_over_N": 27.85603141784668, "proof_bytes": 58914887867, "label_array_bytes": 33554432, "proof_over_label_array": 1755.800481647253}
{"table": "proven", "n": 22, "N": 4194304, "lambda": 256, "e_ABH17": 46.327994181818184, "d_ABH17": 125829.12, "k_cor2": 32130082, "k_over_N": 7.6604084968566895, "proof_bytes": 70975351183, "label_array_bytes": 134217728, "proof_over_label_array": 528.8075743839145}
{"table": "proven", "n": 24, "N": 16777216, "lambda": 256, "e_ABH17": 169.869312, "d_ABH17": 503316.48, "k_cor2": 35050999, "k_over_N": 2.089202344417572, "proof_bytes": 84157448644, "label_array_bytes": 536870912, "proof_over_label_array": 156.75546348839998}
{"table": "proven", "n": 30, "N": 1073741824, "lambda": 256, "e_ABH17": 8697.3087744, "d_ABH17": 32212254.72, "k_cor2": 43813748, "k_over_N": 0.04080473259091377, "proof_bytes": 130433527841, "label_array_bytes": 34359738368, "proof_over_label_array": 3.7961152801581193}
{"table": "proven", "n": 32, "N": 4294967296, "lambda": 256, "e_ABH17": 32614.907904, "d_ABH17": 128849018.88, "k_cor2": 46734665, "k_over_N": 0.010881262132897973, "proof_bytes": 148102153430, "label_array_bytes": 137438953472, "proof_over_label_array": 1.0775849909259705}

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -0,0 +1,93 @@
{
"N": 4096,
"challenges_c_i": [
2331,
739,
401,
182,
691,
3144,
301,
3840,
1473,
3907,
3027,
782,
1184,
3316,
331,
3084,
2937,
3059,
3432,
2573,
1944,
2975,
591,
3706,
556,
3167,
2343,
3262,
3890,
4081,
2659,
3382,
756,
2746,
1108,
3817,
1788,
2129,
972,
3805,
3363,
245,
1375,
3444,
2029,
1672,
3403,
43,
635,
94,
2323,
2054,
1986,
1239,
2175,
3712,
1677,
2346,
2707,
560,
4095,
2662,
3468,
592
],
"chi": "286bb44f63729d7b19b40f08071e3a9cb42e812edf4079e5a0189ff7c92fa030",
"construction": "[BS25] Sec 3.2 over [ABH17] Alg. 1 DRSample; encoding params.py",
"fixture": "kat-n12",
"graph_parents_u64le_sha256": "a12e9e1e0a063833687df3a7486cff329593079b6b63f24198c7cd4ddc2f8aed",
"graph_seed": "9f25395581b8a72f3e17a812fede366102eba1dbd75cb3a02ad8054d5d79af2d",
"hash": "BLAKE2b-256 unkeyed",
"k": 64,
"labels_concat_sha256": "5b2188573c4143fa1c69a262ebd656fc1bd3afa38e96c44ceca6533506cd5c75",
"lambda_bits": 256,
"n": 12,
"proof_bytes": 79981,
"proof_sha256": "3c7de0539a8715e75d3d64eb11ec3af7d8a2a338c101958a0c29e300c3ad4f7f",
"tags": {
"challenge": "C",
"graph": "G",
"label": "L",
"merkle": "M"
},
"tau": "884d36cd2df99fa94e49bc0c358d7cdd3663ebac944d21fee983c3176dfe2687",
"verifier": {
"accepted": true,
"check": "accept",
"oracle_calls": 2432
}
}

Binary file not shown.

View file

@ -0,0 +1,93 @@
{
"N": 65536,
"challenges_c_i": [
37058,
36166,
7395,
13143,
29525,
58720,
10284,
57346,
21195,
33217,
45923,
15399,
22255,
13950,
48909,
16634,
46736,
59559,
55581,
47879,
50708,
22007,
32888,
48509,
12067,
49112,
3385,
7094,
46049,
54059,
18450,
51765,
50610,
40490,
7132,
59844,
18264,
22098,
40888,
29136,
43203,
45899,
26164,
5304,
48542,
37977,
41471,
49209,
1718,
22943,
46330,
30881,
22914,
10602,
15776,
52395,
2205,
27808,
6684,
38160,
32810,
39169,
48933,
15339
],
"chi": "1dd81aac8403c3b65c7da0b52eadb1a08104a988e73e3aa92c955ca16fa67a9a",
"construction": "[BS25] Sec 3.2 over [ABH17] Alg. 1 DRSample; encoding params.py",
"fixture": "kat-n16",
"graph_parents_u64le_sha256": "811895268cb0e8f37e22e8762de44b4e5e5f0297a79207227580a6bf43ee4314",
"graph_seed": "9f25395581b8a72f3e17a812fede366102eba1dbd75cb3a02ad8054d5d79af2d",
"hash": "BLAKE2b-256 unkeyed",
"k": 64,
"labels_concat_sha256": "b8cf70b7a10c82dee36dda8ea0fef39308819d24611c9051b104ba704322d97b",
"lambda_bits": 256,
"n": 16,
"proof_bytes": 104557,
"proof_sha256": "793fd4d505155f133c8acf1c657a98795f29f7d6cba2568570c8324c42fb1118",
"tags": {
"challenge": "C",
"graph": "G",
"label": "L",
"merkle": "M"
},
"tau": "41e05146c5819b21487fc485ac9de87ff0521b8d4e921d8655c5a1cb7c99385e",
"verifier": {
"accepted": true,
"check": "accept",
"oracle_calls": 3200
}
}

Binary file not shown.

View file

@ -0,0 +1,93 @@
{
"N": 1048576,
"challenges_c_i": [
478328,
234763,
962086,
987402,
136367,
302234,
907558,
945947,
443172,
200341,
196554,
615131,
1032010,
24137,
31777,
462029,
299644,
270093,
905498,
969459,
16578,
368025,
859298,
419728,
841167,
1025362,
687240,
176569,
580698,
957290,
784586,
978457,
36129,
577448,
392226,
711776,
949535,
343819,
281553,
809444,
857405,
904463,
334337,
577019,
794312,
477162,
351630,
104684,
479418,
685136,
782054,
333943,
78240,
784632,
143051,
787678,
84897,
883533,
614079,
250175,
999091,
869462,
825523,
955417
],
"chi": "842efbdf693296a28d46e967fe9930bacd9c48cb06b518a4e9529308fabc2560",
"construction": "[BS25] Sec 3.2 over [ABH17] Alg. 1 DRSample; encoding params.py",
"fixture": "kat-n20",
"graph_parents_u64le_sha256": "a3c61becd7b467711f5ca3e44ec1faf51905f221d3e8be71ea8515b02523d5d5",
"graph_seed": "9f25395581b8a72f3e17a812fede366102eba1dbd75cb3a02ad8054d5d79af2d",
"hash": "BLAKE2b-256 unkeyed",
"k": 64,
"labels_concat_sha256": "02e355ae74233acbe451012ad58c438cee307ab5821204231e14e64da31daa96",
"lambda_bits": 256,
"n": 20,
"proof_bytes": 129133,
"proof_sha256": "a49367d9c80f0855504fe1f0994acbd5ddc4b023eaf5904a28ad5f7e71ce951c",
"tags": {
"challenge": "C",
"graph": "G",
"label": "L",
"merkle": "M"
},
"tau": "e3d83489e27af44b199e2a73db33ee2b9492b38e777e778b694bba152b53786b",
"verifier": {
"accepted": true,
"check": "accept",
"oracle_calls": 3968
}
}

Binary file not shown.

View file

@ -0,0 +1,24 @@
{
"N": 4096,
"boundary": "process wall time, no power measured",
"graph_sample_s": 0.012868257996160537,
"host": "igneum-build-6",
"k": 64,
"labels_bytes_model": 131072,
"labels_s": 0.003818661003606394,
"merkle_bytes_model": 262112,
"merkle_s": 0.005726456998672802,
"n": 12,
"oracle_calls_prover": 8255,
"peak_rss_bytes_measured": 19660800,
"proof_bytes": 79981,
"prover_sequential_s_excl_graph": 0.01040476000343915,
"prover_state_bytes_model": 393184,
"python": "3.12.3",
"respond_s": 0.0008596420011599548,
"row": "honest-n12-k64",
"setting": "stock",
"software": "tools/mhpow/b1 (CPython reference, single thread)",
"verifier_oracle_calls": 2432,
"verify_s": 0.002651128997968044
}

View file

@ -0,0 +1,24 @@
{
"N": 65536,
"boundary": "process wall time, no power measured",
"graph_sample_s": 0.20376398300140863,
"host": "igneum-build-6",
"k": 64,
"labels_bytes_model": 2097152,
"labels_s": 0.06238005399791291,
"merkle_bytes_model": 4194272,
"merkle_s": 0.11455441799625987,
"n": 16,
"oracle_calls_prover": 131135,
"peak_rss_bytes_measured": 39870464,
"proof_bytes": 104557,
"prover_sequential_s_excl_graph": 0.17990126999939093,
"prover_state_bytes_model": 6291424,
"python": "3.12.3",
"respond_s": 0.002966798005218152,
"row": "honest-n16-k64",
"setting": "stock",
"software": "tools/mhpow/b1 (CPython reference, single thread)",
"verifier_oracle_calls": 3200,
"verify_s": 0.003200609004124999
}

View file

@ -0,0 +1,24 @@
{
"N": 1048576,
"boundary": "process wall time, no power measured",
"graph_sample_s": 3.311251960003574,
"host": "igneum-build-6",
"k": 64,
"labels_bytes_model": 33554432,
"labels_s": 1.0262025019983412,
"merkle_bytes_model": 67108832,
"merkle_s": 2.4088434259974747,
"n": 20,
"oracle_calls_prover": 2097215,
"peak_rss_bytes_measured": 355725312,
"proof_bytes": 129133,
"prover_sequential_s_excl_graph": 3.4809705539955758,
"prover_state_bytes_model": 100663264,
"python": "3.12.3",
"respond_s": 0.04592462599975988,
"row": "honest-n20-k64",
"setting": "stock",
"software": "tools/mhpow/b1 (CPython reference, single thread)",
"verifier_oracle_calls": 3968,
"verify_s": 0.004032391007058322
}

Some files were not shown because too many files have changed in this diff Show more