Verifiable Randomness Systems
How to build verifiable randomness systems without smart contracts, on-chain storage, or gas fees.
A common assumption in provably fair systems is that blockchain state is required to make randomness trustworthy.
This leads developers toward smart contracts, on-chain VRFs, and persistent blockchain storage.
In reality, verifiable randomness does not require on-chain state at all.
This document explains how randomness can be:
without smart contracts or blockchain execution.
Blockchains offer three properties developers want for randomness:
Smart contracts seem like the natural place to anchor randomness because they inherit all three.
But they also introduce:
The key question is:
Which of these properties actually require on-chain execution?
For a random outcome to be verifiable, the system must guarantee:
None of these require:
They require cryptography, not consensus.
Commit–reveal protocols are purely cryptographic:
Commit = hash(secret) Reveal = secret Verification = hash(reveal) == commit
This mechanism does not depend on where it runs.
As long as:
The protocol remains sound whether executed:
Public entropy is often conflated with “blockchain randomness.”
In practice, what matters is:
Examples include:
The entropy itself can be referenced by ID, round number, or timestamp — no contract required.
Once inputs are fixed, outcome derivation is deterministic math:
If the algorithm is public and deterministic:
Smart contracts do not add security here — they merely execute math publicly, which is unnecessary if the math is reproducible.
Stateless verification has a key advantage:
It can be performed by anyone, anywhere, at any time.
No need to:
A verifier only needs:
This enables:
There are cases where on-chain state is appropriate:
But randomness generation itself is not one of them.
Randomness answers the question:
“Was this outcome generated fairly?”
Settlement answers a different question:
“What happens after the outcome?”
Conflating the two leads to over-engineered systems.
A clean architecture separates:
Randomness can be:
While settlement can remain:
Blockchain state is optional, not fundamental, for verifiable randomness.
In BlockRand, we use drand public entropy with 3 second granularity.
What matters is:
Once these are satisfied, the randomness protocol stands on its own —
independent of chains, contracts, or gas.