In the search for solutions to blockchain scalability and computational efficiency, zero-knowledge proof (ZKP) technology is particularly important. zkVM (Zero-Knowledge Virtual Machine) is one of the specific applications of this technology. As a general computing platform based on ZKP, zkVM can verify the correctness of calculations without revealing execution details. It also supports processing tasks with large computational workloads outside the chain and only submits the verification results to the blockchain, greatly improving the scalability of the blockchain. Currently, many projects in the market, such as a16z, Taiko, and ZKM, are developing zkVM solutions.
Introduction to zkVM
zkVM is a general-purpose computing platform based on zero-knowledge proofs that can perform various computing tasks, including executing smart contracts, data processing, and complex algorithmic operations. Its core function is to generate zero-knowledge proofs that verify the correctness of a computation without revealing the execution details. Through SNARKs technology, these proofs can be verified off-chain, and the verifier does not need to re-execute the entire computation process on the blockchain, incurring expensive computational costs.
In addition, the design of zkVM is not limited to cryptocurrency transactions. Its versatility allows it to be deployed in a variety of application scenarios, such as medical data processing, supply chain management, secret voting systems, etc. These applications all need to verify the correctness of processing logic while ensuring data security.
zkVM vs. other virtual machines
Traditional virtual machines (VMs) usually refer to a complete computing environment virtualized on physical hardware. The core function is to simulate the hardware environment and allow multiple operating systems or applications to run on the same physical hardware. These virtual machines mainly implement their functions through hardware virtualization technology and operating system-level isolation. They usually do not involve the process of encrypting and verifying the applications or data running in them.
Zero-knowledge virtual machine (zkVM) uses zero-knowledge proof technology to ensure the correctness of program execution. This technology is applicable to any program that can be compiled and run on a virtual machine. The design of zkVM focuses on providing a general computing verification platform that is suitable for various application scenarios and supports multiple programming languages, such as Rust, C/C++ and Go. Developers can use the languages they are familiar with to build applications. The calculation and verification process tend to be more time-consuming than traditional VMs because generating zero-knowledge proofs is a computationally intensive process that requires a large amount of computing resources, which limits the transaction processing speed (TPS) to a large extent. Although current ZK technology has made significant progress in single proof generation, it is still limited in its ability to handle large-scale transactions under high load conditions. The generation of each proof can take anywhere from seconds to minutes, which poses a limitation for applications that require high throughput, such as large-scale payment processing systems.
zkEVM is a specific implementation of zkVM, designed specifically for the Ethereum ecosystem, to enhance Ethereum's scalability through zero-knowledge proofs. It is fully compatible with Ethereum's smart contracts and development tools, such as Solidity and Vyper, and existing Ethereum applications can be seamlessly migrated to zkEVM without any modification. Therefore, zkEVM is more like a specific optimized version of Ethereum.
zkVM related projects
Despite the challenges of zk technology, there are still some projects in the market that have demonstrated technical strength in developing zkVM solutions.
Jolt: Excellent performance
On April 9, a16z released a preliminary implementation of the zkVM solution Jolt. Jolt is a new type of zkVM that runs fast and is easier for developers to scale and audit.
Unlike other zkVMs based on the STARK framework, Jolt leverages Lasso parameter lookup and sumcheck-based techniques. This innovative approach not only simplifies the implementation of new virtual machine instructions, but also improves the overall speed of the system. Jolt's design emphasizes ease of use and efficiency. Its code base is very streamlined, and each CPU instruction in Jolt can be implemented with only 50 lines of Rust code. In addition, Jolt's performance is also excellent. In preliminary benchmarks, it executes zero-knowledge proofs more than 5 times faster than RISC Zero and 2 times faster than SP1.
RISC Zero: Efficiently handling complex calculations
RISC Zero is a zkVM with a recursive SNARK structure, which features a recursive method that supports nested proofs. In SNARKs technology, recursion can break down complex proofs into smaller, more manageable proofs. These small proofs can be verified independently and eventually merged into a complete large proof without affecting the validity of the proof. RISC Zero is unique in its method of implementing recursion, seamlessly integrating multiple layers of proofs into a single proof chain, which not only reduces the computational load and the amount of data that needs to be processed, but also maintains the security and integrity of the verification process across multiple computational steps.
Another unique feature of RISC Zero is that it uses the RISC-V instruction set, an open standard ISA (instruction set architecture) designed for extensibility and scalability. This choice ensures that RISC Zero can take advantage of a broad ecosystem of tools and support, making it more accessible and easier to integrate into existing systems than other zkVMs that may use proprietary or less general architectures.
Last year, they successfully completed a $40 million Series A round of financing. This round of financing was led by Blockchain Capital, and other well-known investors included Bain Capital Crypto, Galaxy Digital, IOSG Ventures, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, etc.
Succinct: Developer-friendly
Succinct developed zkVM SP1, which is tailored for executing code written in Rust or any other language that can be compiled by LLVM, with greater flexibility and ease of use. SP1 supports a modular architecture, allowing developers to customize and extend its functionality through "pre-compilation". Pre-compilation refers to specific modules that can be added or modified by developers, which enhance the functionality of the core virtual machine so that it can handle specific tasks or operations more efficiently.
In addition, SP1 builds a decentralized network of attesters that simplifies the deployment and execution of attestations, thereby lowering the threshold for using advanced cryptographic methods. The network enables developers to efficiently generate attestations with just one click, providing a simplified approach.
In March, Succinct completed a $55 million financing round led by Paradigm, with participation from Robot Ventures, Bankless Ventures, Geometry, and angel investors Sreeram Kannan of Eigenlayer and Sandeep Nailwal, co-founder of Polygon. On May 13, Succinct announced the launch of the SP1 testnet.
Taiko: A multi-proof system
Taiko has begun to transition from using zkEVM to using zkVM. The uniqueness of its zkVM lies in its use of a multi-proof system. The concept of multi-proof was proposed by Vitalik, and Taiko claims to be the first project to implement this concept and will directly support this multi-proof system when the mainnet is launched at the end of May. This system allows Taiko's zkVM to generate multiple types of proofs, thereby improving the security and robustness of the system. Even if one type of proof has a problem, other types of proofs can continue to ensure the normal operation of the system and detect any erroneous state transitions in a timely manner. In addition, the Halo2-KZG proof system is also used, which enables efficient and low-cost processing of complex calculations and large-scale transactions.
In March, Taiko completed a US$15 million Series A financing round, led by Lightspeed Faction, Hashed, Generative Ventures and Token Bay Capital, with participation from Wintermute Ventures, Flow Traders, Amber Group, OKX Ventures and GSR.
ZKM: MIPS architecture is simple and stable
ZKM is a zkVM project incubated by the Metis Foundation. It uses the MIPS architecture and combines it with zero-knowledge proof technology to create a zk virtual machine. This design makes ZKP more compatible with the computing processing method within the system, speeding up operations and reducing the computing overhead associated with implementing the ZKP protocol alone. Most zkVMs currently use the Rust language, while ZKM provides native support for Golang.
MIPS (Microprocessor without Interlocked Pipeline Stages) is the first generation of reduced instruction set computer architecture. The MIPS instruction set is relatively simple and stable, and can be widely used in various computing devices and embedded systems. It has good versatility and adaptability. ZKM systems based on the MIPS architecture can be more easily developed and deployed.
zkMIPS divides the entire MIPS program into multiple segments. The instructions of each segment are then divided into four types and classified into four corresponding module tables. zkMIPS uses the STARK proof method to independently verify the instructions in each module table, ensuring that each operation in the table is correct and that each instruction in the program segment is included in its corresponding module table. It then verifies that the execution sequence of each program segment matches the execution of the entire program. In this way, even programs executed off-chain can be verified on-chain, enhancing the transparency and trust of program execution.
ZKM recently launched a new trust-minimized multi-chain interoperability infrastructure, Entangled Rollups, which uses zkMIPS to build a trustless, decentralized multi-chain interoperability framework. Unlike third-party zk bridges that only verify asset transfers through snapshots, all calculations can be verified, so it is very secure. The key to this interoperability is the existence of a universal proof mechanism that can generate proofs on one blockchain and then verify them on another blockchain. One of the differences between ZKM and other zkVMs is that it can generate a zero-knowledge proof that applies to all operations. ZKM embeds security into the underlying CPU/MIPS architecture, so that all software on top of the architecture can enjoy the same security without the need for each software to go through the zero-knowledge proof process separately.
In addition, ZKM has the following features:
Compatible with all virtual machines: ZKM sits underneath each virtual machine, making it compatible with various blockchain smart contract engine VMs, such as MoveVM (zkMVM), WASM (zkWASM), and RustVM (zkRVM), etc.
Plug and Play: Developers can adopt ZKMs without changing the existing code base. This provides low-cost adoption and allows the use of different smart contract languages and even traditional programming languages.
Long-term stability: The MIPS instruction set is stable and does not require changes to the instruction set as the EVM changes, providing a more stable environment for development.
The future of zkVM
As blockchain technology continues to mature and cutting-edge companies continue to explore, the performance of zkVM is constantly improving. We can foresee that zkVM will play an increasingly important role in the crypto world and become part of the key technology. Especially at a time when data sensitivity and the demand for cross-chain security are increasing, the capabilities provided by zkVM are adapted to market demand. We look forward to overcoming various technical difficulties, such as circuit optimization and optimization of the proof system itself, and launching a zkVM that is perfectly adapted to various programming languages, bringing more developers to the new era of Web3.