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. Please ensure your submission fully follows the requirements outlined in CONTRIBUTING.md, including formatting, scope alignment, and category placement.
Pull requests that do not adhere to the contribution guidelines may be closed.