Verifiable Randomness Systems
How precommitment prevents post-hoc manipulation in randomness, games, lotteries, and provably fair systems.
Randomness systems don’t usually fail because the math is wrong.
They fail because someone gets to see the outcome before locking their input.
This document explains why precommitment is a non-negotiable requirement for any system that claims to be fair, auditable, or provably random.
Post-hoc cheating happens when a party can adjust their input after observing something they shouldn’t have seen yet.
In randomness systems, this usually looks like:
Even if the random function itself is cryptographically strong, the timing of inputs breaks fairness.
Precommitment means:
A party locks their input before the randomness outcome is known — in a way that can’t be changed later.
This is usually done with a cryptographic hash.
Example: Player secret: S Commitment: H(S)
The key property:
Once the hash is published, the input is frozen.
Cryptographic hashes give us two critical guarantees:
Preimage resistance
You can’t guess the secret from the hash.
Binding
You can’t change the secret without changing the hash.
This makes hashes ideal for commitment without revealing information early.
Let’s look at common failures.
Problem:
Nothing stops the server from retrying internally until it likes the outcome.
Problem:
Player can brute-force seeds until they find a winning one.
Problem:
Inputs can be optimized after seeing the entropy.
With precommitment:
This turns “trust me” systems into verifiable systems.
Any system claiming to be:
Must include:
If any of these steps are missing, fairness collapses under adversarial conditions.
A common misconception is:
“Our RNG algorithm is secure, so we’re safe.”
This ignores the fact that who commits when matters more than the algorithm itself. BlockRand makes sure that committment happens for both before future drand is fixed.
Perfect randomness with bad timing is still unfair.
Precommitment is essential in:
Without it, disputes are unresolvable — because there is nothing to audit.
In the next document, we’ll explore how precommitment combines with future public entropy to prevent even more subtle attacks.