Commit-Reveal Random Draw¶
Cryptographic protocol — instantiates Strategic Randomization and Exploitability Reduction
A two-phase protocol that publishes a sealed commitment to a random value before acting and reveals it afterward, so a draw can be proven fair and unforeknown without exposing it in advance.
A Commit-Reveal Random Draw solves a narrow but sharp problem: how do you later prove a random choice was fair when you cannot show it in advance without handing the answer to an adversary? The protocol splits the draw into two phases. First you commit — publish a cryptographic hash of your random value (plus a secret nonce), which locks the value in without disclosing it. You act on the value. Then you reveal — publish the value and nonce, and anyone can hash them to confirm they match the earlier commitment. Its defining move is sequencing in time: the commitment binds you to a specific draw before the outcome matters, and the reveal makes the single draw auditable after the fact. It is a proof about one draw's integrity, not a service that generates many draws.
Example¶
A blockchain protocol must pick which validator proposes the next block. If the choice were computable in advance, an attacker could bribe or attack exactly the validator about to be selected. A naive on-chain random number is worse: whoever computes it last can bias it. The protocol uses a commit-reveal scheme in the spirit of RANDAO.[n1] In the commit phase, many participants each submit the hash of a secret number. Once all commitments are locked, the reveal phase opens: each participant discloses their number, every node checks it against the committed hash, and the revealed numbers are combined into the seed that selects the proposer.
The result is a draw nobody could foresee — before reveal, the seed is unknowable — yet one everybody can verify afterward: the chain permanently records both the commitments and the reveals, so any observer can replay the hash checks and confirm the proposer was chosen by an untamperable process, not hand-picked. A participant who tries to withhold their reveal because they dislike the emerging outcome is detectable and penalized, precisely because their commitment is already on the record.
How it works¶
- Commit under a hash. Publish
hash(value ‖ nonce); the hash reveals nothing about the value but pins you to it — you cannot later swap in a different value that produces the same hash. - Act while sealed. The value stays secret through the operational window, so no adversary can anticipate the draw from the commitment alone.
- Reveal and verify. Disclose value and nonce; any observer recomputes the hash and checks it equals the commitment, confirming the draw was fixed before it mattered.
- Combine to defeat last-mover bias. Where one party could bias a solo draw, many commitments are XORed or summed so no single late revealer controls the outcome.
Tuning parameters¶
- Commitment window — how long between commit and reveal. A longer window protects the operational secret but delays the audit and widens the chance of a withheld reveal.
- Number of committers — solo versus many-party. More independent committers make last-mover manipulation harder but complicate coordination and penalty logic.
- Withheld-reveal penalty — the cost of committing then refusing to reveal. Steeper penalties deter selective aborts but can punish honest participants who genuinely lose their nonce.
- Hash and nonce strength — the commitment's binding and hiding strength. Stronger constructions resist forgery and pre-image guessing at negligible extra cost, so this dial is usually set high.
When it helps, and when it misleads¶
Its strength is resolving the archetype's central trade-off between secrecy and accountability in time: the draw is hidden exactly when concealment matters and provable exactly when scrutiny does, with no trusted referee required. It shines wherever an actor will later be accused of rigging a random choice and must answer with evidence rather than assurance — the accountability invariant satisfied without sacrificing future unpredictability.
Its failure mode is the withheld reveal (a "selective abort"): a committer who dislikes the outcome refuses to open, biasing the result unless penalties and fallbacks are designed in. It also protects only integrity, not entropy — if a committer's secret value is itself guessable, the commitment faithfully seals a weak draw, so the protocol is no better than the randomness fed into it. The classic misuse is a single-party commit-reveal, which stops the party lying about the value but not from choosing a convenient one before committing. The guarding discipline is to combine many independent commitments, penalize non-reveals, and source each committer's value from real entropy — commit-reveal proves when a value was fixed, never that it was well-chosen.
How it implements the components¶
private_randomness_source— the committed secret value (and nonce) is a draw held privately through the action window; the hash keeps the source unexposed until reveal.observability_and_leakage_guard— the commitment is engineered to leak nothing about the value, closing the side channel by which an observer might infer the draw early.audit_and_accountability_record— the paired commitment and reveal form a permanent, replayable record proving the draw was fixed in advance and untampered.
It does not run a probability_policy or a stratified_randomization_layer — deciding the weights and drawing many stratified assignments at scale is Random-Seeded Assignment Service; commit-reveal attests to the integrity of a single draw, not the shape or volume of the distribution.
Related¶
- Instantiates: Strategic Randomization and Exploitability Reduction — provides the delayed-auditability guarantee the archetype uses to reconcile operational secrecy with accountability.
- Sibling mechanisms: Random-Seeded Assignment Service · Entropy Budget Dashboard · Mixed-Strategy Policy Table · Exploitability Matrix Review · Adversarial Bandit Exploration Policy · Randomized Patrol or Route Schedule · Randomized Decoy Rotation · Red-Team Predictability Test · Stochastic Challenge or Audit Timing
Editorial Notes¶
Form Classification¶
Form family: Protocol, Workflow & Routine
Rationale: A two-phase protocol that publishes a sealed commitment to a random value before acting and reveals it afterward, so a draw can be proven fair and unforeknown without exposing it in advance, making its operative form a repeatable ordered procedure or handoff sequence coordinating action.
Independent corroboration: The frozen evidence defines Commit-Reveal Random Draw as 'A two-phase protocol that publishes a sealed commitment to a random value before acting and reveals it afterward, so a draw can be proven fair and unforeknown without exposing it in advance', so its operative form is Protocol, Workflow & Routine.
Review outcome: Independent reviewer agreement; high confidence.
Origin Attribution¶
Primary origin: Computer Science & Software Engineering
Origin pattern: Single lineage
Present-day reach: Multi-domain
Rationale: Cryptographic protocol design cohered hash-based commit-then-reveal as a way to bind hidden randomness before an auditable opening.
Review resolution: Both reviewers agree on computer_science as primary. Reading the source mechanism confirms that its defining operation belongs to that lineage; the final record retains no independently formative alternate lineage only where it materially formed the mechanism and keeps present-day application breadth separate from provenance.
Review outcome: Reconciled after independent review; high confidence.
Notes¶
[n1] RANDAO is a commit-reveal randomness scheme used in Ethereum's proof-of-stake consensus, in which many validators contribute committed secret values that are later revealed and mixed to produce a beacon seed. Its known weakness — a last revealer can bias the result by choosing to withhold — is the concrete form of the "withheld reveal" failure mode and is why the design combines many contributors. ↩