ZK-EVM Upgrade Narrative to zkVM
Colin Wu . 2024-05-17 . Data

By 0XNATALIE, Researcher at @ChainFeedsxyz

Source: https://substack.chainfeeds.xyz/p/zkevm-zkvm

In the search for solutions to blockchain scalability and computational efficiency, zero-knowledge proof (ZKP) technology is particularly significant. The Zero-Knowledge Virtual Machine (zkVM) is one of the specific applications of this technology. As a general-purpose computing platform based on ZKP, zkVM can verify the correctness of computations without revealing execution details. It supports processing computationally intensive tasks off-chain, only submitting verification results to the blockchain, significantly enhancing blockchain scalability. Currently, several projects 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, processing data, and complex algorithm computations. Its core function is to generate zero-knowledge proofs, which can verify the correctness of computations without revealing execution details. Through SNARKs technology, these proofs can be verified off-chain, and verifiers do not need to re-execute the entire computing process on the blockchain, saving expensive computational costs.

Moreover, the design of zkVM is not limited to cryptocurrency transactions; its versatility allows it to be deployed in various application scenarios, such as medical data processing, supply chain management, and secret voting systems, where data security must be ensured while verifying the correctness of processing logic.

Comparison of zkVM with Other Virtual Machines

Traditional virtual machines (VMs) usually refer to a complete computing environment virtualized on physical hardware, whose core function is to simulate the hardware environment, allowing multiple operating systems or applications to run on the same physical hardware. These virtual machines mainly achieve their functionality through hardware virtualization technology and OS-level isolation. They generally do not involve encrypting and verifying the applications or data running within them.

Zero-knowledge virtual machines (zkVM) use zero-knowledge proof technology to ensure the correctness of program executions, applicable to any program that can be compiled and run on a virtual machine. zkVM is designed to provide a general-purpose computing verification platform, suitable for various application scenarios, and supports multiple programming languages such as Rust, C/C++, and Go. Developers can use familiar languages to build applications. The computation and verification processes are often more time-consuming than traditional VMs because generating zero-knowledge proofs is a computationally intensive process, requiring a lot of computing resources, which significantly limits transaction processing speed (TPS). Although current zk technology has made significant progress in generating individual proofs, its ability to handle large-scale transactions under high-load conditions is still limited. Generating each proof may take several seconds to minutes, posing a limitation for applications that require high throughput, such as large-scale payment processing systems.

zkEVM is a specific implementation of zkVM, designed for the Ethereum ecosystem, aimed at enhancing Ethereum’s scalability through zero-knowledge proofs. It is fully compatible with Ethereum’s smart contracts and development tools, such as Solidity and Vyper. Existing Ethereum applications can be seamlessly migrated to zkEVM without any modifications. Thus, zkEVM is more like a specific optimized version of Ethereum.

zkVM Related Projects

Despite the challenges of zk technology, there are still several project teams in the market demonstrating technical prowess in developing zkVM solutions.

Jolt: Outstanding Performance

On April 9, a16z released the initial implementation of the zkVM solution, Jolt, a new type of zkVM characterized by fast running speed and easier scalability and code audit for developers.

Unlike other zkVMs based on the STARK framework, Jolt utilizes Lasso lookup parameters and sumcheck-based technology. This innovative method not only simplifies the implementation of new virtual machine instructions but also enhances the overall system speed. Jolt’s design focuses on usability and efficiency, with a very streamlined codebase where each CPU instruction in Jolt can be implemented with just 50 lines of Rust code. Additionally, Jolt’s performance is also outstanding; in preliminary benchmark tests, its speed of executing zero-knowledge proofs is over five times faster than RISC Zero and twice as fast as SP1.

RISC Zero: Efficiently Handles Complex Calculations

RISC Zero is a zkVM with a recursive SNARK structure, characterized by a recursive method that supports the nesting of proofs. In SNARKs technology, recursion can break down complex proofs into smaller, more manageable proofs. These smaller proofs can be verified independently and ultimately merged into one complete large proof without compromising the proof’s validity. The unique aspect of RISC Zero is 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 through multiple computational steps.

Another distinctive feature of RISC Zero is its use of the RISC-V instruction set, an open standard ISA (Instruction Set Architecture) designed for scalability and extensibility. This choice ensures that RISC Zero can utilize a wide range of tools and support ecosystems, making it more accessible and easier to integrate into existing systems compared to other zkVMs that might use proprietary or less universal architectures.

Last year, they successfully completed a $40 million Series A funding round led by Blockchain Capital, with other notable investors including Bain Capital Crypto, Galaxy Digital, IOSG Ventures, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, and others.

Succinct: Developer-Friendly

Succinct developed zkVM SP1, which is specifically customized for executing code written in Rust or any other language that can be compiled through LLVM, offering higher flexibility and usability. SP1 supports a modular architecture, allowing developers to customize and extend its capabilities through “precompiles,” which are specific, developer-added or modified modules that enhance the core virtual machine’s ability to efficiently handle particular tasks or computations.

Additionally, SP1 has built a decentralized network of provers, simplifying the deployment and execution of proofs, thereby lowering the barriers to using advanced cryptographic methods. This network allows developers to efficiently generate proofs with just a click, providing a streamlined method.

In March, Succinct completed a $55 million financing round led by Paradigm, with participating investors including Robot Ventures, Bankless Ventures, Geometry, and angel investors such as Sreeram Kannan from Eigenlayer and Sandeep Nailwal, co-founder of Polygon. On May 13, Succinct announced the launch of the SP1 testnet.

Taiko: Multi-Proof System

Taiko has begun transitioning from using zkEVM to zkVM, and its unique feature in zkVM is its application of the multi-proof system. The multi-proof concept was proposed by Vitalik, and Taiko has shown itself to be the first project to implement this concept, with support for this multi-proof system going live on the mainnet at the end of May. This system allows Taiko’s zkVM to generate multiple types of proofs, thereby enhancing the system’s security and robustness. Even if one type of proof encounters issues, other types can continue to ensure the system’s normal operation and promptly detect any erroneous state transitions. Additionally, the use of the Halo2-KZG proof system ensures efficiency and low cost when processing complex calculations and large-scale transactions.

In March, Taiko completed a $15 million Series A funding round co-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: Simple and Stable MIPS Architecture

ZKM is a zkVM project incubated by the Metis Foundation, utilizing the MIPS architecture and combining it with zero-knowledge proof technology to create a zk virtual machine. This design aligns ZKP more closely with the system’s internal computational processing methods, speeding up operations and reducing computational overhead related to the separate implementation of ZKP protocols. Additionally, while most zkVMs use the Rust language, ZKM offers native support for Golang.

MIPS (Microprocessor without Interlocked Pipeline Stages) is a first-generation reduced instruction set computing architecture. The MIPS instruction set is relatively simple and stable, widely applicable across various computing devices and embedded systems, offering good versatility and adaptability. Based on the MIPS architecture, the ZKM system can be more easily developed and deployed.

zkMIPS divides the entire MIPS program into multiple segments. Then, the instructions of each segment are divided into four types and categorized into respective 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 respective module table. Subsequently, the execution sequence of the individual program segments is verified to match the entire program’s execution. Through this approach, even programs executed off-chain can be verified on-chain, enhancing the transparency and trustworthiness of program execution.

Recently, ZKM launched a new trust-minimized multi-chain interoperability infrastructure called Entangled Rollups, using zkMIPS to build a trustless, decentralized multi-chain interoperability framework. Unlike third-party zk bridges that only verify asset transfers through snapshots, all computations can be verified, making it very secure. The key to this interoperability is the existence of a universal proof mechanism, which allows proofs to be generated on one blockchain and then verified on another. One of the distinctive features of ZKM is its ability to generate a zero-knowledge proof applicable to all operations. ZKM embeds security into the underlying CPU/MIPS architecture, ensuring that all software built on this architecture enjoys the same level of security, eliminating the need for each software to undergo a separate zero-knowledge proof process.

Furthermore, ZKM features include:

● Compatibility with all virtual machines: ZKM is situated beneath each virtual machine, making it compatible with various blockchain smart contract engines VMs such as MoveVM (zkMVM), WASM (zkWASM), and RustVM (zkRVM), among others.

● Plug-and-play: Developers can adopt ZKM without changing their existing codebases. This provides a low-cost adoption and allows the use of different smart contract languages or even traditional programming languages.

● Long-term stability: The MIPS instruction set offers stability and does not need to change with the continuous changes in the EVM, providing a more stable environment for development.

Future Prospects of zkVM

As blockchain technology continues to mature and frontier companies keep exploring, the performance of zkVMs is continually improving. We can foresee that zkVMs will play an increasingly important role in the crypto world, becoming a part of critical technology. Especially in today’s context, where there is an increasing demand for data sensitivity and cross-chain security, zkVMs’ capabilities are well-suited to meet market needs. We look forward to overcoming various technical challenges, such as circuit optimization and proof system optimization, to launch perfectly adapted zkVMs for various programming languages, bringing more developers into the new era of Web3.

Follow us

Twitter: https://twitter.com/WuBlockchain

Telegram: https://t.me/wublockchainenglish