Crate openvm_stark_backend

Source
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 rap::AirRef;
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
AIR builders for prover and verifier, including support for cross-matrix permutation arguments.
config
Helper types associated to generic STARK config. StarkGenericConfig and associated types. Originally taken from Plonky3 under MIT license.
engine
Trait for STARK backend engine proving keygen, proviing, verifying API functions.
gkr
GKR batch prover for Grand Product and LogUp lookup arguments.
interaction
Log-up permutation argument implementation as RAP.
keygen
Proving and verifying key generation
poly
Polynomials
proof
Definition of the STARK proof struct.
prover
Abstraction layer for prover implementations of multi-matrix circuits on a single machine.
rap
Trait for RAP (Randomized AIR with Preprocessing)
sumcheck
Sum-check protocol that proves and verifies claims about sum_x g(x) for all x in {0, 1}^n.
utils
Utility functions
verifier
Verifier implementation

Macros§

parizip

Traits§

Chip
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.
ChipUsageGetter
A trait to get chip usage information.