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