diff --git a/docs/analysis/attack-pass-2026-10.md b/docs/analysis/attack-pass-2026-10.md index c02b37cd4..5c91637ea 100644 --- a/docs/analysis/attack-pass-2026-10.md +++ b/docs/analysis/attack-pass-2026-10.md @@ -430,5 +430,19 @@ MEMHARD.md) now reads "a bounded tail, measured", with the F4 record as the sour Status: F4 PASS against v4; AP-F4-1 FIXED-AND-PASSED against v5 once the lane's accept.rs carries the rule and the census passes against it. +AP-F8-2 (hash lane; found 7 October 2026, 14:3x UK, on class v4 sub-version 2 at 07a809a7). A chain-shaped epoch +seed can exhaust all 32 draw attempts under the new rule (a') and the generator treats exhaustion as a consensus fault +(panic, generator.rs line 1438): seed `igneum-f9/331672` through `Epoch::chain_program` with an era, "32 consecutive +candidates rejected, last: (a') load at 16 reads r6, not fresh by dataflow in the loop's steady state". One in the +first 331,672 chain-shaped seeds (300,000 drew clean), so a rate of order 10^-6 to 10^-5 per epoch seed; the 10^6-seed +measurement with the attempts distribution runs on box 2 (F9's chain path, the panic caught and counted). Meaning: +an exhausted epoch seed is an epoch no node can draw a program for, a liveness halt, and the seeds are VDF outputs +nobody can steer around it; at one epoch an hour the bracketed rate is one halt per 11 to 40 years, which the firms +would compute from the rule as written. Sub-version 1: 0 exhausted in 10^6 chain-shaped seeds. Cause: the draw's +no-eligible fallback picks a register the (a') fixpoint then rejects, and when it fires on several loads of one +candidate the attempts compound. Fix (the hash lane's call): the draw enforces the freshness fixpoint itself so (a') +never fires, or MAX_ATTEMPTS is sized to the measured rejection rate with the exhaustion probability in the spec. +Status: FINDING-OPEN; sub-version 2 is not green from this lane until it closes with the hot-set gate. + Any further finding is logged here and in `docs/fud-ledger.md` with its owning lane (hash and algorithm: fixed in `igneum-pow` behind a test and re-gated; node: the node lane, relay agent) before the row is marked FIXED-AND-PASSED.