mirror of
https://github.com/luxfi/p3q.git
synced 2026-10-30 15:22:47 +00:00
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.
30 lines
905 B
TOML
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
|