Paper 2025/2120

Language-Agnostic Detection of Computation-Constraint Inconsistencies in ZKP Programs via Value Inference

Arman Kolozyan, Max Planck Institute for Security and Privacy, Nokia Bell Labs, Vrije Universiteit Brussel
Bram Vandenbogaerde, Vrije Universiteit Brussel
Janwillem Swalens, Nokia Bell Labs
Lode Hoste, Nokia Bell Labs
Stefanos Chaliasos, UCL Centre for Blockchain Technologies, zkSecurity
Coen De Roover, Vrije Universiteit Brussel
Abstract

Zero-knowledge proofs (ZKPs) allow a prover to convince a verifier of a statement's truth without revealing any other information. In recent years, ZKPs have matured into a practical technology underpinning major applications. However, implementing ZKP programs remains challenging, as they operate over arithmetic circuits that encode the logic of both the prover and the verifier. Therefore, developers must not only express the computations for generating proofs, but also explicitly specify the constraints for verification. As recent studies have shown, this decoupling may lead to critical ZKP-specific vulnerabilities. Unfortunately, existing tools for detecting them are limited, as they: (1) are tightly coupled to specific ZKP languages, (2) are confined to the constraint level, preventing reasoning about the underlying computations, (3) target only a narrow class of bugs, and (4) suffer from scalability bottlenecks due to reliance on SMT solvers. To address these limitations, we propose a language-agnostic formal model, called the Domain Consistency Model (DCM), which captures the relationship between computations and constraints. Using this model, we provide a taxonomy of vulnerabilities based on computation-constraint mismatches, including novel subclasses overlooked by existing models. Next, we implement an IR-based bug detection tool, called CCC-Check, which is based on abstract interpretation. Our evaluation shows that CCC-Check is, on average, two orders of magnitude faster than the SoTA verification tool CIVER, while achieving comparable precision. Finally, using the DCM, we examine six widely adopted ZKP projects and uncover 15 previously unknown vulnerabilities. We reported these bugs to the projects' maintainers, 13 of which have since been patched. Of these 15 vulnerabilities, 12 could not be captured by existing models.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Published elsewhere. IEEE S&P 2026
Keywords
Zero-Knowledge ProofsZKPsProgram AnalysisVulnerability DetectionTaxonomyFormalization
Contact author(s)
arman @ kolozyan com
History
2026-04-11: last of 7 revisions
2025-11-20: received
See all versions
Short URL
https://ia.cr/2025/2120
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2025/2120,
      author = {Arman Kolozyan and Bram Vandenbogaerde and Janwillem Swalens and Lode Hoste and Stefanos Chaliasos and Coen De Roover},
      title = {Language-Agnostic Detection of Computation-Constraint Inconsistencies in {ZKP} Programs via Value Inference},
      howpublished = {Cryptology {ePrint} Archive, Paper 2025/2120},
      year = {2025},
      url = {https://eprint.iacr.org/2025/2120}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.