Skip to main content

Crate p3_commit

Crate p3_commit 

Source
Expand description

§p3-commit

A framework for cryptographic commitment schemes, including non-hiding variants. This crate defines the traits that connect proof systems to their commitment backends.

Key items:

  • Pcs / MultilinearPcs — polynomial commitment scheme interfaces used by the STARK provers and verifiers
  • Mmcs — “Mixed Matrix Commitment Scheme”, a vector-commitment abstraction over batches of matrices of differing heights
  • PolynomialSpace and TwoAdicMultiplicativeCoset — evaluation-domain abstractions
  • periodic — periodic-column evaluation helpers
  • testing — mock instantiations for downstream tests

Implementations live in p3-merkle-tree (Mmcs), p3-fri, p3-circle and p3-whir (Pcs).

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

Structs§

BatchOpening
A Batched opening proof.
BatchOpeningRef
A reference to a batched opening proof.
ExtensionMmcs
A wrapper to lift an MMCS from a base field F to an extension field EF.
LagrangeSelectors
Given a PolynomialSpace, S, and a subset R, a Lagrange selector P_R is a polynomial which is not equal to 0 for every element in R but is equal to 0 for every element of S not in R.
PeriodicLdeTable
Compact storage for periodic column values on the LDE domain.

Traits§

Mmcs
A “Mixed Matrix Commitment Scheme” (MMCS) is a generalization of a vector commitment scheme.
MultilinearPcs
Polynomial commitment scheme for multilinear polynomials over the Boolean hypercube.
Pcs
A polynomial commitment scheme, for committing to batches of polynomials defined by their evaluations over some domain.
PeriodicEvaluator
Evaluates periodic polynomials for a given domain system.
PolynomialSpace
Fixing a field, F, PolynomialSpace<Val = F> denotes an indexed subset of F^n with some additional algebraic structure.

Type Aliases§

OpenedValues
OpenedValuesForMatrix
OpenedValuesForPoint
OpenedValuesForRound
Val