Skip to content

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.

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.