A curated list of awesome libraries, tools, frameworks, and resources for Zero-Knowledge Proofs (ZKPs) including zk-SNARKs, zk-STARKs, and other privacy-preserving cryptographic protocols.
- Libraries and Frameworks
- Languages and DSLs
- Prover/Verifier Tools
- Learning Resources
- Research Papers
- Projects and Implementations
- Communities and Organizations
- snarkjs – JavaScript library for generating and verifying zk-SNARKs.
- libsnark – C++ library for zk-SNARKs; one of the earliest implementations.
- zokrates – Toolbox for zkSNARKs on Ethereum using a high-level DSL.
- arkworks – Modular Rust ecosystem for building efficient zero-knowledge proof systems.
- halo2 – zk-SNARK library developed by the Electric Coin Company (ECC).
- circomlib – Standard circuits and cryptographic primitives for use with circom.
- Circom – Circuit compiler language for writing zk-SNARK circuits.
- Leo – Programming language for private applications using zero-knowledge proofs on Aleo.
- Noir – A domain-specific language for writing ZK circuits developed by Aztec.
- ZoKrates DSL – High-level language for creating zk-SNARK circuits on Ethereum.
- gnark – Efficient Go library for zk-SNARKs.
- plonky2 – zk-SNARK system optimized for recursive proofs.
- Winterfell – STARK prover/verifier written in Rust.
- Cairo – Language and virtual machine for writing STARK-compatible programs.
- Zero-Knowledge Proofs Explained – Educational resource from the Zcash Foundation.
- ZKProof.org – Open community standardizing and promoting zero-knowledge proofs.
- ZK Whiteboard Sessions – A YouTube series explaining zero-knowledge topics visually.
- ZKDocs – A hub for zero-knowledge developers and educational materials.
- Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture (2013)
- Scalable, transparent, and post-quantum secure computational integrity (2018)
- Halo: Recursive Proof Composition without a Trusted Setup (2019)
- PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge
- Tornado Cash – Privacy solution on Ethereum using zkSNARKs.
- Mina Protocol – Lightweight blockchain using recursive zk-SNARKs for scalability.
- Aztec Protocol – Ethereum-based privacy protocol using zk-SNARKs.
- Aleo – Zero-knowledge blockchain for private apps using the Leo language.
- zkSync – Layer 2 scaling solution using zero-knowledge rollups.
- ZKProof Community – Standardization effort for zero-knowledge proofs.
- Privacy Scaling Explorations – Research group supporting Halo2 and other ZKP advancements.
- 0xPARC – Supporting infrastructure and R&D for ZK and cryptographic tools.
- ZK Community – Twitter account for ZK events, research, and discussion.
Contributions are welcome!