Skip to main content

Crate p3_fri

Crate p3_fri 

Source
Expand description

§p3-fri

An implementation of the FRI low-degree test (LDT) and a FRI-based polynomial commitment scheme.

Key items:

  • TwoAdicFriPcs — the p3_commit::Pcs instantiation over two-adic multiplicative cosets
  • HidingFriPcs — a zero-knowledge variant that pads traces with caller-supplied randomness
  • FriParameters — blowup, query count, proof-of-work and arity configuration
  • prover / verifier — the underlying FRI folding protocol with configurable per-round arities

Soundness depends on the chosen parameters; see FriParameters docs for how blowup, query count and grinding bits combine into the security level.

Part of Plonky3, dual-licensed under MIT and Apache 2.0.

Modules§

prover
verifier

Structs§

BatchMultiOpening
All queries’ openings of one input batch commitment, sharing one proof.
CommitPhaseMultiStep
All queries’ openings of one commit-phase codeword, sharing one proof.
FriParameters
A set of parameters defining a specific instance of the FRI protocol.
FriProof
HidingFriPcs
A hiding FRI PCS. Both MMCSs must also be hiding; this is not enforced at compile time so it’s the user’s responsibility to configure.
TwoAdicFriFolding
TwoAdicFriPcs
A polynomial commitment scheme using FRI to generate opening proofs.
TwoAdicPeriodicEvaluator
Evaluates periodic polynomials for two-adic multiplicative cosets.

Traits§

FriFoldingStrategy
Whereas FriParameters encompasses parameters the end user can set, FriFoldingStrategy is set by the PCS calling FRI, and abstracts over implementation details of the PCS.

Functions§

build_periodic_lde_table_two_adic
Build the compact periodic LDE table using the two-adic evaluator.
compute_log_arity_for_round
Computes the log_arity for the current round.

Type Aliases§

CommitmentWithOpeningPoints
A joint commitment to a collection of matrices and their opening at a collection of points.
ProverDataWithOpeningPoints
The Prover Data associated to a commitment to a collection of matrices and a list of points to open each matrix at.
TwoAdicFriFoldingForMmcs