SNARKs are becoming very popular in real-world applications such as delegated computation or blockchain systems: An example of early practical use case, Zerocash showed how that we can deploy zk-SNARKs in distributed ledgers to achieve payment systems with strong privacy guarantees. More recent zk-SNARK use cases are in Ethereum smart contracts for boosting scalability and privacy. Another example of SNARK application is the Filecoin System that implements a decentralized storage solution for the internet. To date, the Filecoin Network is the largest SNARK system in production, producing and verifying over 5 million SNARKs on a daily basis.
Due to their rapid and massive adoption, the SNARKs schemes used today start facing new challenges: the generation of trusted setups requires complicated ceremonies, proving large statements has significant overhead, verifying multiple proofs is expensive even with batching, so many blockchain systems have therefore scalability issues.
Span of this effort: 2021
In this work, we look into reducing proof size and verifier time for SNARKs even further in order to meet these significant scalability requirements.
We design SnarkPack:
SnarkPack is the first real-world aggregation system that can be used in blockchains applications to reduce the on-chain work by employing verifiable outsourcing to process a large number of proofs off-chain. This applies broadly to any system that needs to delegate batches of state updates to an untrusted server.
Academic paper: eprint.iacr.org/2021/529
Implementation for Filecoin: Library bellperson
Talk accepted to RWC22:
session-27: Zero Knowledge and Forward Secrecy + RWC 2022 Closing Remarks
Paper accepted at Financial Crypto2022
@Anonymous (DRI), @Deleted User, Mary Maller