Crate zkplonk

source ·
Expand description
GitHub issues GitHub

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