Module dusk_plonk::prelude
source · [−]Expand description
Collection of functions needed to use plonk library.
Use this as the only import that you need to interact with the principal data structures of the plonk library.
Re-exports
pub use crate::circuit;
pub use crate::circuit::Circuit;
pub use crate::circuit::PublicInputValue;
pub use crate::circuit::VerifierData;
pub use crate::error::Error;
Structs
Represents an element of the scalar field $\mathbb{F}_q$ of the BLS12-381 elliptic curve construction.
CommitKey is used to commit to a polynomial which is bounded by the max_degree.
Constraint representation containing the coefficients of a polynomial evaluation
This represents a Jubjub point in the affine (x, y)
coordinates.
This represents an extended point (X, Y, Z, T1, T2)
with Z
nonzero, corresponding to the affine point
(X/Z, Y/Z)
. We always have T1 * T2 = XY/Z
.
Represents an element of the scalar field $\mathbb{F}_r$ of the Jubjub elliptic curve construction.
Opening Key is used to verify opening proofs made about a committed polynomial.
A Proof is a composition of Commitment
s to the Witness, Permutation,
Quotient, Shifted and Opening polynomials as well as the
ProofEvaluations
.
PLONK circuit Proving Key.
The Public Parameters can also be referred to as the Structured Reference String (SRS). It is available to both the prover and verifier and allows the verifier to efficiently verify and make claims about polynomials up to and including a configured degree.
The TurboComposer is the circuit-builder tool that the dusk-plonk
repository provides so that circuit descriptions can be written, stored and
transformed into a Proof
at some point.
PLONK circuit Verification Key.
Witness data indexed in a TurboComposer
instance
Represents a JubJub point in the circuit