The Last 12 Months of Aztec Grants
It has been almost a year since Aztec Labs formally announced the first iteration of the Aztec Grants program, and since then, a lot has happened.
Aztec Labs has been running full-steam ahead towards building the Aztec rollup, a programmable zkRollup supporting both public and private smart contract execution. The Noir programming language has continued to improve on tooling, developer experience, and functionality. And the developer community around our ecosystem has grown significantly — in fact, we were named the fastest growing developer community earlier this year by Electric Capital’s Developer Report.
In the meantime, the Aztec Grants program has funded over 50 independent contributors across our ecosystem. Before announcing the next wave of grants, we wanted to celebrate some of the grantees who have been working alongside us for the last 9 months and the projects they have been building towards.
Celebrating Some Recent Aztec Grantees
Many grantees are independent developers or small teams of independent devs. Here are some of the projects that they’ve been working on:
Halo2 Backend for Noir
The Mach34 team and Ethan000 are developing an additional proving backend for Noir. As a reminder, Noir is proof system agnostic, so this backend will allow for the verification of Noir circuits using the Halo2 proving backend. The version that is being worked on is the Axiom and PSE version — not to be confused with the original Halo2 proving system developed by the zCash team.
One additional thing to note is that some of you may recognize the Mach34 team from their work on BattleZips! BattleZips is a set of implementations of the game Battleship in various ZK languages, intended to demonstrate how a web3 app can be built in a way that’s comparable in usability/performance to a web2 application. If you’re interested, check out the BattleZips-Noir video tutorial series.
Colin Nielsen is building DarkSafe, a Gnosis Safe module which allows for private multi-sigs using Noir’s secp256K1 signature verification, Merkle Tree membership proofs, and Gelato relays.
This Dark Safe module is intended as a proof-of-concept, but this signature verifier could be a simple module in Gnosis’ API — any Safe could install this module as a plug-in, and have this as a way to sign transactions from their Safes.
Ethereum Storage Proofs
Aragon ZK Research (AZKR) and Aztec Labs jointly participated in the NounsDAO proposal and won the proposal to implement a private voting MVP for NounsDAO using Storage Proofs. While Aztec led the research to unlock these proofs in Noir, AZKR focused on designing and implementing the voting solution using the proofs.
Aztec donated Aztec’s portion of the winnings to the Gitcoin ZK round, and we ultimately funded AZKR with an additional grant to generalize the work that’s being done around private voting for NounsDAO (detailed above) into more general libraries that can be used by other projects.
Dark Forest Circuits in Noir
The Dark Forest strategy game, developed by 0xParc, is one of the most well-known zero-knowledge projects that exists today. Originally written in Circom, it’s a major Schelling Point for early ZK enthusiasts.
Aztec has funded SleepingShell, an independent developer within the Noir community, to complete the re-write of Dark Forest circuits in Noir.
Noir Implementation of Semaphore
Semaphore is a proof-of-membership protocol developed by the Ethereum Foundation’s PSE group. Semaphore can be used to anonymously prove that individuals are part of a group. Semaphore is used across the ZK landscape for projects building private identity, authentication, governance, and social applications. The goal for this project is to reach feature-parity with the Semaphore CLI.
Simon Oswald and Stefan Velkoski were formerly part of the Polygon Nightfall team. They have extensive Circom experience from their time at Polygon, where Simon was a core contributor to Polygon Nightfall’s zero-knowledge circuit infrastructure.
Finally, since the mentions above are a non-exhaustive list of projects built over the last few months, we also wanted to share the repositories of some other projects from our recent wave of grants. This list is also by no means inclusive of all projects we’ve funded over the last 9 months but should still give you an idea of the types of projects we are aiming to fund.
- BigInt library
- zkPic (inspired by Using ZK Proofs to Fight Disinformation)
- Noir MIMC-Sponge implementation
- BN254 pairings library
- Fog of War Chess
- Treesitter Noir
- Emacs syntax highlighting
Introducing Aztec Grants Wave 3
Now, as our community has gotten larger, we’re seeing more people organically contribute to the language without grants as a motivating factor — useful libraries are being built for the benefit of the Noir community, explanatory materials are being written to educate and expand the ecosystem of developers interested in Noir, and projects are springing up in places we didn’t expect led by teams we didn’t know about!
With the third wave of our grants program, we want to keep attracting developers interested in contributing to the Noir language, and we want to provide an avenue for independent developers to get rewarded for work in Noir already in progress or completed. Importantly, we want to make the process as easy and painless as possible.
In this Grants wave, we are funding retroactive grants for completed and in-progress libraries that benefit the Noir ecosystem and projects built using Noir. This Aztec Grants funding wave is open through the end of the 2023 calendar year.
If you are a maintainer of a non-Noir-specific project that our developer community uses frequently — like the Chumsky parser tool or the js-libp2p library — a grant could make sense for you. But some more Noir-specific ideas that might be good for a retroactive funding application can be found here, including:
- JSON Parser — Spec out, design, and/or implement a JSON parser that can handle Noir’s data types.
- zkPatreon — Trustlessly and privately unlock token-gated content using Ethereum Storage Proofs in Noir.
- Noir Mutator Tool — A mutation testing tool that generates mutated code of Noir programs with injected bugs and verifies if existing tests catch the issues.
- KZG Verification Libraries — A library for verifying Kate-Zaverucha-Goldberg polynomial commitments in Noir.
- Documentation improvements
- An Ethereum history API — Trustlessly and privately prove any piece of information that exists on Ethereum (e.g. token ownership, historical prices, protocol interactions, etc.) using Ethereum Storage Proofs in Noir.
- WebAuthn Applications — With ecdsa_secp256r1 usable in Noir, the design space of applying WebAuthn in Web3 gets interesting (e.g. account abstraction with zkTouchID).
However, we encourage you to consider this a starting point. The Grants program is meant to be inspiring, not limiting.
After all, the best projects come from unexpected places.