Expand description
STARK-based primitives for proof generation and verification over AIRs.
Modules§
- air
- Building blocks for defining AIRs.
- baby_
bear_ poseidon2 - septic_
curve - Elliptic Curve
y^2 = x^3 + 2x + 26z^5
over theF_{p^7} = F_p[z]/(z^7 - 2z - 5)
extension field. - septic_
digest - Elliptic Curve digests with a starting point to avoid weierstrass addition exceptions.
- septic_
extension - A septic extension with an irreducible polynomial
z^7 - 2z - 5
. - shape
- Utilities for working with shapes.
Macros§
- chip_
name - Macro to get the name of a chip.
Structs§
- AirOpened
Values - Baby
Bear Poseidon2 Inner - The recursion config used for recursive reduce circuit.
- Chip
- An Air that encodes lookups based on interactions.
- Chip
Opened Values - CpuProver
- A prover implementation based on x86 and ARM CPUs.
- CpuProver
Error - An error that occurs during the execution of the
CpuProver
. - Debug
Constraint Builder - A builder for debugging constraints.
- Deferred
Digest - The hash of all the deferred proofs that have been witnessed in the VM.
- Generic
Verifier Constraint Folder - A folder for verifier constraints.
- Interaction
- An interaction for a lookup or a permutation argument.
- Interaction
Builder - A builder for the lookup table interactions.
- Interaction
Data - The data for an interaction.
- Machine
Proof - OodEvaluation
Mismatch - An error that occurs when the openings do not match the expected shape.
- Prover
Constraint Folder - A folder for prover constraints.
- Public
Values Digest - The hash of all the public values that a zkvm program has committed to.
- SP1Core
Opts - Options for the core prover.
- SP1Prover
Opts - Options to configure the SP1 prover for core and recursive proofs.
- Shard
Commitment - Shard
Main Data - Shard
Opened Values - Shard
Proof - Split
Opts - Options for splitting deferred events.
- Stark
Machine - A STARK for proving RISC-V execution.
- Stark
Proving Key - A proving key for a STARK.
- Stark
Verifying Key - A verifying key for a STARK.
- UniConfig
- Verifier
- A verifier for a collection of air chips.
- Word
- An array of four bytes to represent a 32-bit value.
Enums§
- Interaction
Kind - The type of interaction for a lookup argument.
- Machine
Verification Error - Errors that can occur during machine verification.
- Opening
Shape Error - An error that occurs when the shape of the openings does not match the expected shape.
- Verification
Error - An error that occurs during the verification.
Constants§
- DIGEST_
SIZE - PROOF_
MAX_ NUM_ PVS - The maximum number of elements that can be stored in the public values vec. Both SP1 and recursive proofs need to pad their public values vec to this length. This is required since the recursion verification program expects the public values vec to be fixed length.
Traits§
- Machine
Prover - An algorithmic & hardware independent prover implementation for any
MachineAir
. - Machine
Proving Key - A proving key for any
MachineAir
that is agnostic to hardware. - Machine
Record - A record that can be proven by a machine.
- Stark
Generic Config - Zero
Commitment
Functions§
- count_
permutation_ constraints - Counts the number of permutation constraints for the given chip.
- debug_
constraints - Checks that the constraints of the given AIR are satisfied, including the permutation trace.
- debug_
cumulative_ sums - Checks that all the interactions between the chips has been satisfied.
- debug_
interactions - Debugs the interactions of a chip.
- debug_
interactions_ with_ all_ chips - Calculate the number of times we send and receive each event of the given interaction type, and print out the ones for which the set of sends and receives don’t match.
- eval_
permutation_ constraints - Evaluates the permutation constraints for the given chip.
- generate_
permutation_ trace - Generates the permutation trace for the given chip and main trace based on a variant of
LogUp
. - inner_
fri_ config - The FRI config for inner recursion.
- inner_
perm - The permutation for inner recursion.
- local_
permutation_ trace_ width - Computes the width of the local permutation trace in terms of extension field elements.
- populate_
local_ permutation_ row - Populates a local permutation row.
- quotient_
values - Computes the quotient values.
- scoped_
interactions - Returns the sends, receives, and permutation trace width grouped by scope.
- sp1_
fri_ config - The FRI config for sp1 proofs.
- vec_
to_ string - Converts a vector of field elements to a string.
Type Aliases§
- Challenge
- Challenger
- Com
- Dom
- Domain
- Inner
Batch Opening - Inner
Challenge - Inner
Challenge Mmcs - Inner
Challenger - Inner
Commit Phase Step - Inner
Compress - Inner
Dft - Inner
Digest - Inner
Digest Hash - Inner
FriProof - Inner
Hash - Inner
Pcs - Inner
PcsProof - Inner
Perm - Inner
Query Proof - Inner
Val - A configuration for inner recursion.
- Inner
ValMmcs - Machine
Chip - A chip in a machine.
- Opening
Error - Opening
Proof - Packed
Challenge - Packed
Val - PcsProver
Data - Quotient
Opened Values - Val
- Verifier
Constraint Folder - A folder for verifier constraints.