Skip to main content

What Is the Difference between a Commitment Scheme and a Zero-Knowledge Proof?

A commitment scheme allows a user to commit to a value without revealing it, with the ability to reveal it later. It guarantees binding (the value cannot be changed) and hiding (the value is secret).

A zero-knowledge proof (ZKP) is more advanced: it allows a user to prove that a statement is true (e.g. "I know the secret value in the commitment") without revealing any information about the statement itself.

ZKPs are often used for privacy and scalability.

What Does ‘Zero-Knowledge’ Mean in the Context of zk-SNARKs?
What Is a Commit-Reveal Scheme and How Does It Deter Malicious Transaction Ordering?
What Is the Difference between a Merkle Proof and a Zero-Knowledge Proof?
How Does a Commit-Reveal Scheme Protect a Trade from Being Front-Run?