/awesome-folding

A curated list of zero-knowledge folding schemes

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome-Folding

A curated list of awesome resources related to zero-knowledge folding schemes. Folding schemes are a revolutionary approach to incrementally verifiable computation (IVC), fundamental to efficient and correct execution of computational steps in Zero-Knowledge Proofs.

Writings (papers, blog posts, etc)

Prequels

Arithmetization

A gentle introduction to Plonk-like arithmetization, lookup arguments and the birth of lookup arguments in the Plonk world.

Spartan

The final SNARK used in Nova (only using MSMs)

IVC and PCD

Halo

The prototype of the delayed proving approach which Nova puts on steroids.

Aggregation schemes

Aggregation schemes show how to extend the aggregation ideas in Halo to any additively-homomorphic PC scheme, and construct PCD from these.

Accumulation schemes

Accumulation schemes are a generalization of both Halo-style aggregation and Nova-style folding schemes that allow analyzing these ideas in a single system. The papers below show how to use efficient accumulation schemes for certain predicates (e.g., polynomial commitments) to construct efficient PCD schemes.

Classic Nova

Classic works on the Nova proof system, including seminal papers and accompanying presentations.

Nova Extensions (without high-degree gates)

Extensions to the Nova proof system that explore PCS in terms of linear codes, folding, and other concepts.

HyperNova / ProtoStar : The next generation (with high-degree gates)

Deep Space Nine (New commitment schemes, new lookup & proof arguments)

Code (software repositories)

Reference implementations

  • microsoft/nova
  • lurk-lab/arecibo: This repository is a fork of the original. It's an incubator for experimenting with more advanced variants of the original software and working out the kinks in them

Teaching / experimental implementations

Code Explorations

Code implementations and explorations related to the Nova proof system, including benchmarks, specifications, and experimental versions.

Other resources (podcasts, etc)

Podcast episodes

Talks & Lectures

Zuzalu talks

Articles

Forums

Applications