halo2 is a zero-knowledge proof system developed by the team at ECC. building on the original implementation, the halo2 community has grown into an ecosystem of projects, developer tools, and educational resources.

this page is a directory of projects and resources related to halo2 and its many variants, for newcomers and frequent contributors alike. if you notice any missing links, please open an issue / PR to add them!

0. learning and contributing

a living archive of beginner-friendly resources and tutorials; developer communities; and ways to contribute to halo2.

1. developer tooling and libraries

halo2 has benefited from an incredible range of community-built developer tooling, including domain-specific languages; primitives and libraries; and formal methods.

2. proof system modifications

the original zcash/halo2 consists of:

popular forks of halo2 have incorporated proof system modifications across the stack, at the levels of arithmetisation, interactive oracle proof, and polynomial commitment scheme.

3. interoperability and standardisation

halo2 is one of many zero-knowledge proof systems in production: our community is keen to support interoperability and standardisation efforts across proof systems.

4. projects

halo2 has been used in some weird and wonderful circuits, including: private transfers, proof of solvency, coprocessors, machine learning models, virtual machines, zk-email, Wordle, and more.