Skip to content

About

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

Topics

Resources

Contributing

Stars

5.8k stars

Watchers

180 watching

Forks

Latest commit

 

History

146 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

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

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).

Topics

Resources

Contributing

Stars

5.8k stars

Watchers

180 watching

Forks

Releases

Packages

Used by

Contributors