ZKHACK Whiteboard Sessions
ZKHACK Whiteboard Sessions are a series of YouTube videos, where various topics on ZK is described by their experts. I have collected some of my notes taken from these videos here.
-
What is a SNARK?: In module 1, we learn about the initial set of building blocks in zero knowledge - a SNARK and how different proving systems work. We will cover what a SNARK is, how they are used and how they are built. The module is by the one-and-only, Prof. Dan Boneh.
-
Building a SNARK: In modules 2 and 3, we learn how to build an efficient zk-SNARK for general circuits. We will review one particular paradigm to build a SNARK by reviewing the two components that combine to make it up: a functional commitment scheme and a compatible Then, we construct a polynomial IOP by displaying algebraic ideas, such as PLONK. These modules are also by Prof. Dan Boneh.
-
Custom Gates & Lookups: We cover modules 5 and 6 here. First, Adrian Hamelink from Aztec introduces the concepts that make up the Plonk proving system as well as custom gates and other techniques which are commonly used to accelerate Plonk-based SNARKs. Using a toy circuit example, he comes up with a simple custom gate for decomposing large numbers into bits. We then explore how lookup tables make it easier to evaluate functions that were not designed for use within a circuit, as well as efficiently range-checking field elements. In the other module, Mary Maller, a ZK researcher from the Ethereum Foundation, dives into lookup arguments and other common techniques to make provers faster and less expensive. She reviews vector commitments in the standard and lagrange basis, the
halo2
lookup argument, and wraps up the module by presenting her current team's work on the Caulk lookup argument.
-
zkEVM & zkID: We cover modules 10 and 12 here. First, Jordi Baylina breaks down the topic of zkEVMs by walking us through the building of low-level small circuits and demonstrating how these are then used to build zkEVMs. He goes on to clarify misconceptions around zkEVMs and reviews the logic behind how we build state machines. Then, Oleksandr Brezhniev of Polygon ID and host Bobbin Threadbare discuss the types of ID from physical to digital, centralized to self-sovereign and how their work on Polygon's zkID aims to build a system for decentralized identity. Oleksandr explains how the use of blockchain technology and ZK proofs can be used as a form of identity verification.