Skip to content

A curated list of zero-knowledge folding schemes

License

Notifications You must be signed in to change notification settings

intldds/awesome-folding

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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)

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

  • Nova-Scotia
    • This repository provides necessary middleware to take generated output of the Circom compiler (R1CS constraints and generated witnesses) and use them with Nova as a prover.
  • Lurk
  • Nova-SHA256
    • This repository provides a SHA-256 implementation utilizing Nova to repeatedly apply the SHA-256 compression function at each step.
    • The implementation utilizes SHA-256 from the bellperson library

About

A curated list of zero-knowledge folding schemes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published