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

Hiding Property

The hiding property is a security guarantee of a commitment scheme that ensures the committed value remains secret and cannot be deduced from the commitment itself before it is opened.
Chainscore © 2026
definition
CRYPTOGRAPHIC PRIMITIVE

What is Hiding Property?

A foundational concept in cryptography that ensures a commitment scheme conceals the underlying data.

In cryptography, the hiding property (or computational hiding) is a security guarantee of a commitment scheme that prevents an adversary from learning any information about the committed value before the reveal phase. This property ensures that the commitment string, often called a commitment or hash digest, acts as a sealed envelope, concealing the original message m. A commitment scheme is only considered secure if it satisfies both the hiding and binding properties, which are complementary: hiding protects the committer's secret, while binding prevents them from changing it later.

The property is formally defined through a security game where an adversary chooses two distinct messages. The challenger commits to one at random, and the adversary must guess which message was chosen. If the adversary's advantage is negligible—meaning no efficient algorithm can do better than random guessing—the scheme is hiding. This is typically achieved by incorporating a random nonce or blinding factor r into the commitment function C = Commit(m, r). Without knowledge of r, deducing m from C should be computationally infeasible.

Hiding is crucial for applications requiring secrecy in interactive protocols. In zero-knowledge proofs, it allows a prover to commit to a witness without revealing it. In blockchain systems, it is used in Merkle trees for privacy-preserving audits and in confidential transactions to hide amounts. A common instantiation is the Pedersen Commitment, which provides perfect hiding (information-theoretic security) under the discrete logarithm assumption, meaning even a computationally unbounded adversary cannot learn m from C.

It is important to distinguish hiding from binding. A scheme can be perfectly hiding but computationally binding, or perfectly binding but computationally hiding, but not both perfectly. The SHA-256 hash function alone, for example, is not a hiding commitment because it is deterministic; an adversary could guess a common message and verify it. Therefore, a secure commitment must combine a cryptographic hash with a sufficient randomness to satisfy the hiding property against realistic adversaries.

how-it-works
CRYPTOGRAPHIC PRIMITIVE

How the Hiding Property Works

A technical deep dive into the hiding property, a core cryptographic concept that ensures data commitment and privacy in systems like blockchain and zero-knowledge proofs.

The hiding property (or binding property) is a cryptographic guarantee of a commitment scheme, ensuring that a committed value remains concealed until it is intentionally revealed. In a commitment scheme, a user first generates a commitment—a cryptographic "sealed envelope"—from a secret value and a random blinding factor. This property dictates that the commitment itself must leak no information about the original secret, making it computationally infeasible for an observer to deduce the committed data. This is foundational for protocols requiring a party to commit to a choice without disclosing it immediately, such as in secure auctions or blockchain transactions.

Technically, hiding is achieved by using a one-way function, like a cryptographic hash (e.g., SHA-256), combined with a sufficiently random nonce or salt. The commitment C is computed as C = H(nonce || value), where H is the hash function. The randomness ensures that even if an attacker knows the set of possible values, they cannot correlate commitments to specific values through brute force. For perfect hiding, information-theoretic security is required, meaning the commitment reveals zero information, but most practical implementations use computational hiding, which relies on the hardness of problems like finding hash collisions or solving discrete logarithms.

In blockchain contexts, the hiding property is critical for confidential transactions and privacy-focused protocols. For example, in Mimblewimble or confidential assets, transaction amounts and sometimes asset types are hidden within commitments, while still allowing the network to verify that no new money was created. The complementary binding property ensures that once committed, the prover cannot later change the underlying value. A secure commitment scheme must possess both properties, though some, like Pedersen commitments, can be tuned for perfect hiding and computational binding, making them a preferred choice in zero-knowledge proof systems like Zcash's zk-SNARKs.

key-features
CRYPTOGRAPHIC PRIMITIVE

Key Features of the Hiding Property

The Hiding Property is a fundamental requirement for cryptographic commitments, ensuring the committed value remains secret until the commitment is opened.

01

Information-Theoretic vs. Computational Hiding

Hiding can be achieved at different security levels. Information-theoretic hiding guarantees secrecy even against an adversary with unlimited computational power, relying on perfect randomness. Computational hiding assumes the adversary's power is bounded, relying on the hardness of problems like the discrete logarithm. Most practical blockchain systems, such as those using Pedersen commitments, employ computational hiding for efficiency.

02

Binding Property Counterpart

The Hiding Property works in tandem with the Binding Property to form a secure commitment scheme. While hiding ensures the value is concealed, binding ensures the committer cannot later change the value to a different one. A secure scheme must satisfy both properties. Some constructions, like Pedersen commitments, achieve perfect hiding and computational binding, while others may have different trade-offs.

03

Role in Zero-Knowledge Proofs

Hiding is essential for zero-knowledge proofs (ZKPs) and zk-SNARKs. Commitments hide the prover's secret witness data while allowing them to prove statements about it. For example, in a transaction, you can commit to an amount and a blinding factor, proving the amount is within valid range without revealing it. This enables confidential transactions in protocols like Zcash and various Layer 2 scaling solutions.

04

Implementation with Hash Functions

A simple hiding commitment can be constructed using a cryptographic hash function: commitment = H(value || randomness). The randomness (or nonce/salt) is crucial for hiding; without it, hashing a small set of possible values is vulnerable to a brute-force attack. This hash-based commitment provides computational hiding under the assumption that the hash function behaves like a random oracle and the randomness is kept secret.

05

Blinding Factors in Commitments

The blinding factor (a random number) is the primary mechanism enabling the hiding property. In a Pedersen commitment C = v*G + r*H, the value v is multiplied by the generator G, and the blinding factor r is multiplied by another generator H. Without knowledge of r, it is computationally infeasible to determine v from C, even if v is known to be from a small set, because r*H acts as a perfectly random mask.

06

Applications in Blockchain

  • Confidential Transactions: Hides transaction amounts (e.g., Mimblewimble, Zcash).
  • Merkle Tree Leaf Hiding: Commits to data in a leaf without revealing it until a proof is provided.
  • Commit-Reveal Schemes: Used in voting, auctions, or random number generation to prevent front-running.
  • ZK-Rollups: Hides state transition details while proving their validity to the main chain.
implementation-examples
HIDING PROPERTY

Common Cryptographic Implementations

The hiding property is a fundamental cryptographic concept where a commitment conceals the original data, requiring a secret to reveal it. These implementations are critical for privacy in blockchain systems.

01

Pedersen Commitment

A homomorphic commitment scheme that allows values to be committed to and later revealed without exposing them initially. It's a cornerstone for confidential transactions.

  • How it works: Uses elliptic curve points. A commitment to value v is C = v*G + r*H, where G and H are public generators and r is a secret blinding factor.
  • Key property: Perfectly hiding and computationally binding. Given commitment C, it's impossible to determine v without r.
  • Primary use: Monero and Mimblewimble-based protocols (e.g., Grin, Beam) use it to hide transaction amounts while allowing for public verification.
02

zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)

A zero-knowledge proof system that enables one party to prove possession of hidden information without revealing it.

  • Hiding mechanism: The witness (private inputs like transaction details) is used to generate a proof, but only the proof and public inputs are revealed. The witness remains completely hidden.
  • Property: Provides zero-knowledge, a stronger form of hiding where even the structure of the secret data is concealed.
  • Blockchain example: Zcash uses zk-SNARKs to hide transaction sender, receiver, and amount while proving the transaction is valid.
03

Merkle Trees & Vector Commitments

Structures that commit to a set of data, allowing a prover to reveal specific elements while hiding the rest.

  • Merkle Tree: A hash-based tree where the root hash commits to all leaf data. To prove inclusion of one leaf, you reveal only the Merkle path (a few hashes), hiding all other leaves.
  • Vector Commitments: More advanced schemes (e.g., using Kate/Zaverucha-Goldberg commitments) that allow proving properties about a vector at a specific position without revealing other positions.
  • Application: Used in privacy-preserving rollups and anonymous credentials to prove membership in a set without exposing the full set.
04

Ring Signatures

A type of digital signature where a signer from a group can produce a signature, but it's cryptographically infeasible to determine which member signed.

  • Hiding property: Hides the signer's identity within an anonymity set (the ring). The signature proves the signer is a valid ring member without revealing which one.
  • Key component: Uses a combination of the signer's private key and the public keys of other decoy members (the ring) to create the signature.
  • Primary use: Monero uses Ring Signatures (specifically Ring Confidential Transactions) to obfuscate the source of funds in a transaction.
05

Commitment Schemes in ECDSA

The Elliptic Curve Digital Signature Algorithm can be adapted with commitments to hide transaction details before they are finalized.

  • Commitment to k: In ECDSA, a random nonce k is used. If k is predictable or reused, the private key can be leaked. Protocols like ECDSA with Commitment first commit to k (hiding it), then later reveal it during signature generation.
  • Application: Used in multi-party computation (MPC) for wallets and threshold signatures, where multiple parties jointly generate a signature without any single party knowing the full private key or the nonce.
  • Purpose: Hides critical intermediate values during the signing process to prevent key extraction attacks.
06

Stealth Addresses

A mechanism that generates a unique, one-time destination address for each transaction, hiding the recipient's main public address on the blockchain.

  • How hiding is achieved: The sender uses the recipient's public view key and spend key to derive a unique stealth address. Only the recipient, using their private view key, can scan the blockchain to find and spend funds sent to these hidden addresses.
  • Effect: Breaks the link on-chain between the recipient's public identity and the transaction output.
  • Implementation: A core privacy feature in Monero and proposed as an enhancement for Ethereum (ERC-5564).
ecosystem-usage
HIDING PROPERTY

Use Cases in Blockchain & Cryptography

The hiding property is a cryptographic guarantee that a commitment's value remains secret until it is revealed. This foundational concept enables privacy and security in decentralized systems.

01

Zero-Knowledge Proofs (ZKPs)

The hiding property is essential for zero-knowledge proofs, where a prover commits to a secret value (e.g., a private key or transaction amount) and proves a statement about it without revealing the value itself. This enables private transactions and identity verification.

  • Example: In Zcash, the hiding property of Pedersen commitments allows users to prove they have sufficient funds for a transaction without revealing the amount or the source.
02

Confidential Transactions

Blockchains use the hiding property to implement confidential transactions, where transaction amounts are encrypted on-chain. A commitment scheme hides the actual value while allowing the network to verify that inputs equal outputs, preventing inflation.

  • Core Mechanism: Pedersen commitments are a standard tool, where a commitment to an amount v is C = v*G + r*H. The random blinding factor r ensures the value v is perfectly hidden.
03

Commitment in Consensus Protocols

The hiding property secures the commit-reveal schemes used in consensus mechanisms and voting. Participants first commit to a choice (e.g., a block hash or vote) using a hidden commitment. They later reveal it, ensuring choices cannot be altered and preventing front-running.

  • Application: Used in Ethereum's RANDAO for beacon chain randomness and in DAO governance for private voting.
04

Merkle Trees & Data Integrity

While Merkle trees primarily provide binding, the hiding property can be incorporated for privacy. A commitment to a Merkle root can hide the contents of the underlying data set until a specific leaf (e.g., a transaction) needs to be revealed with a proof.

  • Use Case: This is a key component in zk-SNARKs and privacy-focused Layer 2 solutions, where the state of the system is committed to without exposing all data.
05

Cryptographic Lotteries & Games

Fair on-chain games and lotteries rely on the hiding property to prevent cheating. All players submit hidden commitments to their moves or numbers. After all commitments are locked, they are simultaneously revealed, ensuring no player can change their input based on others' choices.

06

Binding vs. Hiding Trade-offs

A commitment scheme cannot be perfectly binding and perfectly hiding simultaneously. Perfect Hiding means the commitment reveals zero information about the value. Computational Hiding relies on cryptographic assumptions (like discrete log).

  • Pedersen Commitments: Perfectly hiding, computationally binding.
  • Hash-based Commitments (e.g., H(r||value)): Computationally hiding, perfectly binding. The choice depends on the application's security model.
security-considerations
HIDING PROPERTY

Security Considerations & Levels

The Hiding Property is a cryptographic requirement for commitment schemes, ensuring that a commitment reveals nothing about the committed data before it is opened.

01

Core Cryptographic Definition

The Hiding Property ensures that a commitment scheme conceals the original value (the message). Given only the commitment string, it must be computationally infeasible for any adversary to learn any information about the committed message. This is a formal guarantee of confidentiality during the commitment phase, before the reveal.

02

Binding vs. Hiding

These are the two fundamental security properties of a commitment scheme.

  • Hiding: The commitment does not leak the secret.
  • Binding: The committer cannot change the secret after creating the commitment. A scheme can be perfectly hiding (information-theoretically secure) or computationally hiding (secure under computational assumptions). Often, a trade-off exists where a scheme is strong in one property but weaker in the other.
03

Role in Zero-Knowledge Proofs

Hiding is critical in zk-SNARKs and zk-STARKs. The prover commits to a witness (private data) using a hiding commitment. The proof verifies statements about this committed data without revealing it, relying on the hiding property to guarantee the prover's privacy throughout the protocol.

04

Implementation: Pedersen Commitments

Pedersen Commitments are a standard perfectly hiding scheme. A commitment to value v is computed as C = v*G + r*H, where G and H are public generator points on an elliptic curve and r is a secret blinding factor. Due to the properties of the curve, C reveals zero information about v.

05

Implementation: Hash-Based Commitments

A simple computationally hiding commitment uses a cryptographic hash: C = H(r || m). The randomness r ensures hiding, as without it, H(m) for a small message space is vulnerable to brute-force attacks. Security relies on the pre-image resistance and randomness of the hash function.

06

Security Level Implications

The strength of the hiding property defines the security level.

  • Perfect Hiding: Unconditional security, even against a computationally unbounded adversary. Often paired with computational binding.
  • Computational Hiding: Security depends on the hardness of a problem (e.g., discrete log). The security level is measured in bits (e.g., 128-bit security), indicating the computational effort required to break it.
BLOCKCHAIN FUNDAMENTALS

Common Misconceptions

Clarifying persistent myths and misunderstandings about how blockchain technology, smart contracts, and decentralized systems actually function, separating technical reality from popular hype.

No, most public blockchains like Bitcoin and Ethereum are pseudonymous, not anonymous. Every transaction is permanently recorded on a public ledger, linking a user's activity to their wallet address. While the address itself doesn't contain personal information, sophisticated chain analysis can often deanonymize users by correlating transaction patterns, exchange interactions, and off-chain data. True anonymity requires specific privacy-focused protocols like zk-SNARKs (used by Zcash) or confidential transactions.

HIDING PROPERTY

Frequently Asked Questions

Answers to common questions about the Hiding Property, a core cryptographic mechanism in the Mina Protocol that enables succinct, privacy-preserving blockchain applications.

The Hiding Property is a cryptographic feature of the zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) proof system used in the Mina Protocol. It ensures that the data committed within a zk-SNARK proof remains completely confidential, revealing only the proof's validity. This property is fundamental to enabling private transactions and computations on a public blockchain. It allows users to prove they have satisfied certain conditions—like having sufficient balance for a transaction—without exposing the specific amounts, addresses, or other sensitive details involved. The commitment is cryptographically bound to the data, but the data itself is hidden, providing both privacy and verifiability.

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 direct pipeline
Hiding Property: Definition in Cryptography & ZKPs | ChainScore Glossary