Expand description
Backend for proving and verifying mixed-matrix STARKs. The backend is designed to be modular and compatible with different proof systems. The aim is to support different circuit representations and permutation/lookup arguments.
Re-exports§
pub use p3_air;
pub use p3_challenger;
pub use p3_commit;
pub use p3_field;
pub use p3_matrix;
pub use p3_maybe_rayon;
pub use p3_util;
Modules§
- AIR builders for prover and verifier, including support for cross-matrix permutation arguments.
- API trait for circuit prover/verifier.
- Types for tracking matrix in system with multiple commitments, each to multiple matrices.
- Helper types associated to generic STARK config. StarkGenericConfig and associated types. Originally taken from Plonky3 under MIT license.
- Trait for STARK backend engine proving keygen, proviing, verifying API functions.
- GKR batch prover for Grand Product and LogUp lookup arguments.
- Log-up permutation argument implementation as RAP.
- Proving and verifying key generation
- Polynomials
- Prover implementation for partitioned multi-matrix AIRs.
- Trait for RAP (Randomized AIR with Preprocessing)
- Sum-check protocol that proves and verifies claims about
sum_x g(x)
for all x in{0, 1}^n
. - Utility functions
- Verifier implementation
Macros§
Traits§
- A chip is a stateful struct that stores the state necessary to generate the trace of an AIR. This trait is for proving purposes and has a generic StarkGenericConfig since it needs to know the STARK config.
- A trait to get chip usage information.