Commitments

In a commitment scheme, Alice can commit to a value to obtain a commitment . At some point later, Bob would like for Alice to reveal the committed value behind , and show that indeed Alice was the one that had committed in the first place.

A rough informal sketch of this interaction can be shown as:

sequenceDiagram
	actor A as Alice
	actor B as Bob

  note over A: [x] := Commit(x)
  A ->> B: [x]

  note over A, B: sometime later
  B ->> A: show me!
  A ->> B: x

  note over B: im convinced.

A cryptographic commitment scheme has two notable properties:

  • Hiding: A commitment should reveal nothing about the underlying .
  • Binding: A commitment , should only be revealed to , i.e. for some we shouldn't be able to compute a commitment .