Research Meets Ecosystem: The Applied Cryptography Team Roadmap

From enhancing zkApp performance with Arrabbiata to expanding accessibility with the o1VM, our Applied Cryptography Team shares their roadmap for 2025.

image

This post is part of our roadmap series, diving deeper into the focus areas outlined in the o1Roadmap. Each post explores how each Engineering team at o1Labs is pushing Mina forward by covering what we’ve delivered (recent milestones), what we’re building (current initiatives in progress), and what’s next (future priorities).

o1Labs ecosystem cryptography team roadmap

Our team brings applied cryptography to the Mina ecosystem. We work on the proof systems and explore new, promising research areas. We are currently working on two new exciting projects: Arrabbiata, a new folding scheme for a PLONK-ish circuit with an arbitrary number of wires and custom gates, enabling faster Incrementally Verifiable Computation (IVC) than Pickles. And the o1VM, a powerful zkVM framework that can prove the execution of programs written in MIPS or RISC-V; and

Arrabbiata

This line of work focuses on performance at the individual prover level. This is a high priority for us to enable faster proofs in Mina, to bring more power to zkApps on Mina, and to give [Project Untitled] the superpowers that will help applications on day one. We want to take advantage of the latest research to keep increasing the efficiency of our IVC layer as the research evolves.

For this, we are developing Arrabbiata as a new proof system from scratch, designed to complement and interoperate with our Pickles recursion layer. We are now close to completing the first version of Arrabbiata (see the code). Once this is done, we have several further optimizations in mind, including non-uniform IVC to use folding in more flexible ways, as well as removing the linear dependency in the custom gate degree. We prioritized this project particularly to apply it in these three important ways: improving the Mina Protocol, supporting applications in achieving their true potential, and improving the o1VM (check out the repo).

Improving the Mina Protocol

This application will be our priority. Mina is currently limited by the number of possible account updates per transaction, and the amount of computation SNARK workers need to do to create Mina’s succinct proof. Using the high performances of folding, we can alleviate these limitations, and to unlock the true potential of zkApp.. However, we can’t replace everything at once. We will first develop a compatibility layer, allowing Mina to function with Arrabbiata and Pickles concurrently. We will then replace one piece at a time.

Improving zkApps

The same benefits that we’re going to bring to the Mina protocol are useful to zkApps too. Since Mina uses the same building blocks that developers use in o1js, it seems natural to offer the same flexibility there, letting applications achieve better performance using folding where it makes sense. Even before we have a full non-uniform IVC, zkApps that run the same circuit multiple times in sequence will see a benefit from using Arrabbiata, reducing the cost and increasing the speed of proving.

Improving the o1VM

Beyond this, we also want to apply folding to the o1VM. The o1VM works by producing several proofs for segments/chunks of a computation, and merging those proofs using Pickles. This gives us a succinct proof for an arbitrarily long computation. Using Arrabbiata instead of Pickles for a larger sequence of transactions will give us a significant gain in performance, even before we’ve shipped non-uniform IVC.

Stay tuned for our next blog post on Arrabbiata where we’ll share more details!

The o1VM

Our goal is to produce a fully functional o1VM that can run in two modes: MIPS and RISC-V. We also plan to implement the necessary RISC-V syscall and toolchain to run an arbitrary Rust program written with the standard library. In the first version, the o1VM will produce a Pickles proof, giving us succinct verification as well as compatibility with Mina.

The o1VM is useful in two important ways. One is that developers can work in a familiar development environment. The second is that we can prove existing programs. We believe that not all zkApps need to be written from scratch to achieve their goals. For example, we can take an existing Ethereum light client compiling to RISC-V, and feed it to the o1VM. This gives us a bridge from Ethereum to Mina with minimal development! We already mentioned this idea in the bridge part of this post.

Further still, our o1VM is a framework for building VMs. While we're starting with these 2 high-impact ISAs, o1Labs is eager to support teams using the framework to build across any system that best meets their needs.

From improving performance with Arrabbiata to enhancing developer accessibility with the o1VM, our team is excited to continue development on these two important projects in 2025. We're committed to pushing the boundaries of what's possible in the zk ecosystem.

Stay tuned for future updates as we continue to deliver on our roadmap and bring these innovations to life.