- Basics
- Projects
- Programming Languages
- Programming Libraries
- Advanced Topics
- Tools
- Auditing and Consulting
- Discussions
- Communities
- Prerequisite understanding questions
- ZKP Overview: History, Proving Systems, Circuits, Compilers
- Introduction
- Vitalik's blogs for STARKs
- Explaining STARKs
- zkSNARKs in a nutshell
- Comments on paper: zkSNARKs in a Nutshell by Aaron
- An approximate introduction to how zk-SNARKs are possible
- Explaining SNARKs
- Part I: Homomorphic Hidings
- Part II: Blind Evaluation of Polynomials
- Part III: The Knowledge of Coefficient Test and Assumption
- Part IV: How to make Blind Evaluation of Polynomials Verifiable
- Part V: From Computations to Polynomials
- Part VI: The Pinocchio Protocol
- Part VII: Pairings of Elliptic Curves
- Important landmarks for zk-SNARKs
- Circuit optimization
- Introduction to Layer 2
- Matter Labs zkEVM
- Hermez zkEVM
- Mir Protocol
- Scroll and their zkEVM
- Sin7Y zkEVM
- zCloak Space
- Delphinus zkWASM
- Appliedzkp: Circuits for zkEVM
- ConsenSys zkEVM and their gnark library
- Aleo: A SDK for Zero-Knowledge Transactions
- Iron Fish: the universal privacy layer for crypto
- Mina: a payment system using a succinct blockchain
- Celo: EVM compatible proof-of-stake layer-1 and their Light clients with ZKPs
- Zeeka Network: a light and scalable blockchain using ZKPs
- quark: decentralized state machine with STARK proofs
- Lelantus: transaction confidentiality and anonymity
- Aztec: Scalable Privacy on Ethereum
- StarkNet: permissionless decentralized ZK-Rollup
- zkSync: an EVM-compatible ZK Rollup
- Polygon Miden: a STARK-based, Zero-Knowledge rollup
- Polygon Zero: a layer 2 scaling solution for Ethereum
- Taikocha: a zkEVM-based general-purpose zkRollup network
- Twilight: Layer 2 for Private Computation
- Orbis: A Layer 2 ZK-Rollup Scaling Solution Built on Cardano
- Radius: MEV-resistant ZK-Rollups with Practical VDE (PVDE)
- ZEXE on Plasma: An implementation of ZEXE on Ethereum
- Nightfall: Private Token Transaction on Ethereum
- Starlight: Generate a zApp from a Solidity contract
- Warp: transpile Ethereum smart contracts to Cairo
- zkay: A Language for Private Smart Contracts on Ethereum
- Risc0: a zero-knowledge verifiable general computing platform
- CirC: Compiler Infrastructure for Cryptosystems and Verification
- Espresso Systems: single-shot scaling & privacy solution
- Light Protocol: DeFi Privacy Infrastructure that Scales
- Dark Forest: an MMO space-conquest game and their ZK Circuit Walkthrough
- Isaac: a physics-powered onchain reality on Starknet and their blog
- Zcash: a privacy-protecting, digital currency
- Monero: private, decentralized cryptocurrency
- Manta: a Plug and Play Private DeFi Stack
- SwapCT: Swap Confidential Transactions for Privacy-Preserving Multi-Token Exchanges
- Zef: Low-latency, Scalable, Private Payments and their Slides
- Amona: A protocol for private, asset-agnostic digital cash and their use of recursive zkps
- ZETH: Integrating Zerocash on Ethereum
- CoinJoin: an open-source way to mix bitcoins
- Tornado Cash: Introducing Private Transactions On Ethereum
- Otter Cash: A privacy layer for the Solana ecosystem
- Mobius: Trustless Tumbling for Transaction Privacy
- TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub
- Mixcoin: Anonymity for Bitcoin with accountable mixes
- CashShuffle: background coin shuffling for Bitcoin Cash
- MicroMix: A noncustodial Ethereum mixer
- zkKYC: A solution concept for KYC without knowing your customer
- zkID.app: A Privacy-Preserving Passport to the Web 3.0 World
- Notebook: a zero-knowledge B2B2C identity protocol
- Iden3: future-proof tech stack for self-sovereign identity
- Polygon ID: identity system with programmable privacy
- Sealance: building financial compliance into digital currencies
- Humanode: biologically verified human nodes for a fair financial system
- OutDID: your zero-knowledge, decentralized KYC filter of blockchain users
- Interep: verify users' reputation without exposing their identities
- Argent (based on zkSync)
- Numio: Layer 2 focused wallet built on zkSync
- Zkopru: Affordable Ethereum Privacy Wallet
- Bunkyr: zero‑knowledge security without seed phrases or backup codes
- Wasabi Wallet: non-custodial, privacy-focused Bitcoin wallet
- ZkLink: cross chain amm swap protocol powered by ZK-Rollup
- Mystiko Network: Anonymous Protocol for a Cross-Chain Network
- Penumbra: a shielded, cross-chain network
- Zecrey: Bringing Cross-chain Privacy to Digital Assets
- Suez: move Eth to the Starknet ecosystem
- ZKCross: a trustworthy cross-chain protocol built with multichain zkRollup
- Electron Labs: ZK Light Clients for NEAR Rainbow Bridge
- Nil Foundation: Mina's bridge to Ethereum
- ZeroPool: a fully private multi-blockchain solution
- Raze Network: Multichain Privacy Middleware
- Zendoo: A zk-SNARK enabled verifiable cross-chain transfer protocol and their whitepaper
- Modulo Zero: on-chain solution for private data exchange and their Repo
- Ruby Protocol: Building a Cross-chain Cryptographic Infrastructure for Data Monetization
- Filecoin: Zero Knowledge and the Filecoin Network
- ZK Machine Learning: truly private machine learning, with zk-SNARKs and blockchain
- Nectar Protocol: Web3 infrastructure for healthcare and their documentation
- Panther Protocol
- Loopring Launches zkRollup Exchange
- Railgun: brings privacy to cryptocurrencies
- EdgeSwap: Ethereum-based layer 2 trading protocol
- ZigZag: ZK Rollup order book DEX
- Mute: a ZK-Rollup based AMM exchange
- StealthDrop: Anonymous Airdrops using ZK proofs
- ZKP Private Airdrop and their Zk Merkle Airdrop Library
- zk-NftMint: Mint an NFT if you know a secret and their contract
- Immutable X: the first layer-2 scaling solution for NFTs on Ethereum
- Zero Knowledge Message Board by Nulven
- Semaphore: a privacy gadget built on Ethereum
- zkC.R.E.A.M: Confidential Reliable Ethereum Anonymous Mixer
- Cabal: a Discord bot to create credibly pseudonymous channels based on members' Ethereum activity
- Hardware for ZKPs & VDFs with Supranational and their Practical SNARK-based VDF
- PipeZK: Accelerating Zero-Knowledge Proof with a Pipelined Architecture
- Ingonyama: building a ZK processing unit and their slides
- ZKAccel: Accelerated ZKP as a Service
Name | Host Language | Features | GitHub |
---|---|---|---|
Libsnark | C++ | General-purpose proof systems, gadget libraries | https://github.com/scipr-lab/libsnark |
Bellman | Rust | Circuit traits, primitive structures, basic gadget implementations | https://github.com/zkcrypto/bellman |
gnark | Go | High level API with frontend and backend to design circuits | https://github.com/ConsenSys/gnark |
Bulletproofs | Rust | Single-party proofs, online multi-party computation, R1CS | https://github.com/dalek-cryptography/bulletproofs |
Circomlib | Javascript | Circom templates | https://github.com/iden3/circomlib |
Arkworks | Rust | R1CS, curves, Groth16, finite field, curves | https://github.com/arkworks-rs |
libSTARK | C++ | ZK-STARK library | https://github.com/elibensasson/libSTARK |
DIZK | Java | Distributed polynomial interpolation, Lagrange polynomials, multi-scalar multiplication | https://github.com/scipr-lab/dizk |
wasmsnark | Javascript | Generate zkSnark proofs and verify from web browser | https://github.com/iden3/wasmsnark |
libiop | C++ | IOP-based zkSNARKs | https://github.com/scipr-lab/libiop |
- Understanding PLONK
- Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge
- Vitalik Buterin: Halo and more: exploring incremental verification and SNARKs without pairings - Proof size reduction
- Recursive Proof Composition without a Trusted Setup
- Bulletproofs: Short Proofs for Confidential Transactions and More
- Bulletproofs+: Shorter Proofs for Privacy-Enhanced Distributed Ledger
- Dandelion: Redesigning the Bitcoin Network for Anonymity
- A Flexible Network Approach to Privacy of Blockchain Transactions
- Circom: zkSnark circuit compiler
- Library: ZK-Garage/Plonk
- zk-ECDSA: zkSNARKs for ECDSA
- ZoKrates: a toolbox for zkSNARKs on Ethereum
- Ecne: an engine for verifying the soundness of R1CS constraints
- Arkworks: an ecosystem for developing with zkSNARKs
- Snarkjs: zkSNARK implementation in JavaScript & WASM
- zkREPL: an in-browser collaborative development environment
- Picus: Symbolic Virtual Machine for Automated R1CS Verification
- Papyrus: A Symbolic Execution Tool for Cairo