A Comparative Analysis of zk-SNARKs and zk-STARKs: Theory and Practice
Ayush Nainwal, Atharva Kamble, Nitin Awathare

TL;DR
This paper systematically compares zk-SNARKs and zk-STARKs in real-world conditions, analyzing their performance trade-offs, implementation details, and suitability for various privacy-preserving applications.
Contribution
It provides the first empirical, implementation-level comparison of zk-SNARKs and zk-STARKs on consumer hardware, highlighting practical performance differences and bottlenecks.
Findings
zk-SNARKs generate proofs 68x faster with 123x smaller size
zk-STARKs verify faster and are transparent and post-quantum secure
Distinct computational bottlenecks identified in profiling
Abstract
Zero-knowledge proofs (ZKPs) are central to secure and privacy-preserving computation, with zk-SNARKs and zk-STARKs emerging as leading frameworks offering distinct trade-offs in efficiency, scalability, and trust assumptions. While their theoretical foundations are well studied, practical performance under real-world conditions remains less understood. In this work, we present a systematic, implementation-level comparison of zk-SNARKs (Groth16) and zk-STARKs using publicly available reference implementations on a consumer-grade ARM platform. Our empirical evaluation covers proof generation time, verification latency, proof size, and CPU profiling. Results show that zk-SNARKs generate proofs 68x faster with 123x smaller proof size, but verify slower and require trusted setup, whereas zk-STARKs, despite larger proofs and slower generation, verify faster and remain transparent and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCryptography and Data Security · Distributed systems and fault tolerance · Security and Verification in Computing
