/awesome-zk

A curated list of awesome ZK resources, libraries, tools and more.

Awesome Zero Knowledge

awesome list badge GitHub contributors pull requests welcome badge

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

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. The deadline for 2023 Jan - Feb fellowship application is 2022 Dec 8.

Table of Contents

Basics

Projects

Zk-VM

Zk-Layer1

Zk-Layer2

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

Name Ecosystem Type GitHub Documentation
Cairo StarkNet STARK-provable programs for general computation https://github.com/starkware-libs/cairo-lang https://cairo-lang.org/docs/
ZoKrates Python subset R1CS SNARKs Frontend https://github.com/Zokrates/ZoKrates https://zokrates.github.io
Leo Aleo Functional, statically-typed https://github.com/AleoHQ/leo https://developer.aleo.org/developer/language/layout/
Circom Typed JS Circuit compiler https://github.com/iden3/circom https://docs.circom.io
Noir Aztec Private contract language https://github.com/noir-lang/noir https://noir-lang.github.io/book/index.html
Snarky Mina R1CS SNARKs OCaml frontend https://github.com/o1-labs/snarky /
Zinc zkSync Turing-complete smart contract https://github.com/matter-labs/zinc /
Juxiv Anoma Functional https://github.com/anoma/juvix https://juvix.readthedocs.io/en/latest/index.html
ZKPDL / High-level https://github.com/brownie/cashlib http://cs.brown.edu/research/brownie/usenix10.pdf
zkVM / Stack machine with a string of bytecode representing ZkVM instructions https://github.com/stellar/slingshot/tree/main/zkvm https://github.com/stellar/slingshot/files/3164245/zkvm-whitepaper-2019-05-09.pdf
lurk Protocol Labs Lurk is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisp https://github.com/lurk-lang/lurk-rs https://github.com/lurk-lang/lurk/blob/master/spec/v0-1.md

Programming Libraries

Name Host Language Features GitHub
Libsnark C++ General-purpose proof systems, gadget libraries https://github.com/scipr-lab/libsnark
Bulletproofs Rust Single-party proofs, online multi-party computation, R1CS https://github.com/dalek-cryptography/bulletproofs
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
Arkworks Rust R1CS, curves, Groth16, finite field, curves https://github.com/arkworks-rs
Circomlib Javascript Circom templates https://github.com/iden3/circomlib
libSTARK C++ ZK-STARK library https://github.com/elibensasson/libSTARK
plonky2 rust SNARK implementation based on techniques from PLONK and FRI https://github.com/mir-protocol/plonky2
plonk rust Pure Rust implementation of the PLONK ZKProof System https://github.com/dusk-network/plonk
Spartan rust High-speed zkSNARKs without trusted setup https://github.com/microsoft/Spartan
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
jellyfish rust Rust Implementation of the PLONK ZKP System and Extensions https://github.com/EspressoSystems/jellyfish
libiop C++ IOP-based zkSNARKs https://github.com/scipr-lab/libiop
Nova rust Recursive SNARKs without trusted setup https://github.com/microsoft/Nova

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