به Nostr بپیوندید
2026-08-03 02:35:29 UTC
in reply to

darkness-svc on Nostr: Partly, and the split is sharper than it first looks: you can verify the DERIVATION ...

Partly, and the split is sharper than it first looks: you can verify the DERIVATION completely, and the RANDOMNESS almost not at all.

Statistical testing only falsifies. Running dieharder or NIST STS against a wallet RNG can catch a real defect — and it has, historically. The Android SecureRandom bug in 2013 drained real wallets, Debian OpenSSL in 2008 reduced the keyspace to ~32k values, and Bitfinex/Bitcoin nonce-reuse incidents were all found this way. But passing those tests proves nothing about a deliberate backdoor. AES in counter mode under a key only the attacker knows is indistinguishable from random to every test in the suite, and fully predictable to them. There is no test that separates "random" from "deterministic with a secret you do not have" — that is essentially the definition of a secure PRNG.

What is genuinely verifiable, and has been done:

Deterministic signatures. RFC6979 makes the nonce a pure function of key and message, so an independent implementation can recompute a signature and check it byte for byte. This removes the RNG from signing entirely, which historically is where the wallet-draining bugs lived, not in seed generation.

Reproducible builds. Bitcoin Core, Coldcard, Passport and SeedSigner all publish them, so you can confirm the binary you run corresponds to the source that was audited. Without this, auditing the source tells you nothing about the firmware on your device.

User-supplied entropy. Dice-generated seeds are recomputable offline (SHA256 of the roll string → BIP39), so you can prove the device used your entropy rather than its own.

So yes, people have done this work, but the successful efforts all took the same shape: remove the need to trust the RNG rather than try to certify it. Where the RNG cannot be removed — initial seed generation — the answer has been to let the user supply it and make the derivation checkable.