/ constantine / commitments / README.md
README.md
 1  # Commitment schemes
 2  
 3  https://en.wikipedia.org/wiki/Commitment_scheme
 4  
 5  > A commitment scheme is a cryptographic primitive that allows one to commit to a chosen value (or chosen statement) while keeping it hidden to others, with the ability to reveal the committed value later. Commitment schemes are designed so that a party cannot change the value or statement after they have committed to it: that is, commitment schemes are binding.
 6  
 7  ## Use-cases
 8  
 9  An important use-case missing from the Wikipedia article is:
10  
11  "There exists a bundle of transactions that change the state of my database/ledger/blockchain to this state.". The whole bundle is not needed, only a short proof.
12  
13  ## KZG Polynomial Commitments
14  
15  - Constant-Size Commitments to Polynomials and Their Applications\
16    Kate, Zaverucha, Goldberg, 2010\
17    https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf\
18    https://cacr.uwaterloo.ca/techreports/2010/cacr2010-10.pdf
19  
20  - KZG commitments from the Lagrange basis without FFTs
21    Drake, 2020
22    https://ethresear.ch/t/kate-commitments-from-the-lagrange-basis-without-ffts/6950
23  
24  - KZG Multiproofs
25    Feist, Khovratovich, 2020
26    https://dankradfeist.de/ethereum/2021/06/18/pcs-multiproofs.html\
27    https://github.com/khovratovich/Kate/blob/master/Kate_amortized.pdf