CHECKPOINT FORENSICS / AUDIT
BLACKWELLS REQUIRED 0000
00 / 06
An interactive audit · six exhibits

The fingerprint
that fits on a laptop.

A working reproduction of the “1,385σ Blackwell” checkpoint-forensics claim — and the three places where it stops being evidence. Every number on this page was produced by the audit code in poc/, on the test machine — an RTX 4070 Ti SUPER — or on no GPU at all.

10,244,352 parameters reproduced bit-exactly on a CPU
256 / 256 bit-exact match for a forged “GB200” checkpoint
1 optimizer step needed to erase the fingerprint
01 · The mechanism

The GPU fingerprint is one integer.

PyTorch’s CUDA random-number kernels size their launch grid from two device properties — and that grid is the only way the hardware enters the random stream. Reproduce the grid, and you reproduce the “fingerprint”, on anything.

grid = min( ceil(N/256) , SMs × (threads_per_SM / 256) )

Click a device — the wall, the barcode and the number all change.

1,184= 148 × 8
B200 / GB200 · the entire information content of “GB200”
148 SMs× 8 blocks/SM = 1,184 cells
Every “hardware fingerprint” his method can read is one of these cells.

The first 101,376 values of the Ada stream and the GB200 stream are identical. They diverge only where the launch-grid cap begins to bite.

02 · The forgery

We minted a Blackwell checkpoint on the CPU.

The forensic method is a faithful reimplementation: brute-force the seed and the launch grid, regenerate the initialization, count bit-exact values. It is perfect on step-0 data — including data generated by NumPy three seconds ago.

$ waiting for you to commit a crime against epistemology…
hardware used0 GPUs
wall time3.03 s
verdict—

Test machine: RTX 4070 Ti SUPER · Ada · 66 SMs · 16 GB · 0 Blackwells. The forged checkpoint is bit-identical to what a 148-SM device would emit — because the only difference is the integer 1184.

03 · The training

One optimizer step and it’s gone.

A real 10.2M-parameter transformer, initialized on the GPU, trained with AdamW. Drag the slider and watch the fraction of parameters that are still bit-identical to step 0.

optimizer steps 0
100.000%bit-identical to step 0
1.000000cosine similarity
∞reported “sigma”
256/256detector match

Step 0 is the only moment his “bit-for-bit” claim is even well-defined. It is also the one checkpoint no lab ever publishes.

04 · The statistics

1,385σ and 0.999995 cannot both be true.

Significance grows with sample count: z = r·√N / √(1−r²). A correlation of 0.999995 over a billion weights is ~107σ. To get 1,385σ at that correlation you need about 19 independent samples. The two headline numbers are not measurements of the same thing.

10,000,000σ his 0.999995, applied to 10⁹ weights

His reported range, 49–1,385σ, sits below the 369,435σ our RTX-4070-initialized model produces after a single optimizer step. The number measures sample size and distance from init — not hardware.

05 · The inference

Init is not training. It costs about a hundred dollars.

Initialization is a one-time, I/O-bound step every training run performs anyway. Moving it to rented Blackwell hardware is a cloud invoice, not a smuggling operation — and it leaves exactly the fingerprint he describes.

$50–150one rented 8-GPU Blackwell node, one hour
0Blackwells a lab needs to own
$0marginal cost if you were initialising anyway
“do not establish the physical location of the chips, how they were acquired, or whether export control regulations were violated” — the report’s own executive summary

A layout match is consistent with a legal rented node, a partner lab, a cloud region, a deliberate decoy, a stale config, or a genuinely smuggled cluster. It cannot tell them apart. That is not a forensic result; it is a Rorschach test with a p-value.

06 · The point

A PRNG can be made
to say anything.

Every number on this page came from the audit code in poc/, running on the test machine — an RTX 4070 Ti SUPER — or on no GPU at all. The “smoking gun” took three seconds and cost nothing. The training cluster it supposedly proves was never observed.

0 Blackwells required · seed 424242 · 256/256 · 3.03 s