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