ConsCS: Effective and Efficient Verification of Circom Circuits
Circom is a popular programming language for writing arithmetic circuits that can be used to generate zero-knowledge proofs (ZKPs) like zk-SNARKS. ZKPs have received tremendous attention in protocols like zkRollups. The Circom circuits are compiled to Rank-1 Constraint Systems (R1CS) circuits, based on which zk-SNARK proofs are generated. However, one major challenge associated with R1CS circuits is the problem of under-constrained circuits, which are susceptible to allowing incorrect computations to pass verification due to insufficient constraints, potentially leading to security vulnerabilities. In this paper, we propose a novel framework CONSCS to automatically verify Circom circuits. Our contributions are threefold: 1) we propose novel circuit inference rules to help reduce the size of circuits and to extract more comprehensive information than existing works; 2) we introduce the novel Binary Property Graph (BPG) as a highly efficient reasoning engine, outperforming all existing tools in effectiveness and efficiency; 3) we leverage fine-grained domain-specific information to guide the SMT solving to address non-linear constraints, increasing the success rate of SMT queries of existing works from 2.68% to 48.84%. We conduct experiments to show that CONSCS enhances the solved rate of existing works from around 50-60% to above 80%.
Authors
- Xinghao Peng (ORCID: https://orcid.org/0009-0007-3652-9378)
- John Man Tak Chu (ORCID: https://orcid.org/0000-0003-2377-1054)
- Xiapu Luo (ORCID: https://orcid.org/0000-0002-9082-3208)
- Jinan Jiang
Institutions
- Hong Kong Polytechnic University (HK)
Publication Details
- Published
- 2025-04-26
- DOI
- https://doi.org/10.1109/icse55347.2025.00200
- Citations
- 2
- Primary Topic
- VLSI and Analog Circuit Testing
- Type
- article
- Field-Weighted Citation Impact
- 4.54