Circom: a circuit description language for building zero-knowledge applications
View/Open
Cita com:
hdl:2117/399991
Document typeArticle
Defense date2023-11
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessOpen Access
Except where otherwise noted, content on this work
is licensed under a Creative Commons license
:
Attribution 4.0 International
Abstract
A zero-knowledge (ZK) proof guarantees that the result of a computation is correct while keeping part of the computation details private. Some ZK proofs are tiny and can be verified in short time, which makes them one of the most promising technologies for solving two key aspects: the challenge of enabling privacy to public and transparent distributed ledgers and enhancing their scalability limitations. Most practical ZK systems require the computation to be expressed as an arithmetic circuit that is encoded as a set of equations called rank-1 constraint system (R1CS). In this paper, we present Circom , a programming language and a compiler for designing arithmetic circuits that are compiled to R1CS. More precisely, with Circom , programmers can design arithmetic circuits at a constraint level, and the compiler outputs a file with the R1CS description, and WebAssembly and C++ programs to efficiently compute all values of the circuit. We also provide an open-source library called circomlib with multiple circuit templates. Circom can be complemented with snarkjs , a library for generating and validating ZK proofs from R1CS. Altogether, our software tools abstract the complexity of ZK proving mechanisms and provide a unique and friendly interface to model low-level descriptions of arithmetic circuits.
Description
© 2023 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
CitationBellés-Muñoz, M. [et al.]. Circom: a circuit description language for building zero-knowledge applications. "IEEE transactions on dependable and secure computing", Novembre 2023, vol. 20, núm. 6, p. 4733-4751.
ISSN1545-5971
Publisher versionhttps://ieeexplore.ieee.org/document/10002421
Collections
Files | Description | Size | Format | View |
---|---|---|---|---|
main_techrxiv.pdf | Main article | 309,4Kb | View/Open |