Skip to content

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

Notifications You must be signed in to change notification settings

ventali/awesome-zk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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

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

Language examples

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
plonky3 rust A toolkit for implementing polynomial IOPs (PIOPs), such as PLONK and STARKs https://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

About

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

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published