Home

Awesome

<div align="center"> <h1 align="center">Awesome Zero Knowledge</h1> <p align="center"> <a href="https://github.com/sindresorhus/awesome"> <img alt="awesome list badge" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"> </a> <a href="https://github.com/ventali/awesome-zk/graphs/contributors"> <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/ventali/awesome-zk"> </a> <a href="http://makeapullrequest.com"> <img alt="pull requests welcome badge" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat"> </a> </p> <p align="center">A curated list of awesome ZK resources, libraries, tools and more. For a ZK knowledge base, please see https://github.com/delendum-xyz/zk-knowledge </p> </div>

Telegram Group

Join the discussion group chat with other developers and researchers

Fellowship Program

If you are interested in working together with top experts to explore practical use cases of new research ideas, consider applying to our fellowship program.

Table of Contents

Basics

Mathematical Foundations

More specific to ZK:

Projects

Zk-EVM

Zk-VM

Benchmarking

Zk-Layer1

Zk-Layer2

Privacy Layer

Transpiler

Computing Infrastructure

Framework / SDK

Zk-Applications

Gaming

Payment

Mixer

Identity

Wallet

Trustless Bridge

Crosschain

Marketplace

Fiat On-ramp

User Profiling

Data Infrastructure

State Attestation

Machine Learning

DeFi / DEX

Tokens / NFT

Voting / Participation

Communication

Document Management

Hardware Acceleration

Trusted Execution Environment (TEE) Based Projects

Fully Homomorphic Encryption (FHE) Based Projects

Programming Languages

NameEcosystemTypeGitHubDocumentation
CairoStarkNetSTARK-provable programs for general computationhttps://github.com/starkware-libs/cairo-langhttps://cairo-lang.org/docs/
ZoKratesPython subsetR1CS SNARKs Frontendhttps://github.com/Zokrates/ZoKrateshttps://zokrates.github.io
LeoAleoFunctional, statically-typedhttps://github.com/AleoHQ/leohttps://developer.aleo.org/developer/language/layout/
CircomTyped JSCircuit compilerhttps://github.com/iden3/circomhttps://docs.circom.io
NoirAztecPrivate contract languagehttps://github.com/noir-lang/noirhttps://noir-lang.github.io/book/index.html
SnarkyMinaR1CS SNARKs OCaml frontendhttps://github.com/o1-labs/snarky/
ZinczkSyncTuring-complete smart contracthttps://github.com/matter-labs/zinc/
JuxivAnomaFunctionalhttps://github.com/anoma/juvixhttps://juvix.readthedocs.io/en/latest/index.html
ZKPDL/High-levelhttps://github.com/brownie/cashlibhttp://cs.brown.edu/research/brownie/usenix10.pdf
zkVM/Stack machine with a string of bytecode representing ZkVM instructionshttps://github.com/stellar/slingshot/tree/main/zkvmhttps://github.com/stellar/slingshot/files/3164245/zkvm-whitepaper-2019-05-09.pdf
lurkProtocol LabsLurk is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisphttps://github.com/lurk-lang/lurk-rshttps://github.com/lurk-lang/lurk/blob/master/spec/v0-1.md

Language examples

Programming Libraries

NameHost LanguageFeaturesGitHub
LibsnarkC++General-purpose proof systems, gadget librarieshttps://github.com/scipr-lab/libsnark
BulletproofsRustSingle-party proofs, online multi-party computation, R1CShttps://github.com/dalek-cryptography/bulletproofs
BellmanRustCircuit traits, primitive structures, basic gadget implementationshttps://github.com/zkcrypto/bellman
gnarkGoHigh level API with frontend and backend to design circuitshttps://github.com/ConsenSys/gnark
ArkworksRustR1CS, curves, Groth16, finite field, curveshttps://github.com/arkworks-rs
CircomlibJavascriptCircom templateshttps://github.com/iden3/circomlib
libSTARKC++ZK-STARK libraryhttps://github.com/elibensasson/libSTARK
plonky2rustSNARK implementation based on techniques from PLONK and FRIhttps://github.com/mir-protocol/plonky2
plonkrustPure Rust implementation of the PLONK ZKProof Systemhttps://github.com/dusk-network/plonk
SpartanrustHigh-speed zkSNARKs without trusted setuphttps://github.com/microsoft/Spartan
DIZKJavaDistributed polynomial interpolation, Lagrange polynomials, multi-scalar multiplicationhttps://github.com/scipr-lab/dizk
wasmsnarkJavascriptGenerate zkSnark proofs and verify from web browserhttps://github.com/iden3/wasmsnark
jellyfishrustRust Implementation of the PLONK ZKP System and Extensionshttps://github.com/EspressoSystems/jellyfish
libiopC++IOP-based zkSNARKshttps://github.com/scipr-lab/libiop
NovarustRecursive SNARKs without trusted setuphttps://github.com/microsoft/Nova
plonky3rustA toolkit for implementing polynomial IOPs (PIOPs), such as PLONK and STARKshttps://github.com/Plonky3/Plonky3

Tools

Plonk

ECDSA

Circuit Building Library

Formal Verification

Other Tools

Auditing and Consulting

Validator Services

Books

Discussions

Communities

Advanced Topics

PLONK

Groth16

Halo

Probabilistic Proof Systems

Pinocchio

Bulletproofs

Hash Functions

Systems

Quadratic Span Programs

Zether

Anonymous Zether

Quisquis

Zk-VM

Elliptic Curve

Slush: Fractal Scaling

DIZK: Distributed ZKP

Network Privacy