Skip to main content

Crate openvm_stark_backend

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 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§

SystemParams
VerificationData
Data for verifying a Stark proof.
WhirConfig
WhirParams
Configurable parameters that are used to determine the WhirConfig for a target security level.
WhirRoundConfig

Enums§

ProximityRegime
Defines the proximity regime for the proof system.
StarkTestError
Error type for end-to-end tests that can fail in either the prover or verifier.
WhirProximityStrategy

Traits§

AnyAir
RAP trait for all-purpose dynamic dispatch use. This trait is auto-implemented if you implement Air and BaseAirWithPublicValues and PartitionedBaseAir traits.
BaseAirWithPublicValues
An extension of BaseAir that includes support for public values.
PartitionedBaseAir
An AIR with 1 or more main trace partitions.
StarkEngine
A helper trait to collect the different steps in multi-trace STARK keygen and proving.
StarkProtocolConfig
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_logup parameter in terms of total_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.
EngineDeviceCtx
Convenience alias for the device context type of a StarkEngine.
ProverError
Val
Type alias for backwards compatibility. New implementations should use SC::F.