Commitment schemes provide an indispensable building block of provably fair algorithms. They are used for storing information to be revealed later, similarly to how envelopes work.
Historically, letters were sealed to prevent message forgery. Attempting to remove an applied seal from its document would most certainly break it. Recipients could verify the invariability of a message by the presence of an intact seal.
Shifting from traditional letters to digital communication, where the demand for protecting information arose. Cryptographic primitives were established, resulting in the invention of digital signatures and commitment schemes.
A commitment is a message concealing a value chosen by the sender.
Commitments have the following properties in common:
- Hiding: The concealed value can only be known by the sender. (Recipients may verify the validity of a commitment once the sender reveals the chosen value.)
- Binding: Only the sender’s chosen value may validate the commitment during the opening phase.
The aforementioned properties grant commitment schemes application in secure coin flipping and multi-party computation (MPC). For example, collision resistant cryptographic hash functions can be used as a commitment function.
In provably fair algorithms, commitment schemes are widely used for computing an unbiased common seed used for generating random numbers.