lemonviv / awesome-zero-knowledge-proofs

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:Other