awesome-zero-knowledge-proofs

Zero-Knowledge Proof resource

A curated list of resources and knowledge on Zero-Knowledge Proofs for developers to learn about this cryptographic technique.

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

GitHub

5k stars
184 watching
841 forks
last commit: about 2 months ago
Linked from 8 awesome lists

explaining-snarksknowledge-proofssnarkteam-cryptozk-snarks

Awesome zero knowledge proofs (zkp) / General introduction

Zero Knowledge Proofs: An illustrated primer by Matthew Green
Demystifying zero-knowledge proofs ( ) (math-heavy, awesome introduction into underlying cryptography)
Introduction to SNARKs/STARKs by Eli Ben-Sasson (YouTube)
On Interactive Proofs and Zero-Knowledge: A Primer
ZK Basics Cheatsheet 119 about 1 year ago a "for (not too much) dummies" poster, trying to not miss core concepts despite the simplified approach and topics selection
A Non-Mathematical Introduction to Zero Knowledge Proof a ZKP primer for those who flunked algebra
Part 1: What is a SNARK?
Part 2: Building a SNARK (Part 1):
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

Awesome zero knowledge proofs (zkp) / Courses

The 9th BIU Winter School on Cryptography: Zero Knowledge
UIUC: ECE498AC/CS498AM: Applied Cryptography, Fall 2019
Zero Knowledge Proof, MOOC Spring 2023
[MIT IAP 2023] Modern Zero Knowledge Cryptography

Awesome zero knowledge proofs (zkp) / Use cases

Awesome Privacy on Blockchains 260 11 months ago

Awesome zero knowledge proofs (zkp) / Applications / Ethereum

ZK Sync by

Awesome zero knowledge proofs (zkp) / Applications / Ethereum / ZK Sync

ZK SDK
ZK Sync code 4,887 4 months ago

Awesome zero knowledge proofs (zkp) / Applications / Ethereum

SNARK-based permissioned database: rollup by BarryWhitehat 360 over 1 year ago
Gnosis dFusion: DEX on SNARKs 90 almost 3 years ago
Loopring DEX Protocol (v3) 332 27 days ago
zkPoD: A Practical Decentralized System for Data Exchange 206 over 1 year ago
Dark Forest: zkSNARK space warfare strategy game

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains

Zcash: Privacy-Protecting Digital Currency (SNARKs)

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains / Zcash: Privacy-Protecting Digital Currency

Community Chat
Forums

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains

Monero: Private Digital Currency (Bulletproofs)
Mina Protocol: A Constant-Size Blockchain (recursive SNARKs)

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains / Mina Protocol: A Constant-Size Blockchain

YouTube introduction

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains

Grin: Simple, privacy-focused, scalable MimbleWimble chain implementation (Bulletproofs)
Beam: Private and Scalable Coin based on MimbleWimble
Namada: Asset Agnostic, Multichain privacy (SNARKs)

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains / Namada: Asset Agnostic, Multichain privacy

Youtube Introduction
Specs Documentation

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains

IronFish: Privacy-Preserving Regulatory-Friendly Cryptocurrency Platform (Groth16 zk-SNARKs)

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains / IronFish: Privacy-Preserving Regulatory-Friendly Cryptocurrency Platform

Whitepaper
Community Chat
YouTube Channel

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains

succinct: Write ZKPs with Rust using SP1, a performant, open-source zkVM and generate proofs in 1-click on Succinct’s decentralized prover network

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains / succinct: Write ZKPs with Rust using SP1, a performant, open-source zkVM and generate proofs in 1-click on Succinct’s decentralized prover network

document

Awesome zero knowledge proofs (zkp) / Applications / Other blockchains

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 290 4 months ago
Nexus zkVM: Nexus is a modular, extensible, open-source, highly-parallelized, prover-optimized, contributor-friendly, zkVM written in Rust, focused on performance and security.

Awesome zero knowledge proofs (zkp) / Applications / Non-blockchain

awesome-zkml 821 4 months ago Zero-Knowledge Machine Learning -
zk-email
Proof of Passport 340 4 days ago
Semaphore 916 21 days ago

Awesome zero knowledge proofs (zkp) / Bulletproofs

Introduction and collection of resources
From Zero (Knowledge) to Bulletproofs 157 almost 2 years ago a long and very nice gradual explanation
Bulletproofs succinct and complete description of the protocol

Awesome zero knowledge proofs (zkp) / Bulletproofs / Try

Implementation in Haskell 535 almost 2 years ago
Implementation in Rust 1,049 4 months ago
Implementation in C 1,151 about 2 months ago

Awesome zero knowledge proofs (zkp) / Bulletproofs / Proof system implementations

Programmable Constraint Systems for Bulletproofs

Awesome zero knowledge proofs (zkp) / Bulletproofs / Halo

Halo: Recursive bullet proof composition

Awesome zero knowledge proofs (zkp) / SNARKs / Learn

Introduction to zk-SNARKs with examples
What are zk-SNARKs (Zcash blog)
BabySNARK- The simplest possible SNARK for NP. You know, for kids! 230 6 months ago
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 6: Verifiable Computation Protocol
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 (original paper)
Zcash Sapling protocol spec 274 9 days ago (very useful as detailed cheat-sheet of all cryptography used)
Circom
Halo2

Awesome zero knowledge proofs (zkp) / SNARKs / Try

libsnark (C++) 1,838 9 months ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try / libsnark (C++)

great tutorial 190 over 3 years ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try

bellman (rust) 1,023 4 months ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try / bellman (rust)

demo circuit 8 about 6 years ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try

jsnark (Java, bindings to libsnark) 210 almost 2 years ago
snarky (Ocaml, from O(1) labs, team behind Mina Protocol) 495 about 2 months ago
zokrates (toolbox for zkSNARKs on Ethereum) 1,828 4 months ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try / zokrates (toolbox for zkSNARKs on Ethereum)

ZoKrates Remix plugin tutorial
Zero Knowledge Proof Application Demo, with libsnarks, truffle and docker

Awesome zero knowledge proofs (zkp) / SNARKs / Try

ethsnarks by HarryR (alternative toolkit for viable zk-SNARKS on Ethereum, Web, Mobile and Desktop) 241 24 days ago
gnark - library for zero-knowledge proof protocols written in Go 1,435 6 days ago
circom and snarkjs tutorial 473 over 1 year ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try / circom and snarkjs tutorial

Roll-up tutorial using Circom and SnarkJS by Ying Tong 31 over 5 years ago
A circuit and zk-snark implement using Circom and SnarkJS by Luozhu 61 almost 2 years ago

Awesome zero knowledge proofs (zkp) / SNARKs / Try

SnarkyJS - a TypeScript framework for writing zk-SNARKs in the browser and developing Snapps for Mina Protocol by O(1) labs - WIP 525 4 days ago

Awesome zero knowledge proofs (zkp) / SNARKs / Scaling the prover

DIZK: Java library for distributed zero knowledge proof systems with Apache Spark 234 over 2 years ago (see the )
SnarkyGPU: distributed GPU based zkSNARKs prover 23 about 6 years ago (work in progress)

Awesome zero knowledge proofs (zkp) / SNARKs / Multi-Party Ceremony (MPC) for Trusted Setup

“Powers of Tau” protocol for scalable generation of structured reference string
Implementation of ZCash MPC Ceremony, Part I: "Powers of Tau" 140 over 3 years ago

Awesome zero knowledge proofs (zkp) / SNARKs / Multi-Party Ceremony (MPC) for Trusted Setup / Implementation of ZCash MPC Ceremony, Part I: "Powers of Tau"

Archived independent implementation in Go 33 over 6 years ago

Awesome zero knowledge proofs (zkp) / SNARKs / Multi-Party Ceremony (MPC) for Trusted Setup

Implementation of ZCash MPC Ceremony, Part I: "Sapling Circuit" 30 almost 2 years ago

Awesome zero knowledge proofs (zkp) / SNORKs / Sonic

Introducing Sonic: A Practical zk-SNARK with a Nearly Trustless Setup
Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updateable Structured Reference Strings
Sonic MPC implementation by Matter Labs 24 almost 6 years ago

Awesome zero knowledge proofs (zkp) / SNORKs / PLONK

Awesome PLONK 229 3 months ago : A curated list of awesome things related to plonk proof system
Understanding PLONK by Vitalik Buterin
Ignition: Trusted Setup MPC Ceremony for PLONK
Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge

Awesome zero knowledge proofs (zkp) / SNORKs / Marlin

A Marlin is One of the Fastest SNARKs in the Ocean
Marlin: Preprocessing zkSNARKs with Universal and Updatable SRS

Awesome zero knowledge proofs (zkp) / STARKS / Learn

STARK @ Home {video playlist}

Awesome zero knowledge proofs (zkp) / STARKS / 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 [email protected]
Part I: Proofs with Polynomials
Part II: Thank Goodness It's FRI-day
Part III: Into the Weeds
The STARK paper
libstark implementation 507 over 1 year ago

Awesome zero knowledge proofs (zkp) / STARKS / SuperSonic

Transparent SNARKs from DARK Compilers (Dec 2019)
Introducing Sonic: A Practical zk-SNARK with a Nearly Trustless Setup

Awesome zero knowledge proofs (zkp) / STARKS / Fractal

Fractal: Post-Quantum and Transparent Recursive Proofs from Holography

Awesome zero knowledge proofs (zkp) / Social media

Awesome zero knowledge twitter list
Zero-knowledge podcast
ZKProof, an academic and industry initiative for standardizing Zero Knowledge Proofs

Backlinks from these awesome lists:

More related projects: