Crypto glossary
Commitment scheme
A commitment scheme lets someone lock in a value now without revealing it, then open it later in a way that proves it was not changed in between.
A commitment works like a sealed envelope. The committer publishes a short value derived from their secret plus randomness; later they reveal the secret and the randomness, and anyone can check that it matches. A good scheme has two properties: hiding, so the commitment reveals nothing about the value, and binding, so the committer cannot later open it to a different value.
The simplest version is a hash of the value with a random salt. More advanced schemes have extra features. Pedersen commitments can be added together without opening them, which lets privacy coins such as Monero and confidential transaction designs hide amounts while proving that inputs equal outputs. Polynomial commitments such as KZG let a prover commit to a large dataset and later prove individual values cheaply. Merkle roots commit to whole sets of data.
Commitments are building blocks for zero-knowledge proofs, rollups, voting systems, auctions and on-chain games. Their security depends on the underlying assumption, such as hash collision resistance or the hardness of discrete logarithms, and on using fresh randomness; a predictable salt can make a hidden value guessable.
Example
In an on-chain game, each player publishes the hash of their move plus a random number; once both have committed, they reveal the moves, and neither could have changed theirs after seeing the other's.
