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

0xJackLing/awesome-zero-knowledge-proofs

This branch is 50 commits behind matter-labs/awesome-zero-knowledge-proofs:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d8fe755 Β· Sep 12, 2022

History

85 Commits
Nov 10, 2018
Aug 9, 2019
Sep 12, 2022

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

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

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:

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