Crate dusk_plonk[][src]

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/

If you want to see library usage examples, please check: https://github.com/dusk-network/plonk/tree/v0.1.0/examples

Re-exports

pub use dusk_bls12_381 as bls12_381;
pub use dusk_jubjub as jubjub;

Modules

circuit

Tools & traits for PLONK circuits

commitment_scheme

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].

constraint_system

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.

error

A collection of all possible errors encountered in PLONK.

prelude

Collection of functions needed to use plonk library.

proof_system

Proving system