Expand description
Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge (PLONK) is a zero knowledge proof system.
This protocol was created by:
- Ariel Gabizon (Protocol Labs),
- Zachary J. Williamson (Aztec Protocol)
- Oana Ciobotaru
This crate contains a pure-rust implementation done by the DuskNetwork team of this algorithm using as a reference implementation this one done by the creators of the protocol:
https://github.com/AztecProtocol/barretenberg/blob/master/barretenberg/src/aztec/plonk/
Modules
- Ideally we should cleanly abstract away the polynomial commitment scheme We note that PLONK makes use of the linearization technique conceived in SONIC [Mary Maller].
- The constraint System module stores the implementation of the PLONK Standard Composer, as well as the circuit tools and abstractions, used by the Composer to generate, build, preprocess circuits.
- This module is a self contained file which explains how PLONK and its protocol components work in our library.
- Collection of functions needed to use plonk library.
Structs
- Construct and prove circuits
- Generate the arguments to prove and verify a circuit
- Turbo Prover with processed keys
- Verify proofs of a given circuit