SEASON 2 MODULE 2
The Sum-Check Protocol w/ Justin Thaler
In this module, Tracy Livengood and Justin Thaler provide a comprehensive introduction to the sum-check protocol and why it is so powerful, beginning with a catch-up on polynomials (univariate, multivariate, multilinear) as well as the important concept of multilinear extensions, and introduce the “equality” function. They go on to explain the mechanics of the sum-check protocol, detailing its goals and process, before walking us through the rounds of the protocol and demonstrating how it is applied. They then highlight the advantages of sum-check over other SNARK systems, and sketch the Spartan polynomial IOP. Toward the end, they delve into the Goldwasser, Kalai and Rothblum (GKR) protocol and discuss the trade-offs between this system and Spartan.
What you’ll learn:
- 00:00 Intro
- 02:40 Univariate, multivariate and multilinear polynomials
- 07:13 Multilinear extensions
- 16:03 The equality function
- 20:33 Goal of the sum-check protocol
- 22:40 Applying sum-check
- 32:01 Application to R1CS
- 37:03 Benefits of sum-check
- 39:33 How Spartan polynomial IOP uses sum-check
- 48:42 The GKR Protocol
- 55:30 Trade-offs vs Spartan
Below is an accompanying reading list:
- [LFKN92] Algebraic methods for interactive proof systems (ResearchGate), by Carsten Lund, Lance Fortnow, Howard Karloff, and Noam Nisan (J. ACM, 1992)
- Spartan: Efficient and general-purpose zkSNARKs without trusted setup, by Srinath Setty (Microsoft Research, 2019)
- Marlin: Preprocessing zkSNARKs with Universal and Updatable SRS, by Alessandro Chiesa, Yuncong Hu, Mary Maller, Pratyush Mishra, Psi Vesely and Nicholas Ward, 2020
- Polynomial Interactive Oracle Proof (IOP) definition – ZK Jargon Decoder
- Delegating Computation: Interactive Proofs for Muggles (Microsoft), by Shafi Goldwasser, Yael Tauman Kalai, Guy N. Rothblum, 2008
ZK Whiteboard Sessions is an educational series on all things zero knowledge. Presented by ZK Hack.
Get notified on the latest module’s release by signing up below:
You're in. We'll let you know when the next module is live!