← Patterns / SP-053 Draft

Zero-Knowledge Proof Architecture

Zero-knowledge proofs allow one party (the prover) to convince another (the verifier) that a statement is true without revealing the underlying data. This has two enterprise-critical applications: (1) privacy — prove that a transaction is valid without revealing sender, receiver, or amount; (2) scalability — batch-prove thousands of transactions and verify with a single compact proof (ZK-rollups). The security architecture must address the full ZK proof lifecycle: circuit design and auditing, trusted setup ceremony management (or transparent setup for STARKs), proving infrastructure security, verification key distribution and integrity, on-chain verifier deployment, and the governance of ZK-enabled applications. The 'toxic waste' problem — trusted setup ceremonies generate trapdoor information ('toxic waste') that must be destroyed — is the single largest systemic risk in SNARK-based systems. If any participant retains toxic waste, they can forge valid proofs for any statement, breaking the system's soundness entirely and with no on-chain evidence of the compromise.
Release: 26.03 Authors: Spinoza, Vitruvius Updated: 2026-03-10
Assess
ATT&CK This pattern addresses 459 techniques across 13 tactics View on ATT&CK Matrix →
ZERO-KNOWLEDGE PROOF ARCHITECTURE SC-12 SC-13 SA-11 | CA-08 SI-10 | AC-03 AC-06 | SC-28 AU-02 CA-07 APPLICATION LAYER Business Logic / dApp Smart contracts, identity verification, credential issuance AC-04 Compliance Engine Regulatory proof templates Selective disclosure policies CA-07 PM-09 Privacy Policy Data minimisation rules Claim schema definitions AC-04 AC-05 Proof Request API Statement composition Witness input marshalling SA-17 Witness + Circuit PROOF GENERATION LAYER Circuit Compiler Circom / Noir / Cairo R1CS · Plonkish · AIR SA-11 SA-15 Witness Generator Private input processing Constraint satisfaction SI-10 GPU/FPGA Prover Cluster MSM · NTT acceleration Distributed proving nodes SC-28 AC-06 Proof Output Queue Batching · Aggregation Proof serialisation CM-03 ZK Proof VERIFICATION LAYER On-Chain Verifier Solidity / Cairo verifier Pairing-based checks SC-13 AC-03 Off-Chain Verifier REST / gRPC endpoint Batch verification SC-08 IR-04 Verification Key Registry Immutable VK store Circuit version binding CM-08 AU-09 ZK-Rollup Sequencer Transaction ordering State root commitment SC-07 RA-03 Verified / Rejected TRUST ANCHOR LAYER Trusted Setup Ceremony MPC · Powers of Tau SC-12 PE-03 Structured Reference String CRS / SRS artefact Proving Keys Per-circuit PK Key rotation schedule SC-28 Verification Keys Public VK artefact On-chain anchored SC-13 Ceremony Transcript Archive Immutable audit log AU-02 AU-09 Proving Key Verification Key SNARK Groth16, PLONK STARK No Trusted Setup Privacy Apps ZK-Rollup Compliance Related: SP-040 SP-051 SP-052 SP-053: Zero-Knowledge Proof Architecture 32 controls across 14 families · Authors: Vitruvius, Spinoza · Draft · 2026-03-10 Application Logic Proof Generation Verification Trust Anchors Critical Controls Data flow Response Key distribution XX-00 NIST control opensecurityarchitecture.org Aligned with: ZKProof Standards · Groth16 (ePrint 2016/260) · PLONK (ePrint 2019/953) · NIST SP 800-53 Rev 5 · opensecurityarchitecture.org 32 NIST 800-53 Rev 5 Controls: SC-07 · SC-08 · SC-12 · SC-13 · SC-28 · AC-03 · AC-04 · AC-05 · AC-06 · AU-02 · AU-09 · CA-07 · CA-08 · CM-03 · CM-08 · IR-04 · PE-03 · PM-09 · RA-03 · SA-11 · SA-15 · SA-17 · SI-10

Click any control badge to view its details. Download SVG

Key Control Areas

  • Trusted Setup Ceremony Security (SC-12, SC-13, PE-03): Multi-party computation ceremonies (Powers of Tau, Groth16 circuit-specific ceremonies) where each participant contributes randomness and the toxic waste is destroyed. Security requires: diverse, independent participants (cryptographic community, major institutions, adversarial assumptions about all-but-one honesty); hardware isolation (air-gapped systems, entropy from physical sources); verifiable transcripts published to allow anyone to verify their contribution was included; attestation that the participant's hardware was destroyed or securely wiped after ceremony. PLONK-family SNARKs (PLONK, Marlin, Sonic) use universal setups — a single ceremony supports all circuits of bounded size — reducing ceremony overhead but not eliminating it. ZK-STARKs (StarkNet, Polygon Miden) require no trusted setup, using collision-resistant hash functions instead of elliptic curve pairings, making them post-quantum secure by design.
  • Circuit Security and Auditing (SA-11, CA-08, SI-10): ZK circuits are arithmetic constraint systems. An under-constrained circuit accepts false proofs as valid — a soundness bug. A perfectly constrained circuit may still have completeness bugs (valid inputs rejected) or implementation bugs (witness computation incorrect). Circuit auditing requires: formal verification of constraint completeness and soundness (using tools such as Circomspect, ZKAP, or manual review); differential testing against a reference implementation; fuzz testing with malformed witnesses; and independent audit by ZK cryptography specialists. Unlike Solidity smart contracts, circuit bugs are often invisible without cryptographic expertise — the circuit may 'look correct' to a non-specialist. The 2023 Circom MIMC hash bug and 2022 Hermez double-spending bug both arose from under-constrained circuits.
  • Proving Infrastructure Security (SC-28, AC-06, CM-03): Proof generation is computationally intensive (seconds to minutes on commodity hardware, sub-second on GPU clusters). Proving keys — the large public parameters derived from the trusted setup — must be treated as highly sensitive: compromised proving keys don't break soundness but could enable DoS or privacy leaks via malformed proofs. GPU/FPGA prover clusters are high-value infrastructure targets. Security controls: network isolation of prover nodes; secure distribution of proving keys via authenticated channels; integrity verification of proving keys before use (hash against a known-good reference published at ceremony); rate limiting and job authentication to prevent prover DoS; separate proving key signing keys for different circuit versions.
  • Verification Key Integrity and Distribution (SC-13, CM-08, AU-02): The verification key is the on-chain or off-chain parameter used to verify proofs. If an attacker substitutes a malicious verification key (one for which they hold the corresponding proving key), they can forge arbitrary proofs. Controls: verification keys must be derived deterministically from the trusted setup transcript; on-chain verifier contracts should embed the verification key as an immutable constant (not a mutable storage variable); off-chain verifiers must validate verification keys against a signed registry; key rotation requires a new trusted setup ceremony and upgrade governance with time-lock.
  • ZK-Rollup Infrastructure Security (SC-07, CA-07, IR-04): ZK-rollups post compressed transaction data and validity proofs to L1. Security concerns: sequencer centralisation (single point of failure and censorship risk — zkSync, StarkNet, Scroll operate centralised sequencers as of 2025); data availability (if compressed data is not available, users cannot reconstruct state — zkSync Era and Polygon zkEVM use Ethereum calldata or blobs; StarkNet uses a DA committee with trust assumptions); forced inclusion (users must be able to force-include transactions if the sequencer censors them — escape hatch mechanisms vary by rollup); proof delay windows (if a validity proof cannot be generated, the rollup halts — requires fallback mode and SLA guarantees for the proving service).
  • Privacy-Preserving Applications (AC-04, AU-09, SC-08): Private transactions (Zcash Sapling, Aztec, Tornado Cash successors) use ZK proofs to hide transaction amounts and parties while proving no double-spending. Confidential smart contracts (Aztec, Aleo, Secret Network) allow smart contract execution on private state. Security considerations: nullifier management (prevent double-spending without revealing spent notes); memo field encryption (metadata privacy); view keys (selective disclosure to auditors without exposing private state to the public); compliance modes (regulatory view keys mandated by some jurisdictions — FATF Travel Rule tension with ZK privacy).
  • ZK Compliance Applications (CA-07, PM-09, CM-03): Enterprise ZK applications for regulatory compliance: (1) Solvency proofs — prove reserves exceed liabilities without disclosing asset breakdown (applicable to exchanges post-FTX; Kraken and Coinbase exploring); (2) Tax reporting — prove income and gains for HMRC/IRS submission without exposing full transaction history; (3) Sanctions screening — prove no counterparty is sanctioned without revealing counterparty identity (Zcash-based proposals for compliant private transactions); (4) KYC/AML selective disclosure — credential-based ZK proofs (W3C Verifiable Credentials + ZK extension) allowing users to prove they passed KYC at a regulated institution without revealing which institution or their identity attributes. Architecture must include audit trail for ZK credentials, revocation mechanisms (ZK-friendly revocation registries), and compliance with GDPR right to erasure (ZK commitments on-chain are immutable; personal data must not be in the commitment input, only in the private witness that remains off-chain).
  • Post-Quantum Considerations (SC-13, SA-15): ZK-STARKs are post-quantum secure (based on hash functions). ZK-SNARKs use elliptic curve pairings that are vulnerable to quantum attack (Shor's algorithm). Migration path: prefer STARK-based systems for new deployments where proof size and verification cost are acceptable (STARKs produce larger proofs than SNARKs but with simpler verifier logic); for SNARK deployments, document the quantum risk timeline and plan migration. Recursive STARK proofs (StarkNet's SHARP prover uses recursive composition to amortise proof costs) maintain post-quantum security throughout the recursion chain. Nova, Supernova, and HyperNova folding schemes introduce new efficiency frontiers but require fresh security analysis.

When to Use

Use this pattern when: (1) proving regulatory compliance to regulators or counterparties without disclosing confidential business data; (2) deploying a ZK-rollup for transaction throughput or L2 scaling; (3) building privacy-preserving transaction systems for financial applications; (4) implementing selective disclosure for KYC/AML credentials; (5) building confidential computing applications where even the cloud provider should not see computation inputs.

When NOT to Use

Do not use ZK proofs when: simpler cryptographic techniques (TLS, HSM-based signing, secure multi-party computation) solve the problem without the complexity overhead; the team lacks ZK cryptographic expertise (implementation bugs are catastrophic); real-time performance requirements cannot tolerate proof generation latency; or the regulatory environment explicitly requires full transaction transparency (some jurisdictions prohibit privacy-enhancing technologies for financial transactions).

Typical Challenges

The most dangerous challenge is the invisible soundness bug: under-constrained circuits can be exploited silently, with no on-chain evidence of forgery. Circuit auditing is a specialised skill requiring months to develop. Trusted setup ceremony logistics are genuinely difficult — coordinating hundreds of participants across jurisdictions with verifiable hardware attestation. Proof generation latency is often unacceptable for real-time applications without GPU/FPGA investment. Verification key governance — updating keys after circuit bug fixes — requires new ceremonies and creates upgrade governance risks. GDPR compliance with ZK commitments is a genuine tension: once a commitment is on-chain it cannot be erased, but if the private witness (containing personal data) is retained, a DSAR could require disclosure of witness data that would reveal proof inputs.

Threat Resistance

This pattern primarily resists: forged proof acceptance (soundness bugs, compromised trusted setups), proving infrastructure attacks (DoS, key extraction), verification key substitution, ZK-rollup sequencer censorship and data withholding, and privacy compromise through metadata analysis. It does not address: smart contract vulnerabilities in the application layer (see SP-051), consensus-layer attacks on the underlying L1, or regulatory non-compliance where ZK proofs are not accepted as evidence.

Assumptions

Organisations deploying ZK proof systems are assumed to have cryptographic engineering expertise on staff or through specialist advisors. General software security teams cannot safely audit ZK circuits without ZK-specific training. Trusted setup ceremonies require advance planning (months), diverse international participation, and verifiable contribution tooling. On-chain verifier deployment is assumed to be on an EVM-compatible network (Ethereum, ZK-rollup L2); Solana, Aptos, and Sui have native ZK verification primitives but with different security properties. Off-chain ZK applications (enterprise batch verification) avoid blockchain-specific risks but retain all cryptographic and proving infrastructure risks.

Developing Areas

  • ZK-powered compliance and regulatory reporting is emerging as one of the highest-value enterprise applications of zero-knowledge proofs. Financial institutions are exploring selective disclosure of transaction data to regulators — proving AML compliance, sanctions clearance, and capital adequacy without revealing counterparty identities, trade details, or proprietary strategy. Chainalysis and Elliptic are investigating ZK-based AML proofs that would allow exchanges to demonstrate their entire transaction graph is sanctions-clean without exposing the graph itself to the regulator. The fundamental tension is between financial transparency (regulators need assurance) and commercial privacy (firms need confidentiality): ZK proofs offer a mathematical resolution, but regulatory acceptance remains uneven. The EU’s AML Package (Regulation 2024/1624) and FATF’s 2025 updated guidance on privacy-enhancing technologies both acknowledge ZK proofs as a potential compliance mechanism, though neither yet provides a definitive approval framework. Organisations building ZK compliance systems must design for regulatory evolution — the proof statements accepted today may need to be extended as supervisors’ technical sophistication grows and disclosure expectations shift.
  • Post-quantum ZK proof systems represent a critical migration challenge for SNARK-based deployments. ZK-STARKs are already post-quantum secure by construction (relying on collision-resistant hash functions rather than elliptic curve pairings), but their larger proof sizes (typically 50–200 KB vs. 128 bytes for Groth16) and higher on-chain verification costs make them unsuitable for some latency- and cost-sensitive applications. Lattice-based SNARK research — including lattice-based polynomial commitments and the Brakedown proof system from academic groups — aims to deliver SNARK-like succinctness with post-quantum security, but these constructions remain pre-production with significant performance gaps. The NIST Post-Quantum Cryptography standardisation (FIPS 203–205, finalised 2024) does not directly address ZK proof systems, leaving a guidance vacuum for organisations that need to plan SNARK-to-STARK or SNARK-to-lattice migration paths. Recursive STARK composition (as used by StarkNet’s SHARP prover) maintains post-quantum security throughout the recursion chain, making it the safest current choice for new deployments with long-lived security requirements. See SP-040 Post-Quantum Cryptography for algorithm-level guidance on migration planning and crypto-agility architecture.
  • Hardware acceleration and proving-as-a-service are transforming ZK proof generation from a software engineering problem into an infrastructure market. Dedicated ZK ASIC development by Ingonyama (ICICLE framework), Cysic, and Accseal targets order-of-magnitude speedups over GPU-based provers, with early benchmarks showing 10–100x improvements for specific circuit types (MSM, NTT operations). GPU prover clusters — often running on NVIDIA A100/H100 infrastructure — are already production-critical for ZK-rollups: zkSync Era and Polygon zkEVM rely on specialised GPU prover services for their block production cadence. The proving-as-a-service market is emerging rapidly, with =nil; Foundation’s Proof Market, Aligned Layer, and Gevulot offering decentralised proving networks where proof generation is outsourced to competitive provers. However, this creates a centralisation risk: if proving becomes concentrated in a small number of infrastructure providers (analogous to cloud computing’s oligopoly), ZK-rollup liveness depends on those providers’ availability and integrity. Organisations consuming proving services must evaluate provider diversity, geographic distribution, fallback proving capacity, and the trust assumptions introduced when witness data (potentially containing private inputs) is sent to a third-party prover.
  • Client-side proving on mobile and edge devices is an active frontier that would enable privacy-preserving identity verification, credential presentation, and transaction signing without requiring server-side prover infrastructure. WebAssembly (WASM)-based provers — including SnarkJS, Circom WASM targets, and Halo2 WASM builds — can now generate simple ZK proofs on modern smartphones in 2–10 seconds, enabling use cases such as proving age-over-18 from a government credential without revealing date of birth, or proving membership in a KYC-verified set without contacting the KYC provider. Latency and battery constraints remain significant: complex circuits (those with millions of constraints) can take 30+ seconds and consume substantial battery on mobile, making UX design critical for adoption. The Semaphore protocol and Zupass (developed for Zuzalu) demonstrate production client-side proving for anonymous group membership and event ticketing. Offline ZK proof generation — creating proofs without network connectivity and submitting them later — is particularly valuable for humanitarian and financial inclusion applications where connectivity is intermittent. Security architecture for client-side proving must address witness data protection on the device (preventing extraction of private inputs via malware or side-channel attacks), secure circuit distribution (ensuring the user’s device runs the correct circuit), and proof freshness (preventing replay of stale proofs).
  • Formal verification of ZK circuits is becoming a critical security requirement as ZK systems move from research prototypes to production infrastructure managing billions of dollars in value. Circuit bugs are catastrophic security failures: the 2022 Hermez double-spending vulnerability (an under-constrained circuit allowing duplicate nullifiers) and the 2019 Zcash Sapling counterfeiting bug (a missing validation in the JoinSplit circuit that could have allowed unlimited token creation, discovered internally before exploitation) demonstrate that circuit correctness cannot be established by testing alone. Emerging formal verification tools include Ecne (automated constraint verification for Circom circuits), StarkWare’s Lean-based formal verification of Cairo programs, and Veridise’s Picus tool for detecting under-constrained signals. Circuit auditing methodology is maturing but remains far less standardised than smart contract auditing: there is no equivalent of the Ethereum Foundation’s audit standards or the OWASP Smart Contract Top 10 for ZK circuits. The 0xPARC ZK Bug Tracker catalogues known circuit vulnerabilities and provides a taxonomy (under-constrained, over-constrained, witness computation errors, trusted setup flaws), but the field lacks standardised circuit testing frameworks, coverage metrics, and certification pathways. Organisations deploying ZK systems in regulated environments should mandate independent circuit audits by ZK specialist firms (Trail of Bits, Zellic, Veridise), require formal verification of critical constraint systems, and maintain a circuit vulnerability disclosure and patching process analogous to smart contract bug bounty programmes.
SC: 5SA: 4CA: 2SI: 2AC: 4AU: 3CM: 4IR: 1RA: 2PE: 1PM: 1SR: 1PT: 1CP: 1
SC-12 Cryptographic Key Establishment and Management
SC-13 Cryptographic Protection
SA-11 Developer Testing and Evaluation
CA-08 Penetration Testing
SI-10 Information Input Validation
AC-03 Access Enforcement
AC-06 Least Privilege
SC-28 Protection of Information at Rest
AU-02 Event Logging
CA-07 Continuous Monitoring
SC-07 Boundary Protection
SC-08 Transmission Confidentiality and Integrity
AC-04 Information Flow Enforcement
AC-05 Separation of Duties
CM-03 Configuration Change Control
CM-08 System Component Inventory
IR-04 Incident Handling
RA-03 Risk Assessment
SA-15 Development Process, Standards, and Tools
SA-17 Developer Security and Privacy Architecture and Design
PE-03 Physical Access Control
AU-09 Protection of Audit Information
AU-03 Content of Audit Records
CM-02 Baseline Configuration
CM-07 Least Functionality
PM-09 Risk Management Strategy
SA-04 Acquisition Process
SR-03 Supply Chain Controls and Processes
RA-05 Vulnerability Monitoring and Scanning
PT-02 Authority to Process Personally Identifiable Information
SI-07 Software, Firmware, and Information Integrity
CP-09 System Backup