Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Reveal Phase

The reveal phase is the stage in an NFT minting process where pre-committed metadata or traits are publicly disclosed and linked to the minted tokens.
Chainscore © 2026
definition
BLOCKCHAIN CONSENSUS

What is Reveal Phase?

The Reveal Phase is a critical step in commit-reveal schemes, a cryptographic pattern used in blockchain protocols to ensure fairness and prevent front-running in processes like voting, random number generation, and auctions.

The Reveal Phase is the second stage in a commit-reveal scheme, where participants publicly disclose the original data they previously committed to during the Commit Phase. In the first phase, users submit a cryptographic hash—a one-way, fixed-length digest—of their secret data (e.g., a vote, bid, or random number). This commitment binds them to their choice without revealing it. The Reveal Phase is the moment of truth, where the actual data is broadcast to the network. The protocol then verifies the revealed data by hashing it and checking that it matches the original commitment. This two-step process prevents malicious actors from changing their input after seeing others' submissions, a common attack vector known as front-running or adaptively changing one's mind.

This mechanism is foundational for achieving consensus on subjective data in decentralized systems. Key use cases include on-chain voting (where votes remain secret until the reveal to prevent coercion), verifiable random functions (VRFs) (where random number generation must be provably fair), and sealed-bid auctions. In a blockchain context, the phases are typically separated by a predetermined number of blocks, ensuring a clear and enforceable timeline. The security relies on the cryptographic properties of the hash function: it must be preimage-resistant so the secret cannot be deduced from the commitment, and collision-resistant so a user cannot find a second valid input that hashes to the same value.

A practical example is an on-chain lottery. In the Commit Phase, each participant sends a hash of their chosen number. Once the commit period ends, the Reveal Phase begins, and participants must send their plaintext number. The contract validates each reveal against its stored hash. Only then can a winner be determined fairly, using the now-public revealed numbers. Failure to reveal within the phase typically results in a forfeit, with any locked funds being slashed or redistributed. This design ensures the protocol's outcome is deterministic and auditable only after all parties are irreversibly locked into their initial, secret choices.

how-it-works
BLOCKCHAIN CONSENSUS

How the Reveal Phase Works

The reveal phase is the second and final stage of a commit-reveal scheme, a cryptographic protocol used in blockchain systems to ensure fairness and prevent front-running in processes like voting, random number generation, or on-chain auctions.

In the reveal phase, participants publicly disclose the secret data—often a random number or a vote—that they previously committed to during the commit phase. This disclosure must match the cryptographic hash they submitted earlier. The system then verifies the revealed value by hashing it and comparing it to the original commitment stored on-chain. If the hash matches, the reveal is valid and the participant's input is accepted into the final computation. This two-step process ensures that all inputs are fixed and immutable before they are known, preventing participants from changing their submission based on others' actions.

The mechanics rely on a one-way hash function like SHA-256. During the commit phase, a user generates a secret s and a random salt r, then broadcasts the hash H(s, r). Later, in the reveal phase, they broadcast the pair (s, r). Any network participant can verify the commitment by checking that H(revealed s, revealed r) equals the originally published hash. This binding property ensures the user cannot reveal a different value, while the hiding property of the hash kept the secret safe until the reveal. A common implementation is the commit and reveal function pattern in smart contracts.

A primary use case is in verifiable random functions (VRF) and on-chain lotteries. For example, in a blockchain game determining a prize winner, all players submit commitments. After the commit window closes, they reveal their numbers. The contract verifies each reveal and then uses the collective revealed data to compute a provably fair random outcome. This prevents a last-minute participant from seeing others' numbers and submitting a winning value. Other critical applications include decentralized governance voting, where it hides voting patterns until the poll closes to reduce bias, and sealed-bid auctions, where it prevents bid sniping.

key-features
CRYPTOGRAPHIC COMMITMENT

Key Features of a Reveal Phase

The Reveal Phase is the second stage in a commit-reveal scheme, where participants disclose previously hidden data to prove their earlier commitment was valid.

01

Disclosure of Preimage

Participants must reveal the original data (the preimage) that was used to generate their earlier cryptographic commitment hash. This proves they committed to a specific value without revealing it prematurely. For example, in a blind auction, bidders reveal their actual bid amount.

  • Core Action: Submitting the secret that matches the hash.
  • Verification: The network hashes the revealed data to check it matches the stored commitment.
02

Time-Bound Window

The Reveal Phase operates within a strictly defined time window or block height. Participants must submit their reveal transaction before this period expires.

  • Purpose: Prevents indefinite delays and ensures protocol finality.
  • Consequence: Failure to reveal within the window typically results in the forfeiture of any staked collateral or the loss of voting/participation rights for that round.
03

On-Chain Verification

Every reveal is validated on-chain by the protocol's smart contract or consensus rules. The contract recomputes the hash of the revealed data and compares it to the stored commitment from the previous phase.

  • Trustless Execution: No trusted third party is needed; correctness is enforced by code.
  • Gas Costs: Revealing transactions incur gas fees, which is a consideration for protocol design.
04

Collateral & Slashing

Many commit-reveal schemes require participants to post collateral (e.g., ETH, protocol tokens) during the commit phase. This collateral is at risk (slashed) if the participant acts maliciously or fails to reveal.

  • Security Mechanism: Deters grinding attacks and spam by making dishonest behavior costly.
  • Example: In Optimistic Rollup fraud proofs, a validator must commit and later reveal a fraud proof, with slashing for invalid claims.
05

Prevents Front-Running & Manipulation

By separating commitment from revelation, this scheme prevents others from seeing and copying or manipulating a participant's action before it's finalized.

  • Use Case: DAO voting on sensitive proposals, where early visibility could influence other voters.
  • Use Case: Random number generation (RNG) where the seed is committed first, then revealed after all bets are placed.
06

Link to Commit Phase

The Reveal Phase is functionally meaningless without the preceding Commit Phase. The two-phase structure is what provides security.

  • Data Dependency: Each reveal must reference a specific, valid commitment transaction hash.
  • State Transition: The protocol's state (e.g., election result, auction winner, RNG output) is only finalized after all valid reveals are processed and verified.
technical-mechanism
TECHNICAL MECHANISM

Reveal Phase

The Reveal Phase is the second stage in a commit-reveal scheme, a cryptographic protocol used in blockchain systems to ensure fairness and prevent front-running in processes like voting, random number generation, or NFT minting.

In the Reveal Phase, participants submit the original data that corresponds to a cryptographic commitment they made in a prior Commit Phase. This typically involves sending the original preimage—such as a random number or a specific vote—along with the salt used to generate the commitment hash. The network or smart contract then verifies the submission by hashing the revealed data and comparing it to the previously stored commitment. If the hashes match, the reveal is valid, and the participant's intended action is executed. This two-step process ensures that choices are made secretly first and then provably revealed, preventing manipulation based on others' submissions.

The core cryptographic guarantee of this phase is binding and hiding. The commitment is binding because a participant cannot reveal a different value than the one originally committed to without breaking the cryptographic hash function. It is hiding because the commitment hash reveals no information about the original data until the reveal. This mechanism is fundamental to fair sequencing in decentralized applications, as seen in VRF (Verifiable Random Function) oracles for randomness or in blind auctions where bids are kept secret until the auction closes. A failed reveal, where a participant does not submit their data in time or submits an invalid proof, typically results in a forfeit, such as losing a staked deposit.

In practical blockchain implementations, the Reveal Phase is often managed by a smart contract. For example, in an NFT allowlist mint, users might commit a hash of their address and a secret during the commit window. Later, during the reveal phase, they must submit that exact address and secret to claim their minting right. The contract's reveal function performs the verification. This pattern mitigates gas wars by preventing users from reacting to the blockchain's state in real-time, as all valid commitments must be made before any reveals begin. It transforms a potentially chaotic, speed-based process into a fair, batch-revealed event.

common-use-cases
REVEAL PHASE

Common Use Cases & Examples

The Reveal Phase is the final stage in a commit-reveal scheme where participants disclose their previously committed data. This section explores its primary applications in blockchain systems.

01

On-Chain Voting & Governance

The Reveal Phase is critical for secure, anonymous voting on DAO proposals. Voters first commit a hash of their vote during a commit period. In the subsequent Reveal Phase, they submit the original vote and salt, allowing the smart contract to verify it matches the earlier commitment. This prevents vote buying and coercion, as final votes are only known after the commitment window closes.

  • Example: Aragon and early MolochDAO implementations use this pattern.
  • Key Benefit: Ensures vote secrecy until the commitment period ends, preserving the integrity of the decision-making process.
02

Fair Random Number Generation (RNG)

Commit-reveal is a foundational mechanism for generating provably fair random numbers on-chain, essential for NFTs, gaming, and lotteries. Multiple participants each commit a hash of a secret number. After all commitments are locked in, the Reveal Phase begins, where each participant discloses their number. The final random seed is computed from the combination of all revealed values. This prevents any participant from manipulating the outcome after seeing others' inputs.

  • Prevents Back-running: No one can change their submitted number after seeing others.
  • Use Case: Chainlink VRF and other RNG oracles use a sophisticated version of this principle.
03

Sealed-Bid Auctions

In blockchain-based sealed-bid auctions, the Reveal Phase ensures bid confidentiality and finality. Bidders submit a cryptographic commitment (hash of bid amount + secret) before the deadline. When the Reveal Phase opens, bidders must reveal their actual bid and secret. The smart contract verifies the reveal against the commitment and the highest valid bid wins. This process prevents bidders from adjusting their bids based on others' actions during the bidding period.

  • Guarantees Fairness: All bids are hidden until the auction closes.
  • Consequence: Bidders who fail to reveal forfeit any locked collateral, ensuring serious participation.
04

Anti-Frontrunning in MEV Protection

Commit-reveal schemes can mitigate Maximal Extractable Value (MEV) and frontrunning. Users submit a transaction commitment (hash of tx data + fee) to a private mempool. During the Reveal Phase, the actual transaction is broadcast. This creates a time delay between when the intent is known to the network and when it can be executed, reducing the window for predatory bots to frontrun the trade. While not a complete solution, it adds a layer of protection.

  • Limitation: Requires protocol-level or mempool-level integration.
  • Trade-off: Introduces latency in exchange for improved transaction privacy.
05

The Challenge: Failed Reveals & Penalties

A major practical consideration is handling participants who commit but do not reveal. This can stall processes like RNG or auctions. Systems mitigate this with slashing mechanisms or deposit forfeiture. For example, in a random number scheme, participants may be required to stake ETH when they commit; if they fail to reveal, they lose their stake. This incentivizes timely participation in the Reveal Phase.

  • Economic Security: Penalties must be high enough to disincentivize denial-of-service attacks.
  • Design Choice: The penalty model is a core part of any commit-reveal system's security.
06

Technical Implementation Pattern

The Reveal Phase is executed via a smart contract function, typically reveal(). The function logic:

  1. Checks that the current block is within the reveal period.
  2. Validates that the caller has a pending commitment.
  3. Hashes the provided message and salt using keccak256.
  4. Verifies the computed hash matches the stored commitment.
  5. Processes the revealed data (e.g., tallies a vote, computes a random seed).
  6. Deletes the commitment to prevent replay.
  • Core Function: require(commitments[msg.sender] == keccak256(abi.encodePacked(message, salt)), "Invalid reveal");
  • State Transition: Moves the system from a committed state to a resolved state.
NFT MECHANICS

Comparison: Pre-Reveal vs. Post-Reveal NFT

Key differences in metadata, utility, and market behavior of NFTs before and after the reveal event.

FeaturePre-Reveal NFTPost-Reveal NFT

Metadata State

Placeholder or obfuscated (e.g., hash)

Final, on-chain or immutable URI

Visual Identity

Generic placeholder image

Unique, final artwork or asset

Rarity & Traits

Unknown, based on probability

Known and verifiable on-chain

Primary Market Price

Often uniform (mint price)

Market-driven, based on revealed traits

Secondary Market Liquidity

Lower, speculative on potential

Higher, based on known attributes

Reveal Mechanism Dependency

Requires successful reveal event

Independent, final state achieved

Smart Contract Interaction

Calls reveal function

Standard NFT transfers & approvals

User Certainty

Speculative purchase

Informed purchase

security-considerations
REVEAL PHASE

Security & Trust Considerations

The Reveal Phase is a critical period in commit-reveal schemes where participants disclose previously committed data, enabling final verification and settlement. This phase introduces specific security and trust challenges that must be managed.

01

Timing Attacks & Front-Running

The sequential nature of reveals can expose participants to timing attacks. Malicious actors can monitor the blockchain for early reveals and attempt to front-run or grief later participants by manipulating transaction fees or submitting invalid reveals to disrupt the process. This is mitigated by using cryptographic commitments (like hash functions) that make the initial commit unguessable.

02

Data Availability & Withholding

A core security assumption is that committed data will be available for the reveal. A data withholding attack occurs when a participant commits to data but never reveals it, potentially stalling the protocol or causing a loss of funds (e.g., in auctions or lotteries). Solutions include:

  • Slashing mechanisms that penalize unrevealed commits.
  • Deposits or bonds that are forfeited upon failure to reveal.
  • Fallback values that trigger after a timeout.
03

Cryptographic Commitment Integrity

The security of the entire scheme hinges on the cryptographic binding and hiding properties of the commitment function (e.g., SHA-256).

  • Binding: It must be computationally infeasible to find two different inputs (data1, data2) that produce the same commitment hash. A break here allows equivocation.
  • Hiding: The commitment must not leak any information about the original data before the reveal. A break here enables pre-computation attacks.
04

Trust in Randomness Generation

In applications like random number generation (RNG) or leader election, the reveal phase aggregates individual secrets to produce a final, unbiased result. This requires trust minimization:

  • No single participant should be able to bias the final output by choosing when or what to reveal.
  • The protocol must be verifiably fair, allowing anyone to cryptographically verify that the revealed values correctly correspond to the initial commitments and produce the declared result.
05

Verification & Finality

The reveal phase transitions the system from a state of conditional promises to cryptographic finality. Each reveal must be publicly verifiable against its commitment on-chain. Key checks include:

  • Validating that hash(revealed_data + salt) == original_commitment.
  • Enforcing that reveals occur within a strict, predefined time window.
  • Ensuring the logic for processing reveals (e.g., tallying votes, selecting a winner) is deterministic and tamper-proof once all data is public.
06

Economic Incentives & Game Theory

Security is enforced through cryptoeconomic design. The protocol must structure incentives so that honest revelation is the dominant strategy in the game-theoretic model. This involves:

  • Rewards for successful participation in the reveal phase.
  • Penalties (slashing) for non-participation or fraudulent reveals.
  • Cost analysis ensuring that the cost of attacking (e.g., bribing, withholding) exceeds the potential profit, making attacks economically irrational.
REVEAL PHASE

Frequently Asked Questions (FAQ)

The Reveal Phase is a critical step in cryptographic commitment schemes, such as those used in blockchain voting, randomness generation (VRFs), and Layer 2 solutions. This section answers common questions about its purpose, mechanics, and security implications.

The Reveal Phase is the second stage in a two-step commit-reveal scheme, where a participant discloses the original data that was cryptographically committed to in a prior Commit Phase. This mechanism prevents front-running and ensures fairness by forcing participants to lock in their choices or inputs before revealing them. For example, in a decentralized voting application, users first submit a hash of their vote (the commitment). Later, during the Reveal Phase, they submit the actual vote and the random salt used to create the hash. The network verifies the revealed data matches the earlier commitment before accepting the vote as valid. This process guarantees that votes cannot be changed after seeing others' submissions.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
Reveal Phase: NFT Metadata Disclosure Stage | ChainScore Glossary