Files
zooqueen 054b126a3e p3q-stark: real DEEP-STARK AIR constraint machinery + prover + verifier
The missing foundation for STARK-compressed quorum certificates: an AIR
proving/verification layer over the Goldilocks/FRI/SHA3 substrate, replacing
the prior toy single-polynomial prover.

  - air.rs: the Air trait gains a constraint API — AirBuilder (local/next/
    public/assert_zero), eval<AB> (required: forgetting constraints is a
    COMPILE error, never a silent zero-constraint proof), num_public_inputs,
    constraint_degree, BoundaryConstraint.
  - prover.rs: a real DEEP-STARK prover — trace LDE, quotient C/Z_H on a
    coset, OOD openings, DEEP composition codeword, FRI low-degree, per-query
    trace+quotient Merkle openings, boundary openings. (Honest perf: naive
    O(N^2) DFTs — must move to radix-2 FFT before batched SLH-DSA scale.)
  - verifier.rs: boundary checks + the transition-constraint identity at OOD
    (Q(ζ)·Z_H(ζ)==Σα·C) + DEEP/OOD binding per query + FRI. Rejects any trace
    that violates the AIR.
  - fri/{domain,engine}.rs, transcript.rs, proof.rs: coset DFT/iDFT, FRI fold
    engine (cheating-final-poly + high-degree rejection), Fiat-Shamir.
  - zchain: the 6 audit-gated identity circuits implement the new Air trait
    with fail-closed eval (unimplemented! until the post-audit body lands).

Round-trip proven: a satisfying trace proves+verifies; a tampered trace is
rejected (FRI low-degree); shape mismatches fail closed. Workspace tests green.

STAGED NEXT (honestly not done): the Keccak-f[1600] AIR (the in-circuit SHAKE
gadget) and the SLH-DSA/ML-DSA verify circuit that composes it — that is what
turns this into a STARK proof of N independent FIPS-205/204 verifications.
2026-06-21 13:03:30 -07:00

30 lines
905 B
TOML

[package]
name = "p3q-stark"
description = "P3Q STARK arithmetisation (AIR) traits for the strict-PQ Plonky3 fork."
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
rust-version.workspace = true
keywords = ["stark", "air", "post-quantum", "zk"]
categories = ["cryptography"]
[dependencies]
p3q-core = { workspace = true }
p3q-field = { workspace = true }
p3q-fri = { workspace = true }
p3q-merkle = { workspace = true }
p3q-challenger = { workspace = true }
[features]
default = []
# Enable the AIR DEEP-STARK prover. The prover compiles ONLY under
# `cargo test` or with `--features prover`; the audited production
# verifier path (`verify_air`) never pulls in any proving codepaths.
prover = []
[lints]
workspace = true