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:
If you want to see library usage examples, please check: https://github.com/dusk-network/plonk/tree/v0.1.0/examples
Ideally we should cleanly abstract away the polynomial commitment scheme
We note that PLONK makes use of the linearisation technique
conceived in SONIC [Mary Maller]. This technique implicitly requires the
commitment scheme to be homomorphic.
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.
FFT module contains the tools needed by the Composer backend
to know and use the logic behind Polynomials. As well as
the operations that the
Collection of functions needed to use plonk library.
This is an extension over the Merlin Transcript which adds a few extra functionalities.