Crate winter_air

Crate winter_air 

Source
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.
AuxRandElements
Holds the randomly generated elements necessary to build the auxiliary trace.
BoundaryConstraint
The numerator portion of a boundary constraint.
BoundaryConstraintGroup
A group of boundary constraints all having the same divisor.
BoundaryConstraints
Boundary constraints for a computation.
ConstraintCompositionCoefficients
Coefficients used in construction of constraint composition polynomial.
ConstraintDivisor
The denominator portion of boundary and transition constraints.
DeepCompositionCoefficients
Coefficients used in construction of DEEP composition polynomial.
EvaluationFrame
A set of execution trace rows required for evaluation of transition constraints.
PartitionOptions
Defines the parameters used to calculate partition size when committing to the traces generated during the protocol.
ProofOptions
STARK protocol parameters.
TraceInfo
Information about a specific execution trace.
TransitionConstraintDegree
Degree descriptor of a transition constraint.
TransitionConstraints
Metadata for transition constraints of a computation.

Enums§

AssertionError
Represents an error returned during assertion evaluation.
BatchingMethod
Represents the type of batching, using randomness, used in the construction of either the constraint composition polynomial or the DEEP composition polynomial.
FieldExtension
Defines an extension field for the composition polynomial.

Traits§

Air
Describes algebraic intermediate representation of a computation.