A hash-based SNARK with lightweight proofs, powered by the Whir Polynomial Commitment Scheme.
The protocol is detailed in Whirlaway.pdf
The core argument builds upon SuperSpartan (Srinath Setty, Justin Thaler, Riad Wahby), with AIR-specific optimizations developed by William Borgeaud in A simple multivariate AIR argument inspired by SuperSpartan.
Key techniques:
- AIR table committed as a single multilinear polynomial
- Sumcheck + "Univariate Skip" from Some Improvements for the PIOP for ZeroCheck (Angus Gruen)
RUSTFLAGS='-C target-cpu=native' cargo run --release
CPU: 75K poseidon2 / s (i9-12900H) -> easy 100K with Ring Switching / Univariate Skip in WHIR
GPU: 1M poseidon2 / s (RTX 4090) -> switch to branch gpu