Expand description
This crate contains components need to describe arbitrary computations in a STARK-specific format.
Before we can generate proofs attesting that some computations were executed correctly, we need to describe these computations in a way that can be understood by the Winterfell prover and verifier.
More formally, we need to reduce our computations to algebraic statements involving a set of bounded-degree polynomials. This step is usually called arithmetization. STARK arithmetization reduces computations to an algebraic intermediate representation or AIR for short. For basics of AIR arithmetization please refer to the excellent posts from StarkWare:
Coming up with efficient arithmetizations for computations is highly non-trivial, and describing arithmetizations could be tedious and error-prone. The Air trait aims to help with the latter, which, hopefully, also makes the former a little simpler. For additional details, please refer to the documentation of the Air trait itself.
This crate also contains components describing STARK protocol parameters (ProofOptions) and proof structure (Proof).
Modules§
- proof
- Contains STARK proof struct and associated components.
Structs§
- AirContext
- STARK parameters and trace properties for a specific execution of a computation.
- Assertion
- An assertion made against an execution trace.
- AuxRand
Elements - Holds the randomly generated elements necessary to build the auxiliary trace.
- Boundary
Constraint - The numerator portion of a boundary constraint.
- Boundary
Constraint Group - A group of boundary constraints all having the same divisor.
- Boundary
Constraints - Boundary constraints for a computation.
- Constraint
Composition Coefficients - Coefficients used in construction of constraint composition polynomial.
- Constraint
Divisor - The denominator portion of boundary and transition constraints.
- Deep
Composition Coefficients - Coefficients used in construction of DEEP composition polynomial.
- Evaluation
Frame - A set of execution trace rows required for evaluation of transition constraints.
- Partition
Options - Defines the parameters used to calculate partition size when committing to the traces generated during the protocol.
- Proof
Options - STARK protocol parameters.
- Trace
Info - Information about a specific execution trace.
- Transition
Constraint Degree - Degree descriptor of a transition constraint.
- Transition
Constraints - Metadata for transition constraints of a computation.
Enums§
- Assertion
Error - Represents an error returned during assertion evaluation.
- Batching
Method - Represents the type of batching, using randomness, used in the construction of either the constraint composition polynomial or the DEEP composition polynomial.
- Field
Extension - Defines an extension field for the composition polynomial.
Traits§
- Air
- Describes algebraic intermediate representation of a computation.