ECC releases code for Halo 2

Electric Coin Co. (ECC) today opened the source code we are developing for Halo 2, an updated, more efficient version of ECC’s recursive proof composition that eliminates the need for a trusted setup in Zcash. It may also advance a promising scalability solution for Zcash and other blockchains.

The scientific underpinnings of Halo 2 have already had impacts in the blockchain ecosystem. In a companion post, ECC Engineer Sean Bowe provides a more in-depth explanation of Halo 2. 

Halo 2 improvements were done in coordination with, and supported by a grant from, the Ethereum Foundation (EF).

ECC is committed to fully productizing Halo 2, with the intent to eliminate trusted setup as early as 2021. This would also set the stage for future support of recursive proofs in support of layer 1 scalability. In the months ahead, we will be committing significant resources in R&D, engineering, business development, marketing, operations and third-party support to ensure Halo 2 will be productized safely and securely. Ultimately, it will be the Zcash community that decides whether Halo 2 becomes part of Zcash.

What is Halo 2?

Halo effectively compresses history and distributes computation through recursive proof composition to make blockchain transactions lighter and faster, dramatically improving efficiency and eliminating the need for a trusted setup.

From the original Halo announcement in 2019: 

Recursive proof composition holds the potential for compressing unlimited amounts of computation, creating auditable distributed systems, building highly scalable blockchains and protecting privacy for all of humanity. The concept is a proof that verifies the correctness of another instance of itself, allowing any amount of computational effort and data to produce a short proof that can be checked quickly.

While the original Halo used “Sonic” to verify transactions, Halo 2 uses “PLONK,” a novel zk-SNARK invented by Zac Williamson and Ariel Gabizon of Aztec Protocol. PLONK is more efficient than Sonic, allowing the expression of more complex circuits in fewer gates.

The novel ideas underlying Halo are being adopted in recursive SNARK projects such as Coda (Pickles) and Mir (Plonky). These implementations illustrate the impact of Bowe’s research.

“The ideas of Halo have been an essential ingredient in our new SNARK, Pickles,” said Izaak Meckler, CTO & co-founder, O(1) Labs. “We really value that everyone at Electric Coin Company does their work in the open and open sources their code — it’s led to a lot of advancements in the ecosystem.”

“Halo is a significant breakthrough in making recursive SNARKs practical: We now have smaller fields, faster provers and no trusted setups,” said Brendan Farmer, CEO of Predicate Labs, which is developing Mir. “That Sean [Bowe], Daira [Hopwood] and Jack [Grigg] have led the way in both research and implementation speaks to their exceptional talent as cryptographers.”

Role of the Ethereum Foundation

In July, EF granted $120,000 to ECC to continue Halo research. While still in the exploratory phase, both organizations believe there is value in standardizing Halo. One potential advantage is that it could facilitate cross-chain interoperation.

“The Ethereum Foundation is excited to formally support the talented people at ECC, while taking our informal collaborations to date to the next level,” said Vitalik Buterin, Ethereum founder. “The EF believes zero-knowledge proof technologies will be transformative toward building a better world and recognizes Halo 2’s potential to contribute to this.

“The more people and organizations throughout the blockchain ecosystem work together, the sooner the benefits of our efforts can be realized by all.”

ECC is in discussions with EF and other organizations regarding further Halo collaboration. Using the same zero-knowledge proof technology (Halo 2) on multiple blockchains may enable trustless and flexible cross-chain interoperation.

Open-source license agreement

Halo 2 was released under a Transitive Grace Period Public License (TGPPL), an open-source  model that gives everyone equal access to the code and equal rights to improve Halo commercially as long as they subsequently open-source their improvements after 12 months.

Under this license, ECC receives no special or exclusive privilege — any user or any company can take advantage of the licence’s benefits on an equal footing. Later this week, we will release a post on TGPPL and its potential benefits for the open-source community.

What’s next for Halo 2?

Halo 2 research has the following milestones: 

  • Publish a development branch using PLONK, including benchmarking for various circuit sizes.
  • Develop a proof-of-concept, proof-carrying data (PCD) application, allowing us to (1) refine APIs for implementing circuits and (2) improve testability, including benchmarks.
  • Finish a thorough description of our highly optimized protocol, with security analysis and a specification.

When these objectives are met, ECC will evaluate whether it would be feasible and safe to implement Halo 2 in Zcash as early as 2021. As mentioned above, Halo 2 would be used to eliminate the trusted setup while setting a foundation for future use of recursive proof composition for scalability.  Deploying Halo 2 will be a community decision, and we’ll provide updates on our work as they become available.

The process of implementing new, bleeding-edge technology is a long one. It involves scientific peer review, engineering, third-party security audits and testing to assure safety. ECC has a track record of deploying innovative technologies safely, and we know this work requires collaboration. From open sourcing Halo, to working with the Ethereum Foundation, to researching future implementations, collaboration is at the core of what we do. If you are considering Halo for your project or you would like to learn more, please don’t hesitate to reach out to us.