Paper 2024/1364
FLIP-and-prove R1CS
Abstract
In this work, we consider the setting where one or more users with low computational resources would lie to outsource the task of proof generation for SNARKs to one external entity, named Prover. We study the scenario in which Provers have access to all statements and witnesses to be proven beforehand. We take a different approach to proof aggregation and design a new protocol that reduces simultaneously proving time and communication complexity, without going through recursive proof composition. Our two main contributions: We first design FLIP, a communication efficient folding scheme where we apply the Inner Pairing Product Argument to fold R1CS instances of the same language into a single relaxed R1CS instance. Then, any proof system for relaxed R1CS language can be applied to prove the final instance. As a second contribution, we build a novel variation of Groth16 with the same communication complexity for relaxed R1CS and two extra pairings for verification, with an adapted trusted setup. Compared to SnarkPack - a prior solution addressing scaling for multiple Groth16 proofs - our scheme improves in prover complexity by orders of magnitude, if we consider the total cost to generated the SNARK proofs one by one and the aggregation effort. An immediate application of our solution is Filecoin, a decentralized storage network based on incentives that generates more than 6 million SNARKs for large circuits of 100 million constraints per day.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Preprint.
- Keywords
- zero-knowledge proofsSNARKsblockchain
- Contact author(s)
-
anca nitulescu @ iohk io
nikitas paslis @ upf edu
carla rafols @ upf edu - History
- 2024-08-30: approved
- 2024-08-29: received
- See all versions
- Short URL
- https://ia.cr/2024/1364
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2024/1364, author = {Anca Nitulescu and Nikitas Paslis and Carla Ràfols}, title = {{FLIP}-and-prove {R1CS}}, howpublished = {Cryptology {ePrint} Archive, Paper 2024/1364}, year = {2024}, url = {https://eprint.iacr.org/2024/1364} }