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 (StarkProof).

Modules

Contains STARK proof struct and associated components.

Structs

STARK parameters and trace properties for a specific execution of a computation.
An assertion made against an execution trace.
Random elements used in construction of auxiliary trace segments.
The numerator portion of a boundary constraint.
A group of boundary constraints all having the same divisor.
Boundary constraints for a computation.
Coefficients used in construction of constraint composition polynomial.
The denominator portion of boundary and transition constraints.
Coefficients used in construction of DEEP composition polynomial.
A set of execution trace rows required for evaluation of transition constraints.
STARK protocol parameters.
Information about a specific execution trace.
Layout of columns within an execution trace.
Degree descriptor of a transition constraint.
A group of transition constraints all having the same degree.
Metadata for transition constraints of a computation.

Enums

Represents an error returned during assertion evaluation.
Defines an extension field for the composition polynomial.
Defines a set of available hash function for STARK protocol.

Traits

Describes algebraic intermediate representation of a computation.