Verifiable Randomness Systems
Random Number Generators (RNGs) are foundational to games, lotteries, casinos, simulations, and distributed systems. Most modern RNG APIs claim to be “secure,” “cryptographic,” or “industry-grade.”
Yet very few are auditable.
This document explains why traditional RNG APIs fundamentally cannot be audited, even when they use strong cryptography.
When an API advertises a secure RNG, it usually means one of the following:
All of this is valuable — but none of it makes the output verifiable after the fact.
Traditional RNG APIs follow this model:
At no point does the user receive:
The randomness may be strong — but the trust is absolute.
A common misconception is that logging or exposing the seed solves auditability.
It does not.
Reasons:
Without a prior commitment, a revealed seed proves nothing.
Even if the RNG algorithm is open source:
Open source improves confidence, not verifiability. Auditability requires cryptographic guarantees, not transparency alone.
In centralized systems, the RNG can adapt its behavior based on context:
Even subtle adaptations break fairness.
Because traditional RNGs are opaque, adaptive manipulation is undetectable.
Many systems rely on statistical randomness tests to “prove” fairness.
This is misleading.
Statistical tests can show:
They cannot show:
Fairness is per-event, not per-distribution.
For an RNG to be auditable, the following must be true:
Traditional RNG APIs fail at the first step. BlockRand does this.
Lack of auditability creates real risks:
This is why many systems rely on reputation rather than proof.
Traditional RNG APIs are:
But they are not auditable.
Auditability requires prior commitment, deterministic replay, and public verification — properties absent from standard RNG designs.
Understanding this distinction is the first step toward building truly fair systems.