Introducing OpenVM

Introducing OpenVM

We’re excited to announce the first release of OpenVM, a novel open-source zkVM framework prioritizing modularity and extensibility across the ISA, toolchain, ZK circuits, and proof system. Designed in collaboration with Scroll and individual contributors including Max Gillett, OpenVM empowers developers to use ZK in a customizable and extensible way without trading off maintainability or performance.

We began building OpenVM to solve our own problem. While building ZK-enabled products, we found many existing zkVMs were monolithic and created lock-in into vertically integrated stacks, increasing maintenance risk and restricting necessary customizations for our development. OpenVM was designed to address these issues with a flexible modular design and an open development model which avoids lock-in.

The v0.1 release of OpenVM is available today under MIT license. It supports proving of unbounded length Rust programs, efficient onchain verification, and a feature-rich set of initial VM extensions, including ECDSA, pairings on BN254 and BLS12-381, and int256 and modular arithmetic. OpenVM can already prove mainnet Reth blocks with onchain verification and sub-cent per-transaction costs. More information about the OpenVM design philosophy and detailed benchmarks are available in the announcement post. To use OpenVM, check out the developer book or come chat with us in the developer Telegram.

In conjunction with this release, Axiom is shifting its focus to building with and supporting OpenVM – if you are interested in using OpenVM for your project, reach out here

Due to this shift in focus, we are ending support for Axiom V2 effective December 21, 2024.

Our Path to OpenVM

While building ambitious ZK-enabled products pushing the frontiers of what’s possible today, we determined we needed the development speed, flexibility, and performance made possible by a zkVM-based architecture. However, we quickly encountered two major challenges.

First, we needed many custom features to tailor a zkVM for our product needs, which was difficult to achieve with existing solutions without creating unmaintainable forks of vertically-integrated upstream stacks. Second, with the fast pace of innovation in proof systems, we wanted to maintain flexibility and control without being closely tied to a single entity or team.

These challenges motivated us to work with Scroll and other collaborators including Max Gillett to develop a modular architecture for OpenVM. This architecture enables multiple teams to use the same modular infrastructure for different applications, giving each team the incentive to develop and improve OpenVM. We believe the resulting collaborative and open development model is the best way to build a zkVM framework that can adapt to the many new innovations to come in the ZK space.

Why we’re excited about OpenVM

The core innovation which enables OpenVM’s modular approach at each level of the stack is a new no-CPU zkVM design that does not materialize the full execution trace in any single ZK circuit. We use this design to decouple the implementation of each modular piece of the zkVM. This enables developers to: 

  • Add their own application-specific opcodes to OpenVM using VM extensions in a maintainable way without forking or modifying the core OpenVM libraries.
  • Benefit from proof system improvements from different teams without modifying application code by using different proof systems for different pieces of the system.
  • Innovate on zkVMs with new proof systems, ISAs, or proving settings (e.g. mobile) without rebuilding the full stack from scratch.

More details about the OpenVM design and initial benchmarks are available in the announcement post and contributor docs

In the coming months, we will release ZK-enabled products built on top of OpenVM and continue developing OpenVM towards its first production-ready state. In addition to security work, this involves adding support for new proof system backends, performance optimizing the ZK circuits, and developing new VM extensions for developer needs. To try OpenVM today, check out the developer book and Github or join the technical developer chat on Telegram.

Get In Touch

In conjunction with these efforts, we are directly supporting application and infrastructure teams building with OpenVM. If you’re interested in exploring how Axiom can help enable your application or protocol with OpenVM, either with implementation support or hands-on customization, get in touch here.