p3-security 0.7.0

Soundness analysis for STARK protocols: per-error-source modules composed at the protocol call site.
Documentation

Soundness analysis for STARK protocols.

Decomposition is by error source, not by PCS. A protocol's params type lives in its own crate; this crate provides the error-bit math and the regime mirrors. The protocol assembles the regime, picks which error terms apply, and composes them via [ErrorBits::sum] or [ErrorBits::min] (or via [stark::proven_security] for the AIR + DEEP + LDT composite).

Layering

protocol crate (p3-fri, p3-whir, …)
        │
        ▼
    p3-security ── p3-air, p3-field, p3-util, libm

Each XxxRegime mirrors the security-relevant subset of the corresponding XxxParameters runtime config, plus instance-shape metadata that doesn't live in the runtime config (trace length, opening counts, …). There is intentionally no From<XxxParameters> impl — the protocol crate is the only site with visibility into both sides and assembles the regime explicitly.

References

  • ethSTARK (2021/582)
  • Proximity Gaps for Reed–Solomon Codes (2020/654)
  • On the Security of STARKs with FRI (2024/1553)
  • On the Distribution of the Distances of Random Words (2025/2010)
  • BCHKS25 — Improved LDR proximity gaps (2025/2055)
  • HVZK-WHIR (2026/391)