Skip to content
vic

matter-labs/awesome-zero-knowledge-proofs

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

matter-labs/awesome-zero-knowledge-proofs.json
{
"createdAt": "2018-11-10T05:14:37Z",
"defaultBranch": "master",
"description": "A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).",
"fullName": "matter-labs/awesome-zero-knowledge-proofs",
"homepage": "",
"language": null,
"name": "awesome-zero-knowledge-proofs",
"pushedAt": "2024-09-25T13:04:59Z",
"stargazersCount": 5703,
"topics": [
"explaining-snarks",
"knowledge-proofs",
"snark",
"team-crypto",
"zk-snarks"
],
"updatedAt": "2025-11-27T00:09:33Z",
"url": "https://github.com/matter-labs/awesome-zero-knowledge-proofs"
}

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

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

Section titled “Comparison of the most popular zkp systems”
SNARKsSTARKsBulletproofs
Algorithmic complexity: proverO(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 TXTx: 200 bytes, Key: 50 MB45 kB1.5 kb
- size estimate for 10.000 TXTx: 200 bytes, Key: 500 GB135 kb2.5 kb
Ethereum/EVM verification gas cost~600k (Groth16)~2.5M (estimate, no impl.)N/A
Trusted setup required?YES :unamused:NO :smile:NO :smile:
Post-quantum secureNO :unamused:YES :smile:NO :unamused:
Crypto assumptionsDLP + secure bilinear pairing :unamused:Collision resistant hashes :smile:Discrete log :smirk:

SNARK = Succinct Non-interactive ARguments of Knowledge

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:

Multi-Party Ceremony (MPC) for Trusted Setup

Section titled “Multi-Party Ceremony (MPC) for Trusted Setup”

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

SNORKs are SNARKs with universal and updateable trusted setup.

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

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

STARK = Succinct (Scalable) Transparent ARguments of Knowledge

STARKs are SNARKs without Trusted Setup.

Get started:

Introduction:

Vitalik Buterin’s blog series on STARKs:

Academic resources:

More resources available at starkware.co

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

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

Stay tuned!