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
  • Get Citation Alerts
  • 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
      ISSN:0934-5043
      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
      • 133
        Total Downloads
      • Downloads (Last 12 months)133
      • Downloads (Last 6 weeks)50
      Reflects downloads up to 11 Aug 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