Expand description
§p3-uni-stark
A minimal univariate STARK framework: proving and verification of a single AIR over a two-adic field, generic over the polynomial commitment scheme.
Key items:
prove/verify(and*_with_preprocessedvariants) — the prover and verifier entry pointsStarkConfig/StarkGenericConfig— ties together field, PCS and challengerSymbolicAirBuilder— symbolic constraint evaluation for degree inferenceProof,VerificationError— proof object and typed verifier errors
The verifier is designed to reject malformed proofs with a typed error, but panics on adversarial inputs are not yet ruled out; see the repository README’s known-issues section.
Part of Plonky3, dual-licensed under MIT and Apache 2.0.
Structs§
- AirLayout
- Describes the shape of an AIR for symbolic constraint evaluation.
- Commitments
- Conjectured
Security - Conjectured security level (in bits) using the “random words” regime of 2025/2010 §1.5.
- Constraint
Layout - Maps between global constraint indices and the separated base/ext streams.
- Grinding
Sites - Where a STARK grinds, in bits per site.
- Legacy
Security - Historical security estimate using the pre-random-words ethSTARK
FRI query formula:
num_queries * log_blowup + query_pow_bits. - Opened
Values - Every committed polynomial evaluated at the out-of-domain point.
- Preprocessed
Opened Values - The preprocessed trace evaluated at the out-of-domain point.
- Preprocessed
Prover Data - Prover-side reusable data for preprocessed columns.
- Preprocessed
Verifier Key - Verifier-side reusable data for preprocessed columns.
- Proof
- Proven
Security - Proven security level (in bits) of a STARK configuration.
- Prover
Constraint Folder - Packed constraint folder for SIMD-optimized prover evaluation.
- Stark
Config - Stark
Opening Layout - Commitment positions in the univariate STARK opening batch.
- Stark
Prover Transcript - Prover-side transcript of one uni-STARK run.
- Stark
Security Params - Parameters required to compute STARK proof security level.
- Stark
Shape - Numbers that fix the transcript of one uni-STARK run.
- Stark
Verifier Transcript - Verifier-side transcript of one uni-STARK run.
- SubAir
Builder - Evaluates a sub-AIR against a restricted slice of the parent trace.
- SubSliced
- A column-restricted view over a trace window.
- Symbolic
AirBuilder - Symbolic AIR builder that records constraints.
- Symbolic
Variable - A variable within the evaluation window for base-field columns.
- Symbolic
Variable Ext - A variable within the evaluation window for extension-field columns.
- Vectorized
Constraint Folder - Packed constraint folder evaluating
Npacked vectors per constraint in lockstep. - Verifier
Constraint Folder - Handles constraint verification for the verifier in a STARK system.
Enums§
- Base
Entry - Entry kinds for base-field trace columns and public inputs.
- Base
Leaf - Leaf nodes for base-field symbolic expressions.
- ExtEntry
- Entry kinds for extension-field columns (permutation trace, challenges, and permutation values).
- ExtLeaf
- Leaf nodes for extension-field symbolic expressions.
- Invalid
Proof Shape Error - Specific reasons why a proof’s shape is invalid.
- Opening
Shape - What the polynomial commitment scheme commits beyond what the AIR itself determines.
- Periodic
Column Shape Error - Why a declared periodic column cannot be laid over a trace of a given height.
- Proving
Error - A recoverable PCS configuration or budget failure during proof generation.
- Stark
Transcript Failure - A transcript step the proof failed to satisfy.
- Symbolic
Expr - A symbolic expression tree, generic over its leaf type
A. - Verification
Error - Top-level verification error.
Traits§
- Quotient
Air - AIRs usable with
quotient_valuesand the functions built on it. - Stark
Generic Config - SymLeaf
- Properties that leaf nodes must provide for the generic expression tree.
Functions§
- constraint_
degree_ from_ poly_ degree - Convert an absolute constraint-polynomial degree into the “constraint degree”
used to size the quotient: the number of degree-
(trace_len - 1)trace polynomials the constraint behaves like. - get_
all_ symbolic_ constraints - get_
constraint_ layout - Evaluate the AIR symbolically and return the constraint layout.
- get_
log_ num_ quotient_ chunks - Two-adic quotient sizing; use
get_log_num_quotient_chunks_for_domainfor other domains. - get_
log_ num_ quotient_ chunks_ for_ domain - Size the quotient using the trace domain’s transition-selector degree.
- get_
log_ quotient_ degree_ extension - Two-adic quotient sizing, including extension constraints.
- get_
max_ constraint_ degree - get_
max_ constraint_ degree_ extension - get_
symbolic_ constraints - get_
symbolic_ constraints_ extension - num_
batched_ openings - Number of batching powers consumed by the polynomial commitment scheme’s random linear combination into its single low-degree-test instance.
- prove
- Prove a trace, returning the PCS failure with its proving phase.
- prove_
with_ preprocessed - Prove with reusable preprocessing, returning the PCS failure with its proving phase. No partial proof is emitted on a configuration or disclosure-budget error.
- quotient_
values - recompose_
quotient_ from_ chunks - Recomposes the quotient polynomial from its chunks evaluated at a point.
- setup_
preprocessed - Set up and commit the preprocessed trace for a given
Airand degree. - validate_
degree_ bits - verify
- verify_
constraints - Verifies that the folded constraints match the quotient polynomial at zeta.
- verify_
with_ preprocessed
Type Aliases§
- Com
- Domain
- Packed
Challenge - Packed
Val - PcsError
- PcsProver
Error - Configuration or budget failure reported by the proving commitment scheme.
- Symbolic
Expression - A symbolic expression tree for base-field AIR constraints.
- Symbolic
Expression Ext - A symbolic expression tree for extension-field AIR constraints.
- Val
- Vectorized
Challenge - Vectorized extension-field expression type used by
VectorizedConstraintFolder. - Vectorized
Val - Vectorized base-field expression type used by
VectorizedConstraintFolder:Npacked vectors evaluated in lockstep.