Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access
Just Accepted

RNA: R1CS Normalization Algorithm Based on Data Flow Graphs for Zero-Knowledge Proofs

Online AM: 17 May 2024 Publication History

Abstract

The communities of blockchains and distributed ledgers have been stirred up by the introduction of zero-knowledge proofs (ZKPs). Originally designed as a solution to privacy issues, ZKPs have now evolved into an effective remedy for scalability concerns. To enable ZKPs, Rank-1 Constraint Systems (R1CS) offer a verifier for bi-linear equations. In order to accurately and efficiently represent R1CS, several language tools like Circom, Noir, and Snarky have been proposed to automate the compilation of advanced programs into R1CS. However, due to the flexible nature of R1CS representation, there can be significant differences in the compiled R1CS forms generated from circuit language programs with the same underlying semantics. To address this issue, this paper puts forth a data-flow-based R1CS paradigm algorithm, which produces a standardized format for different R1CS instances with identical semantics. Additionally, we present an R1CS benchmark, and our experimental evaluation demonstrates the efficacy of our methods.

References

[1]
2014. ZCash Company. https://z.cash/.
[2]
Frances E Allen. 1970. Control Flow Analysis. ACM Sigplan Notices 5, 7 (1970), 1–19.
[3]
Frances E. Allen and John Cocke. 1976. A Program Data Flow Analysis Procedure. Commun. ACM 19, 3 (1976), 137.
[4]
Nada Amin, John Burnham, François Garillot, Rosario Gennaro, Chhi’mèd Künzang, Daniel Rogozin, and Cameron Wong. 2023. LURK: Lambda, the Ultimate Recursive Knowledge (Experience Report). Proc. ACM Program. Lang. 7, ICFP, Article 197(8 2023), 8 pages. https://doi.org/10.1145/3607839
[5]
Blair Archibald, Muffy Calder, and Michele Sevegnani. 2022. Probabilistic Bigraphs. Form. Asp. Comput. 34, 2, Article 10 (9 2022), 27 pages. https://doi.org/10.1145/3545180
[6]
Blair Archibald, Géza Kulcsár, and Michele Sevegnani. 2021. A Tale of Two Graph Models: A Case Study in Wireless Sensor Networks. Form. Asp. Comput. 33, 6 (12 2021), 1249–1277. https://doi.org/10.1007/s00165-021-00558-z
[7]
Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina. 2023. Circom: A Circuit Description Language for Building Zero-Knowledge Applications. IEEE Transactions on Dependable and Secure Computing 20, 6 (2023), 4733–4751. https://doi.org/10.1109/TDSC.2022.3232813
[8]
Eli Ben-Sasson, Iddo Bentov, Yinon Horesh, and Michael Riabzev. 2018. Scalable, Transparent, and Post-Quantum Secure Computational Integrity. IACR Cryptol. ePrint Arch. 2018 (2018), 46.
[9]
Eli Ben-Sasson, Alessandro Chiesa, Michael Riabzev, Nicholas Spooner, Madars Virza, and Nicholas P Ward. 2019. Aurora: Transparent Succinct Arguments for R1CS. In Proceedings of the 38th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT ’2019). Springer, 103–128.
[10]
Sean Bowe, Jack Grigg, and Daira Hopwood. 2019. Halo: Recursive Proof Composition without a Trusted Setup. IACR Cryptol. ePrint Arch. 2019 (2019), 1021.
[11]
Vitalik Buterin. 2016. Quadratic Arithmetic Programs: From Zero to Hero. https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649
[12]
Collin Chin, Howard Wu, Raymond Chu, Alessandro Coglio, Eric McCarthy, and Eric Smith. 2021. Leo: A Programming Language for Formally Verified, Zero-Knowledge Applications. IACR Cryptol. ePrint Arch. 2021 (2021), 651. https://eprint.iacr.org/2021/651
[13]
Jack B. Dennis. 1974. First Version of a Data Flow Procedure Language. In Programming Symposium: Proceedings, Colloque sur la Programmation Paris, April 9–11, 1974, B. Robinet (Ed.). Springer, Springer Berlin Heidelberg, Berlin, Heidelberg, 362–376.
[14]
Jacob Eberhardt and Stefan Tai. 2018. ZoKrates - Scalable Privacy-Preserving Off-Chain Computations. In 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). 1084–1091. https://doi.org/10.1109/Cybermatics_2018.2018.00199
[15]
Zhiyong Fang, David Darais, Joseph P Near, and Yupeng Zhang. 2021. Zero Knowledge Static Program Analysis. In Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security (CCS ’21). Association for Computing Machinery, 2951–2967. https://doi.org/10.1145/3460120.3484795
[16]
Jeanne Ferrante, Karl J Ottenstein, and Joe D Warren. 1987. The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages and Systems (TOPLAS) 9, 3(1987), 319–349.
[17]
Li Gao, Zhongqi Li, Dongsheng Yang, and Yinzhong Liu. 2013. Compiling Method from Intermediate Language (IL) Program to C Language Program of Instruction List.
[18]
Lior Goldberg, Shahar Papini, and Michael Riabzev. 2021. Cairo–a Turing-Complete STARK-Friendly CPU Architecture. IACR Cryptol. ePrint Arch. 2021 (2021), 1063.
[19]
Shafi Goldwasser, Silvio Micali, and Chales Rackoff. 2019. The Knowledge Complexity of Interactive Proof Systems. In Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali. 203–225.
[20]
Alexander Golovnev, Jonathan Lee, Srinath T. V. Setty, Justin Thaler, and Riad S. Wahby. 2021. Brakedown: Linear-time and post-quantum SNARKs for R1CS. IACR Cryptol. ePrint Arch.(2021), 1043. https://eprint.iacr.org/2021/1043
[21]
Jonathan Lee, Srinath Setty, Justin Thaler, and Riad Wahby. 2021. Linear-Time and Post-Quantum Zero-Knowledge SNARKs for R1CS. IACR Cryptol. ePrint Arch.(2021), 30. https://eprint.iacr.org/2021/030
[22]
Maria Maximova, Sven Schneider, and Holger Giese. 2023. Compositional Analysis of Probabilistic Timed Graph Transformation Systems. Form. Asp. Comput. 35, 3, Article 16 (9 2023), 79 pages. https://doi.org/10.1145/3572782
[23]
Alex Ozdemir, Fraser Brown, and Riad S Wahby. 2022. CirC: Compiler Infrastructure for Proof systems, Software Verification, and More. In 2022 IEEE Symposium on Security and Privacy (SP). IEEE, 2248–2266. https://doi.org/10.1109/SP46214.2022.9833782
[24]
Eli Ben Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer, and Madars Virza. 2014. Zerocash: Decentralized Anonymous Payments from Bitcoin. In 2014 IEEE symposium on security and privacy. IEEE, 459–474.
[25]
Chenhao Shi, Hao Chen, Ruibang Liu, and Guoqiang Li. 2023. Data-Flow-Based Normalization Generation Algorithm of R1CS for Zero-Knowledge Proof. In Proceedings of the IEEE 28th Pacific Rim International Symposium on Dependable Computing (PRDC ’2023). IEEE, 191–197.
[26]
Philip C Treleaven, David R Brownbridge, and Richard P Hopkins. 1982. Data-Driven and Demand-Driven Computer Architecture. ACM Computing Surveys (CSUR) 14, 1 (1982), 93–143.
[27]
Heribert Vollmer. 1999. Introduction to Circuit Complexity: A Uniform Approach. Springer Science & Business Media.
[28]
Hongbo Wen, Jon Stephens, Yanju Chen, Kostas Ferles, Shankara Pailoor, Kyle Charbonnet, Isil Dillig, and Yu Feng. 2023. Practical Security Analysis of Zero-Knowledge Proof Circuits. IACR Cryptol. ePrint Arch. 2023 (2023), 190.
[29]
Wenpu Xing and Ali Ghorbani. 2004. Weighted Pagerank Algorithm. In Proceedings. Second Annual Conference on Communication Networks and Services Research, 2004. (CNSR ’04). IEEE, 305–314.
[30]
Ke Yang. 2001. Integer Circuit Evaluation is PSPACE-complete. J. Comput. System Sci. 63, 2 (2001), 288–303.
[31]
Zimu Yuan, Muyue Feng, Gu Ban, Yang Xiao, Jiahuan Xu, Chendong Yu, Yi Huo, and Wei Zou. 2019. Semantic Comparison Method and Device between a Kind of Source Code and Binary Code.
[32]
Yongsheng Zhao, Zhiyong Chen, Rongtao Cui, and Zhili Wen. 2015. A Kind of Assembly Language is to the Code Conversion Method of Higher Level Language and Device.

Index Terms

  1. RNA: R1CS Normalization Algorithm Based on Data Flow Graphs for Zero-Knowledge Proofs

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Formal Aspects of Computing
    Formal Aspects of Computing Just Accepted
    EISSN:1433-299X
    Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Online AM: 17 May 2024
    Accepted: 13 May 2024
    Revised: 02 April 2024
    Received: 30 December 2023

    Check for updates

    Author Tags

    1. Zero-knowledge proof
    2. Rank-1 constraint systems
    3. Data flow graph
    4. ZKP Programming
    5. Normalization

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 204
      Total Downloads
    • Downloads (Last 12 months)204
    • Downloads (Last 6 weeks)56
    Reflects downloads up to 16 Oct 2024

    Other Metrics

    Citations

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media