Skip to content

A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).

License

Notifications You must be signed in to change notification settings

o-ebit/awesome-zero-knowledge-proofs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome zero knowledge proofs (zkp)

Awesome A curated list of awesome things related to learning zero knowledge proofs

Contents

General introduction

Zero-Knowledge Proofs Starter Pack: alternative introductory list for beginners (more videos).

ZK whiteboard sessions by ZK Hack:

A Hands-On Tutorial for Zero-Knowledge Proofs by Shir Peled (StarkWare):

Zero-Knowledge Proofs for Engineers (Dark Forest)

More complete curated list of implementations and scientific resources: https://zkp.science

Courses

Use cases

Applications

Ethereum

Other blockchains

Non-blockchain

Comparison of the most popular zkp systems

SNARKs STARKs Bulletproofs
Algorithmic complexity: prover O(N * log(N)) O(N * poly-log(N)) O(N * log(N))
Algorithmic complexity: verifier ~O(1) O(poly-log(N)) O(N)
Communication complexity (proof size) ~O(1) O(poly-log(N)) O(log(N))
- size estimate for 1 TX Tx: 200 bytes, Key: 50 MB 45 kB 1.5 kb
- size estimate for 10.000 TX Tx: 200 bytes, Key: 500 GB 135 kb 2.5 kb
Ethereum/EVM verification gas cost ~600k (Groth16) ~2.5M (estimate, no impl.) N/A
Trusted setup required? YES 😒 NO 😄 NO 😄
Post-quantum secure NO 😒 YES 😄 NO 😒
Crypto assumptions DLP + secure bilinear pairing 😒 Collision resistant hashes 😄 Discrete log 😏

Bulletproofs

Try

Proof system implementations

Halo

SNARKs

SNARK = Succinct Non-interactive ARguments of Knowledge

Learn

Get started:

Why and How zk-SNARK Works:

ZkStudyClub:

Electric Coin blog series:

Vitalik Buterin's blog series on SNARKs:

Protocol descriptions:

OxPARC learning group:

Try

Scaling the prover

Multi-Party Ceremony (MPC) for Trusted Setup

SNORKs

SNORK = Succinct Non-interactive Oecumenical (Universal) aRguments of Knowledge

SNORKs are SNARKs with universal and updateable trusted setup.

Sonic

PLONK

(This is a recent development. Contributions are welcome!)

Marlin

(This is a recent development. Contributions are welcome!)

STARKS

STARK = Succinct (Scalable) Transparent ARguments of Knowledge

STARKs are SNARKs without Trusted Setup.

Learn

Get started:

FRI-STARKs

Introduction:

Vitalik Buterin's blog series on STARKs:

Academic resources:

More resources available at starkware.co

SuperSonic

(This is a recent development. Contributions are welcome!)

Fractal

(This is a recent development. Contributions are welcome!)

Social media

Stay tuned!

About

A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published