Axiom's mainnet alpha release is built upon open-source ZK circuits released at github.com/axiom-crypto under a permissive MIT license. To develop the underlying technology in an open and transparent way, over the past few months we ran the first Axiom Open-Source Program. Starting from minimal background, 12 participants worldwide developed new ZK circuits for primitives like ed25519 signatures, BLS signature verification, KZG batch multi-open, and fixed point arithmetic.
Today we are announcing the second iteration of the Axiom Open Source Program, focused on ZK circuit primitives and applications.
About the Program
Axiom is looking for individuals or teams to research, design, and implement open-source ZK circuits for cutting edge cryptographic or computational primitives and ZK-enabled applications using these primitives. Because of the difference in computational model between zero-knowledge proofs and traditional computers, we expect most primitives to present interesting design and optimization challenges. The relative youth of the space also means that most implementations will be first of their kind in ZK. Example projects include:
- ZK Primitives
- Data structures: Verify common data structures and serialization algorithms, including maintenance of heaps and tries, parsing JSON, SSZ, or regex, and array manipulation.
- Virtual machines: Verify execution of different types of virtual machines in ZK.
- Cryptographic operations: Verify execution of cryptographic primitives such as hash functions (Blake2b), polynomial commitment schemes (IPA), and signature schemes (RSA, Schnorr).
- Numerical computation and machine learning: Verify operations including floating point arithmetic, Newton's method, linear algebra (eigenvalues/eigenvectors), and machine learning algorithms (PCA, page rank, neural networks).
- ZK Applications
- Formal verification of ZK circuits: Using automation and SMT solvers to formally verify ZK circuits used in practice.
- ZK-powered Generative NFTs: Mint generative art NFTs which are accompanied with a ZK proof that they were actually generated from a claimed algorithm.
- Autonomous airdrops: A system which allows users to claim on-chain rewards based on provable on-chain activity.
- Gas price oracle: A trustless oracle for the average gas price over a trailing time interval.
- On-chain EigenTrust: Computing EigenTrust for an on-chain social graph.
eth_call: Combine Axiom storage reads with one of the Type 2 zkEVMs to prove correct execution of any view function on a state of the Ethereum blockchain.
Here are some examples of projects from the previous cohort of the program:
- KZGChip: Opening proto-danksharding blobs
- ZK Fixed Point Arithmetic Applied To Machine Learning
- EdDSA Signature Verification in halo2-lib
No prior experience in zero-knowledge proofs is necessary, but the pace of the program will be quite fast. A strong math background, especially familiarity of modular arithmetic, and low level programming languages like Rust is very helpful. We will offer direct mentorship, training, and guidance on:
- The theory behind modern zero-knowledge proofs
- Designing and implementing ZK circuits in the halo2 proving system
- Using and building on top of ZK circuit primitives in our
- Optimization and verification techniques for ZK circuits
- Integration of ZK circuits with on-chain verifiers on Ethereum
- Running ZK circuits in production
All work produced through this program will be open-source, and a primary goal of this program is to onboard more contributors to open-source projects in ZK. The program is free.
Expectations and Goals
We expect program participants to commit at least 10-15 hours per week for 8 weeks. The program will be conducted fully remotely over Telegram and Zoom. By the end of the program, we expect participants to have:
- Produced a ZK primitive or application in a fully documented open-source repo or PR to an existing repo.
- Produced documentation or a blog about the design and implementation of their circuits.
- (Optional) Produced a demo application to illustrate the usage of their circuits.
If you are excited about exploring ZK circuits and want to either work in the ZK fulltime or are looking to develop the skills to contribute to ZK open source, apply here by July 28. Applications will be considered on a rolling basis. The program will start the week of August 7.
Axiom is a ZK coprocessor scaling data-rich applications on Ethereum. Axiom provides smart contracts trustless access to historic on-chain data and arbitrary expressive compute. As part of our mission to unleash the power of zero-knowledge proofs for crypto applications, we are building some of the most performant zero-knowledge proof libraries. More information about Axiom is available at axiom.xyz, and our ZK circuit code is open-source at github.com/axiom-crypto.