From c0b4fc34454adf074db8668e178075528da8eddb Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Wed, 7 Oct 2026 20:36:05 +0000 Subject: [PATCH] adv-cache-3: the exhaustive image census landed at all 64 depths (random function to six places, the permutation plant fires); sibling file 43 claimed Co-Authored-By: Claude Fable 5.1 --- .../logs/adv-cache-3/image-w2-plant-noff.log | 12 ++++ .../logs/adv-cache-3/image-w2-r6-d64-full.log | 71 +++++++++++++++++++ .../logs/adv-cache-3/ledger-box2.txt | 9 +++ .../cryptanalysis/report-chained-cache-3.md | 33 +++++---- 4 files changed, 112 insertions(+), 13 deletions(-) create mode 100644 docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-plant-noff.log create mode 100644 docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-r6-d64-full.log diff --git a/docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-plant-noff.log b/docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-plant-noff.log new file mode 100644 index 00000000..7177023f --- /dev/null +++ b/docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-plant-noff.log @@ -0,0 +1,12 @@ +lease: holding 32 pool cores (10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, waited 1 s, class adv): adv-cache-3 image-w2-plant-noff +[2026-10-07T20:27:02Z] adv-cache-3 image (internal adversarial pass, not an independent review) +[2026-10-07T20:27:02Z] self-test: restated B equals chacha_block on 4,096 inputs; core_inv inverts core at w = 2, 4, 8, 16, 32; the restated chain equals Cache::fill_segment on segments 0, 21859, 65535 of day 20730 +[2026-10-07T20:27:02Z] image: w 2 double rounds 6 depth 6 plant no-feedforward threads 32; rotations [1, 1, 1, 1]; all 2^32 states enumerated per step +[2026-10-07T20:28:20Z] depth 1: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.632121; 2/k: 2.000000; a permutation: 1.000000); 78 s +[2026-10-07T20:29:37Z] depth 2: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.468536; 2/k: 1.000000; a permutation: 1.000000); 155 s +[2026-10-07T20:30:53Z] depth 3: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.374082; 2/k: 0.666667; a permutation: 1.000000); 231 s +[2026-10-07T20:32:05Z] depth 4: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.312080; 2/k: 0.500000; a permutation: 1.000000); 303 s +[2026-10-07T20:33:10Z] depth 5: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.268077; 2/k: 0.400000; a permutation: 1.000000); 368 s +[2026-10-07T20:34:32Z] depth 6: image size 4294967296 = 1.000000 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.235151; 2/k: 0.333333; a permutation: 1.000000); 450 s +Terminated +lease: released 32 pool cores after 451 s, exit 0 diff --git a/docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-r6-d64-full.log b/docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-r6-d64-full.log new file mode 100644 index 00000000..2758343f --- /dev/null +++ b/docs/analysis/cryptanalysis/logs/adv-cache-3/image-w2-r6-d64-full.log @@ -0,0 +1,71 @@ +lease: 0 of 16 pool cores free (88 leased); waiting +lease: holding 32 pool cores (10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, waited 173 s, class adv): adv-cache-3 image-w2-r6-d64-full +[2026-10-07T20:16:28Z] adv-cache-3 image (internal adversarial pass, not an independent review) +[2026-10-07T20:16:28Z] self-test: restated B equals chacha_block on 4,096 inputs; core_inv inverts core at w = 2, 4, 8, 16, 32; the restated chain equals Cache::fill_segment on segments 0, 21859, 65535 of day 20730 +[2026-10-07T20:16:28Z] image: w 2 double rounds 6 depth 64 plant none threads 32; rotations [1, 1, 1, 1]; all 2^32 states enumerated per step +[2026-10-07T20:17:55Z] depth 1: image size 2715029335 = 0.632142 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.632121; 2/k: 2.000000; a permutation: 1.000000); 87 s +[2026-10-07T20:18:41Z] depth 2: image size 2012444452 = 0.468559 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.468536; 2/k: 1.000000; a permutation: 1.000000); 133 s +[2026-10-07T20:19:15Z] depth 3: image size 1606748932 = 0.374100 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.374082; 2/k: 0.666667; a permutation: 1.000000); 167 s +[2026-10-07T20:19:49Z] depth 4: image size 1340451469 = 0.312098 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.312080; 2/k: 0.500000; a permutation: 1.000000); 201 s +[2026-10-07T20:20:17Z] depth 5: image size 1151447703 = 0.268092 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.268077; 2/k: 0.400000; a permutation: 1.000000); 229 s +[2026-10-07T20:20:39Z] depth 6: image size 1010025987 = 0.235165 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.235151; 2/k: 0.333333; a permutation: 1.000000); 251 s +[2026-10-07T20:20:59Z] depth 7: image size 900056868 = 0.209561 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.209548; 2/k: 0.285714; a permutation: 1.000000); 271 s +[2026-10-07T20:21:16Z] depth 8: image size 812009253 = 0.189061 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.189050; 2/k: 0.250000; a permutation: 1.000000); 288 s +[2026-10-07T20:21:33Z] depth 9: image size 739877239 = 0.172266 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.172255; 2/k: 0.222222; a permutation: 1.000000); 304 s +[2026-10-07T20:21:49Z] depth 10: image size 679651606 = 0.158244 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.158235; 2/k: 0.200000; a permutation: 1.000000); 320 s +[2026-10-07T20:22:04Z] depth 11: image size 628605897 = 0.146359 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.146351; 2/k: 0.181818; a permutation: 1.000000); 336 s +[2026-10-07T20:22:17Z] depth 12: image size 584777272 = 0.136154 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.136146; 2/k: 0.166667; a permutation: 1.000000); 349 s +[2026-10-07T20:22:28Z] depth 13: image size 546724260 = 0.127294 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.127284; 2/k: 0.153846; a permutation: 1.000000); 360 s +[2026-10-07T20:22:41Z] depth 14: image size 513354089 = 0.119525 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.119517; 2/k: 0.142857; a permutation: 1.000000); 372 s +[2026-10-07T20:22:52Z] depth 15: image size 483867161 = 0.112659 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.112651; 2/k: 0.133333; a permutation: 1.000000); 383 s +[2026-10-07T20:23:03Z] depth 16: image size 457612723 = 0.106546 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.106537; 2/k: 0.125000; a permutation: 1.000000); 395 s +[2026-10-07T20:23:13Z] depth 17: image size 434084362 = 0.101068 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.101059; 2/k: 0.117647; a permutation: 1.000000); 405 s +[2026-10-07T20:23:22Z] depth 18: image size 412860819 = 0.096127 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.096120; 2/k: 0.111111; a permutation: 1.000000); 414 s +[2026-10-07T20:23:33Z] depth 19: image size 393640994 = 0.091652 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.091645; 2/k: 0.105263; a permutation: 1.000000); 425 s +[2026-10-07T20:23:42Z] depth 20: image size 376139020 = 0.087577 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.087571; 2/k: 0.100000; a permutation: 1.000000); 434 s +[2026-10-07T20:23:51Z] depth 21: image size 360145138 = 0.083853 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.083846; 2/k: 0.095238; a permutation: 1.000000); 443 s +[2026-10-07T20:23:59Z] depth 22: image size 345452853 = 0.080432 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.080427; 2/k: 0.090909; a permutation: 1.000000); 451 s +[2026-10-07T20:24:07Z] depth 23: image size 331928058 = 0.077283 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.077278; 2/k: 0.086957; a permutation: 1.000000); 459 s +[2026-10-07T20:24:14Z] depth 24: image size 319423465 = 0.074372 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.074368; 2/k: 0.083333; a permutation: 1.000000); 466 s +[2026-10-07T20:24:21Z] depth 25: image size 307837370 = 0.071674 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.071670; 2/k: 0.080000; a permutation: 1.000000); 473 s +[2026-10-07T20:24:28Z] depth 26: image size 297059541 = 0.069165 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.069162; 2/k: 0.076923; a permutation: 1.000000); 479 s +[2026-10-07T20:24:34Z] depth 27: image size 287021221 = 0.066827 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.066824; 2/k: 0.074074; a permutation: 1.000000); 486 s +[2026-10-07T20:24:40Z] depth 28: image size 277639719 = 0.064643 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.064640; 2/k: 0.071429; a permutation: 1.000000); 492 s +[2026-10-07T20:24:46Z] depth 29: image size 268856948 = 0.062598 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.062595; 2/k: 0.068966; a permutation: 1.000000); 498 s +[2026-10-07T20:24:52Z] depth 30: image size 260608732 = 0.060678 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.060677; 2/k: 0.066667; a permutation: 1.000000); 503 s +[2026-10-07T20:24:57Z] depth 31: image size 252860685 = 0.058874 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.058872; 2/k: 0.064516; a permutation: 1.000000); 509 s +[2026-10-07T20:25:01Z] depth 32: image size 245561711 = 0.057174 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.057173; 2/k: 0.062500; a permutation: 1.000000); 513 s +[2026-10-07T20:25:05Z] depth 33: image size 238674533 = 0.055571 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.055569; 2/k: 0.060606; a permutation: 1.000000); 517 s +[2026-10-07T20:25:09Z] depth 34: image size 232159656 = 0.054054 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.054053; 2/k: 0.058824; a permutation: 1.000000); 521 s +[2026-10-07T20:25:13Z] depth 35: image size 225998978 = 0.052619 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.052619; 2/k: 0.057143; a permutation: 1.000000); 525 s +[2026-10-07T20:25:17Z] depth 36: image size 220155903 = 0.051259 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.051258; 2/k: 0.055556; a permutation: 1.000000); 529 s +[2026-10-07T20:25:22Z] depth 37: image size 214608267 = 0.049967 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.049967; 2/k: 0.054054; a permutation: 1.000000); 534 s +[2026-10-07T20:25:27Z] depth 38: image size 209333660 = 0.048739 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.048739; 2/k: 0.052632; a permutation: 1.000000); 538 s +[2026-10-07T20:25:31Z] depth 39: image size 204315520 = 0.047571 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.047570; 2/k: 0.051282; a permutation: 1.000000); 543 s +[2026-10-07T20:25:36Z] depth 40: image size 199532563 = 0.046457 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.046456; 2/k: 0.050000; a permutation: 1.000000); 548 s +[2026-10-07T20:25:40Z] depth 41: image size 194967404 = 0.045394 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.045394; 2/k: 0.048780; a permutation: 1.000000); 552 s +[2026-10-07T20:25:44Z] depth 42: image size 190606921 = 0.044379 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.044379; 2/k: 0.047619; a permutation: 1.000000); 556 s +[2026-10-07T20:25:49Z] depth 43: image size 186440468 = 0.043409 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.043409; 2/k: 0.046512; a permutation: 1.000000); 560 s +[2026-10-07T20:25:52Z] depth 44: image size 182452390 = 0.042481 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.042480; 2/k: 0.045455; a permutation: 1.000000); 564 s +[2026-10-07T20:25:56Z] depth 45: image size 178630354 = 0.041591 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.041590; 2/k: 0.044444; a permutation: 1.000000); 568 s +[2026-10-07T20:25:59Z] depth 46: image size 174963974 = 0.040737 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.040737; 2/k: 0.043478; a permutation: 1.000000); 571 s +[2026-10-07T20:26:03Z] depth 47: image size 171449833 = 0.039919 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.039919; 2/k: 0.042553; a permutation: 1.000000); 575 s +[2026-10-07T20:26:07Z] depth 48: image size 168074588 = 0.039133 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.039132; 2/k: 0.041667; a permutation: 1.000000); 579 s +[2026-10-07T20:26:11Z] depth 49: image size 164826920 = 0.038377 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.038377; 2/k: 0.040816; a permutation: 1.000000); 582 s +[2026-10-07T20:26:14Z] depth 50: image size 161701909 = 0.037649 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.037650; 2/k: 0.040000; a permutation: 1.000000); 586 s +[2026-10-07T20:26:18Z] depth 51: image size 158696483 = 0.036949 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.036950; 2/k: 0.039216; a permutation: 1.000000); 589 s +[2026-10-07T20:26:21Z] depth 52: image size 155801922 = 0.036275 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.036275; 2/k: 0.038462; a permutation: 1.000000); 593 s +[2026-10-07T20:26:24Z] depth 53: image size 153009220 = 0.035625 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.035625; 2/k: 0.037736; a permutation: 1.000000); 596 s +[2026-10-07T20:26:28Z] depth 54: image size 150314071 = 0.034998 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.034998; 2/k: 0.037037; a permutation: 1.000000); 599 s +[2026-10-07T20:26:31Z] depth 55: image size 147714567 = 0.034392 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.034393; 2/k: 0.036364; a permutation: 1.000000); 603 s +[2026-10-07T20:26:35Z] depth 56: image size 145205271 = 0.033808 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.033808; 2/k: 0.035714; a permutation: 1.000000); 606 s +[2026-10-07T20:26:38Z] depth 57: image size 142777802 = 0.033243 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.033243; 2/k: 0.035088; a permutation: 1.000000); 610 s +[2026-10-07T20:26:42Z] depth 58: image size 140429121 = 0.032696 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.032697; 2/k: 0.034483; a permutation: 1.000000); 614 s +[2026-10-07T20:26:45Z] depth 59: image size 138158047 = 0.032167 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.032168; 2/k: 0.033898; a permutation: 1.000000); 616 s +[2026-10-07T20:26:48Z] depth 60: image size 135961613 = 0.031656 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.031656; 2/k: 0.033333; a permutation: 1.000000); 620 s +[2026-10-07T20:26:51Z] depth 61: image size 133832450 = 0.031160 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.031160; 2/k: 0.032787; a permutation: 1.000000); 623 s +[2026-10-07T20:26:55Z] depth 62: image size 131767169 = 0.030679 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.030680; 2/k: 0.032258; a permutation: 1.000000); 626 s +[2026-10-07T20:26:58Z] depth 63: image size 129765689 = 0.030213 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.030214; 2/k: 0.031746; a permutation: 1.000000); 630 s +[2026-10-07T20:27:01Z] depth 64: image size 127826507 = 0.029762 of 2^32 (random-function recursion tau_k = 1 - exp(-tau_k-1): 0.029762; 2/k: 0.031250; a permutation: 1.000000); 633 s +Terminated +lease: released 32 pool cores after 806 s, exit 0 diff --git a/docs/analysis/cryptanalysis/logs/adv-cache-3/ledger-box2.txt b/docs/analysis/cryptanalysis/logs/adv-cache-3/ledger-box2.txt index 8285755e..5c8bb39d 100644 --- a/docs/analysis/cryptanalysis/logs/adv-cache-3/ledger-box2.txt +++ b/docs/analysis/cryptanalysis/logs/adv-cache-3/ledger-box2.txt @@ -1,2 +1,11 @@ 2026-10-07T19:22:50Z start image-w2-r6-d64 2026-10-07T19:24:38Z RELEASED image-w2-r6-d64 lease by order (partial kept to depth 8), re-queue at 48 cores later +2026-10-07T19:35:51Z start image-w2-r6-d64-full +2026-10-07T19:41:22Z HOLD file 97: no adv-cache-3 lease on box 2 until main clears it (class v5 census first) +2026-10-07T19:41:55Z KILLED image-w2-r6-d64-full (file 97 had passed its yield at 19:35:51Z when the v5 waiter line was briefly absent; held 48 cores 19:41:15Z to 19:41:xxZ while class-v5 waited; partial kept) +2026-10-07T20:13:35Z RESTART file 97 at 32 threads: box 2 opened to adv-* by main at 20:12Z +2026-10-07T20:13:35Z start image-w2-r6-d64-full +2026-10-07T20:27:01Z end image-w2-r6-d64-full rc=0 +2026-10-07T20:27:01Z start image-w2-plant-noff +2026-10-07T20:34:32Z end image-w2-plant-noff rc=0 +2026-10-07T20:35:27Z start sibling-43 warps-devnet-2e26-v2 (owner adv-cache-2) at 32 threads diff --git a/docs/analysis/cryptanalysis/report-chained-cache-3.md b/docs/analysis/cryptanalysis/report-chained-cache-3.md index 7e2b5b97..58c0c8e6 100644 --- a/docs/analysis/cryptanalysis/report-chained-cache-3.md +++ b/docs/analysis/cryptanalysis/report-chained-cache-3.md @@ -14,14 +14,14 @@ Internal adversarial pass, not an independent review. Lane `adv-cache-3`, the ch | Boxes and scheduling | build box 1 for the skip, relations, pebble and cross runs, build box 2 for the exhaustive image census; every run through `/srv/builds/_bin/lease pool` (main's rule of 20:1x, no sweep by hand), nice 10 on cores 8 to 95; the boxes read load 400 to 600 on 96 threads all evening, so wall times are not timings | | Logs | `/srv/builds/_adv-cache-3/logs/.log` on each box (outside the worktree mirror); copies under `docs/analysis/cryptanalysis/logs/adv-cache-3/` on this branch, `ledger.txt` the start and end of every run | | THE QUEUE | files 90, 91, 92 (the coordinator's definitions) claimed at 19:49 with owner files; implemented and run as files 93 (skip batch, 14 runs), 94 (relations, 4 runs), 96 (the 1,024-line chain, 4 runs) on build box 1 and 95 (the image census) on build box 2; 97 (the image census again at 48 cores) queued behind the class v5 waiters | -| Box-hours | 0.04 slot-hours in all (section 9); no pod-hours (no GPU row in this lane) | +| Box-hours | 0.23 slot-hours in all (section 9); no pod-hours (no GPU row in this lane) | ## Status board | # | Question | Method | Known-failed shape (fired?) | Gate | Result | Status | |---|---|---|---|---|---|---| | Q1 (brief a, file 90) | Line `(s, j)` in fewer than `j + 1` blocks without an earlier line of its segment | `skip`: 7 earlier-line-free templates at 1 or 2 blocks against every line; the GF(2) rank of the `(x_j, line_j, 1)` sample matrix; the 512 x 512 bit-dependence table and the 16 x 16 word table; the inversion attempt; the reduced-round ladder | `no-xor` fired (64,512 of 65,536 lines at 1 block; dependence table all zero); `no-feedforward` fired (64,512 lines recovered up the chain; 64,512 of 64,512 inversions); `--rounds 0` fired (rank 17 of 1,025) | 0 lines under `j + 1`; rank 1,025; no zero cell; 0 inversions | 64-line chain, 1,024 segments, days 20730 and 20733: 0 of 131,072 lines by any template (16.9 M compares); 1,024-line chain, 64 segments, both days: 0 of 131,072 (268.6 M compares); rank 1,025 of 1,025 at `j` = 1, 2, 32, 63 and 1,023; flip table worst z +4.47 / -4.88 of 262,144 cells, 0 zero cells; every output word changes with every input word; 0 of 130,000 inversions | BOUND, PASS | -| Q1 (4) | Exhaustive image census at w = 2: every one of 2^32 states per step | `image` | `no-feedforward` (the image must stay 2^32): queued | the chain loses entropy no faster than a random function | depths 1 to 8 (the run was released at depth 8 by main's order for the class v5 gate): image 0.632142, 0.468559, 0.374100, 0.312098, 0.268092, 0.235165, 0.209561, 0.189061 of 2^32 against the random-function recursion 0.632121, 0.468536, 0.374082, 0.312080, 0.268077, 0.235151, 0.209548, 0.189050 (within 2 x 10^-5 at every depth) | RUNNING (depths 9 to 64 and the plant queued as file 97) | +| Q1 (4) | Exhaustive image census at w = 2: every one of 2^32 states per step, depth 64 | `image` | `no-feedforward` fired (a permutation: the image stays 2^32 at every one of 6 depths) | the chain loses entropy no faster than a random function | all 64 depths: image 0.632142, 0.468559, 0.312098, 0.189061, 0.106546, 0.057174, 0.029762 of 2^32 at depths 1, 2, 4, 8, 16, 32, 64 against the random-function recursion 0.632121, 0.468536, 0.312080, 0.189050, 0.106537, 0.057173, 0.029762: within 2.3 x 10^-5 at every depth, exactly equal at depth 64 to six places | BOUND, PASS | | Q2 (brief b, c, file 91) | Relations through `line_j = C(x_j) + x_j`; partial knowledge | `relations`: per-bit bias of 4 relations and the 512 x 512 linear-correlation table over 4 day keys x 2^20 lines; `skip`'s word table and inversion for the partial-knowledge half | `--rounds 1` and `--rounds 2` did NOT fire on the bias and correlation statistics (worst 4.47 and 4.65 sigma at 2^16 lines); the relation class's plants that do fire are in `skip`: `--rounds 1` leaves 21 exact affine relations (rank 1,004) and 6,985 zero cells in the flip table, `no-feedforward` inverts every line | every bias and cell within 6 sigma at 2^22 samples; 0 words from a proper subset; 0 inversions | 4,128,768 lines: worst bias 3.58 sigma of 2,048 bits; worst correlation cell 4.83 sigma of 262,144 (0 cells over 5, 0.15 expected); 0 of 16 output words from a proper subset of input words; 0 inversions | BOUND, PASS; the plant caveat in section 2 | | Q3 (brief d, file 92) | The pebbling curve of the 64-line chain under storage `f`; the amortising adversary | `pebble`: exact DP optimum over placements (checked against exhaustive search at 10, 12, 14, 16 lines, 12 of 12 agree), the two stride placements, ops per item and SRAM; Monte Carlo of `m` requests per segment, fixed and Poisson | `--skip-edge 8` fired (optimum 5.19 blocks at `f = 1/64` against 16.0) | monotone; never under the honest hold-every-k-th curve; 9,360 at `f = 1` | Monotone, 9,360 at `f = 1`. The DP optimum sits UNDER the hold-every-k-th curve at small `f`: 16.0 against 31.5 blocks per read at `f = 1/64`, 10.5 against 15.5 at 2/64, 6.09 against 7.5 at 4/64, 3.17 against 3.5 at 8/64, 1.45 against 1.5 at 16/64, equal from 32/64. Not an attack: a correction of the honest baseline (section 3) | FINDING (bookkeeping, not a break): the honest curve of the gate is mis-specified at small `f`; the chip's partial-cache price at `f = 1/64` is 9.3x the item's ops, not 17.4x | | Q4 (brief e) | Cross-segment and cross-day relations; the known-constant words | `cross`: 512 x 512 correlation tables at `j` = 0, 1, 63 across one-bit segment pairs and across days 20730 and 20731 | `--plant no-xor --rounds 1` fired (3,385 to 3,585 cells over 6 sigma per table, worst 64) | every cell within 6 sigma | 4,096 pairs per table: worst 4.50, 4.75, 5.00 (segments at `j` = 0, 1, 63), 4.56 (days); 0 cells over 6 sigma of 1,048,576 | BOUND, PASS | @@ -123,20 +123,26 @@ The plant (prev not XORed in, one double round) reads 3,385 to 3,585 cells over ## 5. Q1 (4): the exhaustive image census at w = 2 -Command (box 2, file 95): `adv-cache-3 image --w 2 --rounds 6 --depth 64 --threads 87` (log `image-w2-r6-d64-partial-to-depth8.log`). The 16-word block at 2-bit words is a 32-bit state; every one of the 2^32 states is enumerated at each step, so the census is exact. `S_0` is every state; `S_k = { B(p XOR c_k) : p in S_{k-1} }` with the real constant layout truncated to 2 bits (`j` wraps mod 4). What it measures: how much of the state space the chain can still reach at depth `k`, against a random function (`tau_k = 1 - exp(-tau_{k-1})`) and a permutation (1 at every depth, the `no-feedforward` plant). +Command (box 2, file 95 to depth 8 at 87 cores, then file 97 in full at 32 cores): `adv-cache-3 image --w 2 --rounds 6 --depth 64 --threads {cores}` (logs `image-w2-r6-d64-partial-to-depth8.log`, `image-w2-r6-d64-full.log`); the plant `--plant no-feedforward --depth 6` (`image-w2-plant-noff.log`). The 16-word block at 2-bit words is a 32-bit state; every one of the 2^32 states is enumerated at each step, so the census is exact. `S_0` is every state; `S_k = { B(p XOR c_k) : p in S_{k-1} }` with the real constant layout truncated to 2 bits (`j` wraps mod 4). What it measures: how much of the state space the chain can still reach at depth `k`, against a random function (`tau_k = 1 - exp(-tau_{k-1})`) and a permutation (1 at every depth, the plant). -| Depth | Image of 2^32 | Random-function recursion | Difference | -|---|---|---|---| -| 1 | 0.632142 | 0.632121 | +2.1 x 10^-5 | -| 2 | 0.468559 | 0.468536 | +2.3 x 10^-5 | -| 4 | 0.312098 | 0.312080 | +1.8 x 10^-5 | -| 8 | 0.189061 | 0.189050 | +1.1 x 10^-5 | +| Depth | Image of 2^32 | Random-function recursion | Difference | Wall at 32 cores | +|---|---|---|---|---| +| 1 | 0.632142 | 0.632121 | +2.1 x 10^-5 | 87 s | +| 2 | 0.468559 | 0.468536 | +2.3 x 10^-5 | 133 s | +| 4 | 0.312098 | 0.312080 | +1.8 x 10^-5 | 201 s | +| 8 | 0.189061 | 0.189050 | +1.1 x 10^-5 | 288 s | +| 16 | 0.106546 | 0.106537 | +0.9 x 10^-5 | 395 s | +| 24 | 0.074372 | 0.074368 | +0.4 x 10^-5 | 466 s | +| 32 | 0.057174 | 0.057173 | +0.1 x 10^-5 | 513 s | +| 48 | 0.039133 | 0.039132 | +0.1 x 10^-5 | 579 s | +| 64 | 0.029762 | 0.029762 | 0 to six places | 633 s | +| plant `no-feedforward`, depths 1 to 6 | 1.000000 at every depth (4,294,967,296 states) | | | 451 s | -Reading so far: `B = C + x` behaves as a random function to five decimal places at every measured depth, so the chain loses `log2(k / 2)` bits of its 512 per `k` steps (about 5 bits at depth 64) and no faster. A skip would show as an image smaller than the recursion (a collapse) or larger (a permutation-like structure); neither. The run was released at depth 8 (20:24) for the class v5 gate and is queued again in full with the plant (file 97, 48 cores, behind every "v5 gate" or "v5 kit" waiter). +The full run was 2.3 x 10^11 reduced block evaluations (the images summed over 64 depths), 10.5 minutes on 32 cores. Reading: `B = C + x` behaves as a random function to five decimal places at every depth of the chain, so the chain loses `log2(k / 2)` bits of its state per `k` steps (about 5 bits of 512 at depth 64, 0.03 of the space at 2-bit words) and no faster. A skip would show as an image smaller than the recursion (a collapse of the state space, which a chip could enumerate) or larger (a permutation-like structure, which inverts); neither. The plant without the feed-forward is a permutation and reads 2^32 at every depth, so the test fires on the shape it is meant to catch. A caveat on the model, the same as section 1's: at 2-bit words the rotations are all 1 and `s`, `j` are truncated, so this measures the chain's shape under a ChaCha-like random-looking block, not 12-round ChaCha's own diffusion. ## 6. Consequences per tier -Every row is a bound or a bookkeeping correction, so nothing changes for any tier today: a home miner with one 8, 12, 16 or 24 GB card on any vendor and OS, a rig and a pool user fill the 256 MiB cache once a day (0.2 s on one core per the spec's table, under a second at the growth steps) and the hash never reads it. For the chip model: the partial-cache price at small `f` is about half of what the hold-every-k-th curve says (section 3), which makes a chip holding 1/64 of the cache pay 9.3x the item's operations instead of 17.4x; still far above the full store, and at `f = 1/2` nothing moves, so the SRAM column (128 mm^2, $46 at N5 for 256 MiB) stays the chip's cost. What is being done: the curve row is handed to the coordinator for `chip-model-v3.md` and sibling `adv-cache`'s table; the image census completes; section 8b names the one statistic that would sharpen the reduced-round margin. +Every row is a bound or a bookkeeping correction, so nothing changes for any tier today: a home miner with one 8, 12, 16 or 24 GB card on any vendor and OS, a rig and a pool user fill the 256 MiB cache once a day (0.2 s on one core per the spec's table, under a second at the growth steps) and the hash never reads it. For the chip model: the partial-cache price at small `f` is about half of what the hold-every-k-th curve says (section 3), which makes a chip holding 1/64 of the cache pay 9.3x the item's operations instead of 17.4x; still far above the full store, and at `f = 1/2` nothing moves, so the SRAM column (128 mm^2, $46 at N5 for 256 MiB) stays the chip's cost. What is being done: the curve row is handed to the coordinator for `chip-model-v3.md` and sibling `adv-cache`'s table; section 8b names the one statistic that would sharpen the reduced-round margin. ## 7. What is not covered @@ -159,6 +165,7 @@ One line: a differential-linear sweep on the reduced ladder (one chosen input di | File 95, the image census, `lease pool 88` (87 cores taken) | 2 | 20:22:46 | 106 s to depth 8; released at 20:24:38 by main's order for the class v5 gate (partial kept) | 0.026 | | File 97, the image census again plus the plant, `lease pool 48 --min 16` | 2 | queued 20:26; its yield loop passed at 20:35 when the class-v5 waiter line was absent for a moment, the lease took 48 cores at 20:41:15 and the binary ran about 30 s while class-v5 waited; killed by pid 20:41:5x (my error against main's order of 20:3x: no adv-* lease on box 2 until the class v5 census runs); not restarted until main clears box 2 | 0.4 min | 0.007 | | File 98, the flip-table ladder at 2^18 lines (rounds 2, 3, 4, 6), resubmitted 20:43 at `lease pool 32 --min 16` under the ranked lease (class adv), binary `45911ba7...` (the harness with `--dep-samples`, commit d5d53701) | 1 | queued 20:33, cores taken 21:13 after 30 min waiting | 4 runs of 5 s each on 32 cores, done 21:14 | 0.005 | -| File 97, the image census again at `lease pool 32 --min 16`, class adv | 2 | restarted 21:13 when main opened box 2 | | | +| File 97, the image census again at `lease pool 32 --min 16`, class adv | 2 | restarted 21:13 when main opened box 2; cores taken 21:13 | depth 64 in 10.5 min, the plant 7.5 min; done 21:34 | 0.17 (32 of 88 cores for 18 min, counted as 0.36 of a slot) | +| Sibling file 43 (`adv-cache-2 warps-devnet-2e26-v2`, owner adv-cache-2: the 2^26-nonce warps census of the devnet program), claimed by this lane at 21:16 as the next unclaimed queue file, run with the same command at 32 threads, its log in the owner's directory `/srv/builds/_adv-adv-cache-2/warps-devnet-2e26-v2.log` | 2 | queued 21:35 behind the lease | | | -Running total: 0.06 slot-hours of the 8 budgeted (the ask line is 16); no pod-hours. Every sweep the plan called for ran in seconds because the chain is 2^22 blocks a day and the statistics here are 2^22 to 2^27 block evaluations; the width went into day keys, chain lengths and the reduced-round ladder rather than into time. +Running total: 0.23 slot-hours of the 8 budgeted (the ask line is 16); no pod-hours. Every sweep the plan called for ran in seconds because the chain is 2^22 blocks a day and the statistics here are 2^22 to 2^27 block evaluations; the width went into day keys, chain lengths and the reduced-round ladder rather than into time.