Paper 2025/534 Original: eprint.iacr.org/2025/534 ↗

Plonkify: R1CS-to-Plonk transpiler

Pengfei Zhu
Abstract

Rank-1 Constraint Systems (R1CS) and Plonk constraint systems are two commonly used circuit formats for zero-knowledge succinct non-interactive arguments of knowledge (zkSNARKs). We present Plonkify, a tool that converts a circuit in an R1CS arithmetization to Plonk, with support for both vanilla gates and custom gates. Our tool is able to convert an R1CS circuit (compiled from the Circom circuit description language) with 250,938 constraints to a vanilla Plonk circuit with 589,829 constraints, or a jellyfish turbo Plonk circuit with 370,086 constraints. This represents a $3.8\times$ and $2.0\times$ reduction in the number of constraints over the respective naïve conversions. Further, we make several optimizations to the Circom compiler in order to minimize the number of non-zero elements in the generated R1CS circuits, and to facilitate conversion to Plonks. When recompiled with our optimized version of Circom, the aforementioned circuit sees a 49% reduction in the number of non-zero elements, with only a 0.4% increase in the number of constraints. The same circuit can now be represented in just 422,610 vanilla Plonk constraints, or 312,163 high-degree ones.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Preprint.
History
2025-05-27: last updated
2025-03-22: published
Short URL
https://ia.cr/2025/534
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2025/534,
      author = {Pengfei Zhu},
      title = {Plonkify: R1CS-to-Plonk transpiler},
      howpublished = {Cryptology {ePrint} Archive, Paper 2025/534},
      year = {2025},
      url = {https://eprint.iacr.org/2025/534}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.