/ algorithms / src / polycommit / README.md
README.md
 1  # alphavm-algorithms/polycommit
 2  
 3  This module implements (univariate) *polynomial commitment schemes*. This library was initially developed as part of the [Marlin paper][marlin].
 4  
 5  ## Overview
 6  
 7  A (univariate) polynomial commitment scheme is a cryptographic primitive that enables a party to commit to a univariate polynomial and then, later on, to reveal desired evaluations of the polynomial along with cryptographic proofs attesting to their correctness.
 8  
 9  This library provides various constructions of polynomial commitment schemes. These constructions support committing to multiple polynomials at a time with differing degree bounds, batching multiple evaluation proofs for the same evaluation point into a single one, and batch verification of proofs.
10  
11  The key properties satisfied by the polynomial commitment schemes are **succinctness**, **extractability**, and **hiding**. See [the Marlin paper][marlin] for definitions of these properties.
12  
13  [kzg10]: http://cacr.uwaterloo.ca/techreports/2010/cacr2010-10.pdf
14  
15  ## Profiling
16  
17  This library is instrumented with profiling infrastructure that prints detailed traces of execution time. To enable this, compile with `cargo build --features profiler`.
18  
19  [marlin]: https://ia.cr/2019/1047
20  [sonic]: https://ia.cr/2019/099
21  [aurora-light]: https://ia.cr/2019/601
22  [pcd-acc]: https://ia.cr/2020/499
23  
24  ## Reference papers
25  
26  [Polynomial Commitments][kzg10]     
27  Aniket Kate, Gregory M. Zaverucha, Ian Goldberg     
28  ASIACRYPT 2010
29  
30  [Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updateable Structured Reference Strings][sonic]     
31  Mary Maller, Sean Bowe, Markulf Kohlweiss, Sarah Meiklejohn     
32  CCS 2019
33  
34  [AuroraLight: Improved prover efficiency and SRS size in a Sonic-like system][aurora-light]     
35  Ariel Gabizon     
36  ePrint, 2019
37  
38  [Marlin: Preprocessing zkSNARKs with Universal and Updatable SRS][marlin]     
39  Alessandro Chiesa, Yuncong Hu, Mary Maller, [Pratyush Mishra](https://www.github.com/pratyush), Noah Vesely, [Nicholas Ward](https://www.github.com/npwardberkeley)     
40  EUROCRYPT 2020
41  
42  [Proof-Carrying Data from Accumulation Schemes][pcd-acc]     
43  Benedikt Bünz, Alessandro Chiesa, [Pratyush Mishra](https://www.github.com/pratyush), Nicholas Spooner     
44  ePrint, 2020