Skip to content
A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).
Branch: master
Clone or download
Latest commit 19e507b Jan 16, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CONTRIBUTING.md contribution changed Nov 10, 2018
LICENSE Update LICENSE Aug 9, 2019
README.md typo Jan 16, 2020

README.md

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

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

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

Courses

Applications

Ethereum

Other blockchains

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 Strong 😒 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:

Zcash blog series:

Vitalik Buterin's blog series on SNARKs:

Protocol descriptions:

Try

Scaling the prover

Multi-Party Ceremony (MPC) for Trusted Setup

SNORKs

SNORK = Succinct 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.

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!

You can’t perform that action at this time.