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