Halo2 Backend for Noir

$3,570.09 crowdfunded from 835 people

$14,997.54 received from matching pools

38%
average score over 3 application evaluations
Funding open-source integration of Halo2 with Noir zkDSL to improve developer experience in ZK circuit construction, promoted by Mach 34 and supported by Aztec Protocol.

Scope

This grant helps fund the construction of a Halo2 backend for the Noir zkDSL. We believe this is a worthwhile project to fund because:

  • All work is fully open-source and provides new ZK tooling as a public good
  • Halo2 is fantastic, except for the DevEx. By plugging Halo2 into a DSL, we can mitigate one of the largest issues with Halo2's adoption (especially among new ZK developers)

The delivered code is FOSS under the same license as Noir itself. Upon completion, anyone will be able to write Noir code to build Halo2 circuits.

Technology

Halo2 is a cutting edge Zero-Knowledge proving system built by the ZCash team. Vanilla Halo2 does not require a trusted setup, and the ZCash team upgraded the ZCash blockchain with the Orchard circuit to achieve increased performance and security. EF PSE forked Halo2 and changed the commitment scheme to KZG. KZG provides superior proof succinctness by reintroducing trusted setups. Though the security of this scheme is objectively weaker than IPA in Vanilla Halo2, the KZG Summoning Ceremony offers sufficient security assurances for most use cases. Exciting projects like EF PSE's and Scroll's zkEVMs employ the KZG fork of Halo2 to facilitate Zero-Knowledge proving.

Noir is a Zero-Knowledge Domain-Specific Language (zkDSL) purpose built to expedite the developer experience in ZK. DSLs abstract away as much complexity of ZK circuit building as possible. Code written in Noir first compiles to an "Abstract Circuit Intermediate Representation" (ACIR) which is in turn compiled to a backend proving system. The ACIR can be compiled to R1CS or an arithemtic circuit, and theoretically any backend could be built into Noir. For example, while Aztec shipped Noir with Barretenberg, the LambdaClass team connected the Noir ACIR to Gnark. In short, as more proving schemes are added to the Noir backend, zkDSL users can switch between proving systems according to their needs without having to rewrite a single line of code in their circuit.

The paradigm mirrors the difference between "Blockchain Architects" and "Blockchain Developers". While architects focus on building the blockchain and its virtual machine, developers focus on building applications on top of the blockchain. By making the "architect" role optional to using a blockchain, the barrier to entry is lowered considerably. Noir lowers the barrier to entry for ZK application developers similarly by abstracting away the proving system from the developer.

Members

This project is being built by Mach 34 with support from Aztec Protocol. See Mach 34 Team for more depth on team & experience.

Jack Gilcrest Discord: jp4g#1337 Twitter: https://twitter.com/jp4g_ LinkedIn: https://linkedin.in/jp4g GitHub: https://github.com/jp4g ENS: jp4g.eth

Ian Brighton Discord: Brightir#8154 Twitter: https://twitter.com/Brightir2025 LinkedIn: https://www.linkedin.com/in/ian-brighton/ GitHub: https://github.com/Ian-Bright ENS: ianb.eth

Previous Activity

Mach 34 and Aztec Protocol agreed to begin working on this project on April 17th, 2023. Thus, there is no work completed on this specific project we are seeking funds for. However, we have been busy working on Halo2 and Noir in the past three months.

  • Anounymous: A thoroughly designed proposal to use Noir's UltraPlonk to build private voting into NounsDao Governance. Our submission placed 4th out of 20 proposals.
  • BattleZips-Noir: A demonstration of the Noir DSL used for a simple Battleship game settled onchain. The codebase was accompanied by a tutorial video series. Mach 34 worked with Aztec on this project to create approachable resources for developers that want to begin using the Noir DSL
  • BattleZips-Halo2 (SEE "Note on BattleZips-Halo2 below"): Jack and Ian worked on BattleZips-Halo2 which demonstrated the Battleship game in the Halo2 proving system. This project began the exploration of Halo2's accumulation and recursion in order to "roll up" the moves of a game into one proof. Though further R&D is needed to demonstrate the scalability prospect, the repository serves as a unique demonstration of using Halo2 for privacy in arbitrary business logic. This work included the development of a standalone pedersen commitment gadget in Halo2.

Note on BattleZips-Halo2: Jack Gilcrest and Ian Brighton worked as individual contributors to build BattleZips-Halo2 with a grant from the Ethereum Foundation's Privacy and Scalability Explorations Team. While we bring this experience to Mach 34, it is important to note that Mach 34 did not build BattleZips-Halo2. EF PSE has no affiliation with Mach 34, and prospective grant donors should be aware of this fact.

Use of Funds

All funds will go to the two Mach 34 developers Jack Gilcrest (@jp4g) and Ian Brighton (@ian-bright). Work on this project will be a full time equivalent (FTE) of 2, and such funding will allow us to be singularly focused on delivering the Halo2 backend for Noir with no distractions.

Other Sources of Funding

Mach 34 has secured a grant from Aztec Protocol to build the Halo 2 Backend for the Noir DSL. We are in an exploratory phase doing requirements engineering; as such the full scope and consequentially the grant value has not been determined.

Requirements engineering is expected to be completed on May 14th, 2023. The full value raised for this project will be transparently updated as details become fully available.

Halo2 Backend for Noir History

People donating to Halo2 Backend for Noir, also donated to

Interactive novel-style adventure game guiding players through blockchain basics with practical tasks like wallet installation and exploration of Web3 applications.
App for learning Web3 interactively, facilitating wallet creation for over 1600 users, launched in March 2023 without using technical jargon.
Web3 community focused on bridging language gaps between Japanese and international crypto markets through education, content translation, and AMAs, with an NFT-based DAO and recent MASK grant.
Launched in March 2023, Revolte is an app making Web3 learning easy and fun, helping over 1600 new users create their first wallets.
Developing a climate-positive mobile school/home bus and Web3 Neighborhood Governance program for peer-governed, regenerative smart cities, including eco-technology research and implementations.