Folding Custom Gates with Verifier Input
Aard Vark, Yan X Zhang
TL;DR
The paper addresses the challenge of folding multiple constraint instances in interactive proofs by generalizing Nova-style folding to arbitrary polynomial gates and by introducing verifier input through custom gates. It develops a formal protocol for relaxed AIRs, committed relaxed AIRs, and a single-fold operation, then extends to custom gates with verifier input and applies this framework to folding Halo2 lookups via Origami. The main contributions include a complete protocol for custom gates with verifier randomness, an explicit Origami folding scheme for lookups, and a comparative analysis with Nova, Sangria, and related works. This work advances efficient, scalable verification by enabling lookups to be folded alongside other computations, improving the practicality of zero-knowledge or public-verifier proofs in lookup-heavy circuits.
Abstract
In the context of interactive proofs, a "folding scheme" (popularized by Nova) is a way to combine multiple instances of a constraint system into a single instance, so the validity of the multiple instances can statistically be reduced to the validity of a single one. We show how Nova folding can be generalized to ``custom'' gates and extra rounds of verifier randomness. As an application of this extension, we present Origami, the first (to our knowledge) known example of a folding scheme for lookups.
