Expand description
Backend for proving and verifying mixed-matrix STARKs. The backend is designed to be modular and compatible with different hardware implementations. The backend provides prover and verifier implementations of the SWIRL proof system.
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_field;pub use p3_matrix;pub use p3_maybe_rayon;pub use p3_symmetric;pub use p3_util;pub use transcript::*;
Modules§
- air_
builders - AIR builders for prover and verifier, including support for cross-matrix permutation arguments.
- codec
- dft
- Copy of Plonky3’s DFT module without parallelism (Rayon) for faster single-threaded execution. Used by the prover only.
- hasher
- Protocol hasher trait definition.
- interaction
- Log-up permutation argument implementation as RAP.
- keygen
- Proving and verifying key generation
- memory_
metering - Memory estimates for segmented proving. Memory estimates for proving.
- poly_
common - Common polynomial utilities shared by prover and verifier
- proof
- Definition of the STARK proof struct.
- prover
- soundness
- Soundness analysis for the SWIRL proof system.
- test_
utils - transcript
- Fiat-Shamir transcript trait and implementations (duplex sponge, multi-field).
- utils
- verifier
Macros§
- any_
air_ arc_ vec - Macro to create a
Vec<AirRef<SC>>from a list of AIRs. - parizip
Structs§
- System
Params - Verification
Data - Data for verifying a Stark proof.
- Whir
Config - Whir
Params - Configurable parameters that are used to determine the WhirConfig for a target security level.
- Whir
Round Config
Enums§
- Proximity
Regime - Defines the proximity regime for the proof system.
- Stark
Test Error - Error type for end-to-end tests that can fail in either the prover or verifier.
- Whir
Proximity Strategy
Traits§
- AnyAir
- RAP trait for all-purpose dynamic dispatch use.
This trait is auto-implemented if you implement
AirandBaseAirWithPublicValuesandPartitionedBaseAirtraits. - Base
AirWith Public Values - An extension of
BaseAirthat includes support for public values. - Partitioned
Base Air - An AIR with 1 or more main trace partitions.
- Stark
Engine - A helper trait to collect the different steps in multi-trace STARK keygen and proving.
- Stark
Protocol Config - Trait that holds the associated types for the SWIRL protocol. These are the types needed by the verifier and must be independent of the prover backend.
Functions§
- calculate_
n_ logup - Common utility function for computing
n_logupparameter in terms oftotal_interactions, which is the sum of interaction message counts across all traces, using the lifted trace heights. - get_
air_ name - Automatically derives the AIR name from the type name for pretty display purposes.
Type Aliases§
- AirRef
- Shared reference to any Interactive Air. This type is the main interface for keygen.
- Com
- Type alias for backwards compatibility. New implementations should use
SC::Digest. - Engine
Device Ctx - Convenience alias for the device context type of a
StarkEngine. - Prover
Error - Val
- Type alias for backwards compatibility. New implementations should use
SC::F.