awesome-zero-knowledge-proofs
A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).
https://github.com/matter-labs/awesome-zero-knowledge-proofs
Last synced: about 5 hours ago
JSON representation
-
Applications
-
Ethereum
- ZK Sync - labs.io)
- Gnosis dFusion: DEX on SNARKs
- Loopring DEX Protocol (v3)
- Dark Forest: zkSNARK space warfare strategy game
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync - labs.io)
- ZK Sync code
- SNARK-based permissioned database: rollup by BarryWhitehat
- zkPoD: A Practical Decentralized System for Data Exchange
- ZK Sync - labs.io)
-
Non-blockchain
-
Other blockchains
- Community Chat
- Forums
- Mina Protocol: A Constant-Size Blockchain
- YouTube introduction
- Grin: Simple, privacy-focused, scalable MimbleWimble chain implementation
- Beam: Private and Scalable Coin based on MimbleWimble
- Community Chat
- Namada: Asset Agnostic, Multichain privacy
- Youtube Introduction
- Specs Documentation
- Whitepaper
- Community Chat
- YouTube Channel
- Youtube Introduction
- document
- Valida: Valida is a STARK-based virtual machine,The VM has a RISC-inspired instruction set,The VM is designed to be customizable. It can easily be extended to include an arbitrary number of user-defined instructions
- Nexus zkVM: Nexus is a modular, extensible, open-source, highly-parallelized, prover-optimized, contributor-friendly, zkVM written in Rust, focused on performance and security.
- Youtube Introduction
- Monero: Private Digital Currency
- Zcash: Privacy-Protecting Digital Currency
-
-
Bulletproofs
-
Halo
-
Non-blockchain
- Introduction and collection of resources
- Bulletproofs - succinct and complete description of the protocol
- From Zero (Knowledge) to Bulletproofs - a long and very nice gradual explanation
-
Proof system implementations
-
Try
-
-
Courses
-
General introduction
- Zero-Knowledge Proofs Starter Pack
- Zero Knowledge Proofs: An illustrated primer by Matthew Green
- Demystifying zero-knowledge proofs - heavy, awesome introduction into underlying cryptography)
- Introduction to SNARKs/STARKs by Eli Ben-Sasson
- On Interactive Proofs and Zero-Knowledge: A Primer
- A Non-Mathematical Introduction to Zero Knowledge Proof - a ZKP primer for those who flunked algebra
- ZK whiteboard sessions by ZK Hack
- Part 1: What is a SNARK?
- Part 3: Building a SNARK (Part 2)
- Part 4: SNARKS vs. STARKS
- Part 5: PLONK and Custom Gates with Adrian Hamelink
- Part 6: Lookup Arguments for Performance Optimisation
- Part 7: Zero Knowledge Virtual Machines (zkVM)
- Part 8: Achieving Decentralised Private Computation
- Part 9: Introduction to zkRollups
- Part I
- Part II
- Part III
- Appendix
- Part I
- Part II
- https://zkp.science
- Part 2: Building a SNARK (Part 1):
- ZK Basics Cheatsheet - a "for (not too much) dummies" poster, trying to not miss core concepts despite the simplified approach and topics selection
-
SNARKs
-
Learn
- Introduction to zk-SNARKs with examples
- What are zk-SNARKs (Zcash blog)
- The MoonMath Manual to zk-SNARKs (A free learning resource for beginners to experts)
- Why and How zk-SNARK Works 1: Introduction & the Medium of a Proof
- Why and How zk-SNARK Works 2: Proving Knowledge of a Polynomial
- Why and How zk-SNARK Works 3: Non-interactivity & Distributed Setup
- Why and How zk-SNARK Works 4: General-Purpose Computation
- Why and How zk-SNARK Works 5: Variable Polynomials
- Why and How zk-SNARK Works 7: Constraints and Public Inputs
- Why and How zk-SNARK Works 8: Zero-Knowledge Computation
- ZkStudyClub Part 1: Polynomial Commitments with Justin Drake
- ZkStudyClub Part 2: Polynomial Commitments with Justin Drake
- ZkStudyClub Part 3: Polynomial Commitments with Justin Drake
- Explaining SNARKs Part I: Homomorphic Hidings
- Explaining SNARKs Part II: Blind Evaluation of Polynomials
- Explaining SNARKs Part III: The Knowledge of Coefficient Test and Assumption
- Explaining SNARKs Part IV: How to make Blind Evaluation of Polynomials Verifiable
- Explaining SNARKs Part V: From Computations to Polynomials
- Explaining SNARKs Part VI: The Pinocchio Protocol
- Explaining SNARKs Part VII: Pairings of Elliptic Curves
- Part 1: Quadratic Arithmetic Programs: from Zero to Hero
- Part 2: Exploring Elliptic Curve Pairings
- Part 3: Zk-SNARKs: Under the Hood
- zkSNARKs in a Nutshell
- Groth16 protocol
- Circom
- Halo2
- Zcash Sapling protocol spec - sheet of all cryptography used)
- BabySNARK- The simplest possible SNARK for NP. You know, for kids!
- Ronkathon: Learn Cryptography from First Principles
-
Multi-Party Ceremony (MPC) for Trusted Setup
-
Scaling the prover
-
Try
- ZoKrates Remix plugin tutorial
- Zero Knowledge Proof Application Demo, with libsnarks, truffle and docker
- circom and snarkjs tutorial
- libsnark (C++)
- demo circuit
- jsnark (Java, bindings to libsnark)
- snarky (Ocaml, from O(1) labs, team behind Mina Protocol)
- zokrates (toolbox for zkSNARKs on Ethereum)
- ethsnarks by HarryR (alternative toolkit for viable zk-SNARKS on Ethereum, Web, Mobile and Desktop)
- gnark - library for zero-knowledge proof protocols written in Go
- Roll-up tutorial using Circom and SnarkJS by Ying Tong
- A circuit and zk-snark implement using Circom and SnarkJS by Luozhu
- Ronkathon: Applied Cryptography from first principles
- great tutorial
-
-
SNORKs
-
Marlin
-
PLONK
-
Sonic
-
-
Social media
-
STARKS
-
Fractal
-
FRI-STARKs
- Transparent Succinct Arguments by Alessandro Chiesa (Oct 2018)
- State of the STARK by Eli Ben-Sasson (Devcon IV, Oct 2018)
- Introduction to ZK-STARKs by remco@0x.org
- Part I: Proofs with Polynomials
- Part II: Thank Goodness It's FRI-day
- Part III: Into the Weeds
- The STARK paper
- Part I: Proofs with Polynomials
- Part II: Thank Goodness It's FRI-day
- Part III: Into the Weeds
- libstark implementation
- starkware.co
-
Learn
-
SuperSonic
-
-
Use cases
Programming Languages
Categories
Sub Categories
Keywords
ethereum
5
zero-knowledge
5
zk-snarks
3
zero-knowledge-proofs
3
cryptography
3
privacy
2
blockchain
2
zkp
2
zksnarks
2
solidity
2
python
1
pinocchio
1
cplusplus-11
1
algorithms
1
research
1
sdk
1
fair-exchange
1
decentralized-internet
1
data-exchange
1
confidentiality
1
zcash
1
p2p
1
monero
1
grin
1
cryptocurrency
1
confidential
1
bitcoin
1
awesome-list
1
anonymity
1
rustlang
1
mathematics
1
verifiable-computation
1
snark
1
language
1
team-core
1
nizk
1
proof
1
proof-of-knowledge
1
prover
1
simulator
1
soundness
1
verifier
1
contributor-friendly
1
modular
1
rust
1
gnark
1
golang
1
plonk
1
r1cs
1
zk-rollup
1