fourpillars
thubmnail
InfrastructureModular

***: A New Narrative to EVM and zkEVM

September 27, 2023·11 min read
Key Takeaways
1. Intro to Blockchain VM
2. What are VM and zkVM?
2.1 Blockchain VM
2.2 Blockchain zkVM
3. Blockchain VM Landscape
3.1 WasmVM
3.2 EVM
3.3 MoveVM
3.4 SVM (Solana Virtual Machines)
4. Blockchain zkVM Landscape
4.1 zkWASM
4.2 zkEVM
4.3 zkISA (CPU Instruction set like Risc0, MIPS)
4.4 Other Notable Projects
5. Final Thoughts
Researcherresearcher-profile
xpara

Key Takeaways

  • The blockchain VM and zkVM landscape is evolving, and lots of new players have emerged.

  • Multiple VMs are getting adapted in the blockchain landscape, such as WasmVM, MoveVM, and Solana Virtual Machines (SVM), highlighting their features and use cases.

  • Recently, there have been developments in zkVMs (zero-knowledge Virtual Machines) which provide enhanced privacy, security, and also scalability in blockchain.

  • For the final thoughts, there will be a strong potential for Wasm VM, the increasing number of VM use cases suited to application, and the development of zk marketplaces.

1. Intro to Blockchain VM

A virtual machine (VM) defines the application-level logic of a blockchain. It specifies the blockchain's state, state transition function, transactions, and the API through which users can interact with the blockchain.

The Ethereum Virtual Machine (EVM) has been the pioneer and the most widely adopted VM in the blockchain space. Most of the tools are built for EVM. However, other virtual machines have features that the EVM lacks, such as parallel processing, support for other mainstream languages, and embedded security features.

So far, various VMs have been built and are currently being built. This article covers the following topics:

  • The current landscape of "Blockchain native VMs"

  • The landscape of zkVMs, which are more blockchain-oriented with zero knowledge

  • Future of this landscape

2. What are VM and zkVM?

2.1 Blockchain VM

Blockchain can be seen as a state machine composed of blocks B1, B2, B3, ..., Bn. To generate a new block, a state transition function is applied to the state Si at block height Bi along with a transaction list Ti. Through this process, a new state Si+1 is created.

A blockchain virtual machine (VM) provides a storage and execution environment specialized for this type of state transition function. Such blockchain VMs are designed to transform state values based on transactions and generate blocks accordingly. This ensures the immutability of past records.

2.2 Blockchain zkVM

The zero-knowledge virtual machine (zkVM) enables verifiable execution of programs without exposing sensitive input information.

Therefore, zkVM provides improved privacy and security in blockchain while offering scalability and interoperability. In the case of zkVMs, the execution trace generates zk proofs through zk circuits, although the specific approach may vary for each zkVM. This drawback requires custom development for op-codes of each VM and involves significant research and development. However, considering the progress made in the past year, significant advancements have been achieved.

For more detailed explanations, please refer to the article by Lisa from Taiko: link.

*Furthermore, the reason for not specifically discussing fraud-proof and optimistic rollup VMs in this article is that most optimistic rollup VMs are used with minimal changes from existing VMs, so they were not covered here.

3. Blockchain VM Landscape

Untitled

3.1 WasmVM

  • list of projects: cosmwasm, avalanche wasm, Arbitrum Stylus, Astar Wasm, FVM

WebAssembly (WASM) is used as a virtual machine used in blockchain to execute smart contracts. It is a low-level bytecode format designed to be fast, secure, and portable. In the blockchain space, there are several WASM VMs available.

CosmWasm is a smart contract engine designed for the Cosmos SDK. It is written in Rust and uses the WASM VM to execute smart contracts. CosmWasm aims to be fast, secure, and efficient. However, mostly Rust is used in Cosmwasm.

Cross-Virtual Machine (XVM): Astar Foundation has created the Cross-Virtual Machine (XVM) to achieve the Astar Vision. The XVM allows for the execution of smart contracts written in languages that can target WASM, such as Rust, Go, C++, and more, which all support type safety and proper error handling. With XVM, projects can access and use other blockchains with a simple asynchronous function

Arbitrum Stylus is a new feature introduced in the Arbitrum blockchain. It simplifies smart contract development using computer languages compatible with the WASM VM. Arbitrum Stylus focuses on being fast, secure, and efficient. It supports multiple programming languages and has the potential to significantly reduce costs with its two virtual machines. Arbitrum Stylus is a technical implementation by Offchain Labs to enhance smart contract development on Ethereum's Layer 2.

These WASM VMs provide a powerful and secure environment for executing smart contracts in the blockchain ecosystem. Also, this is a relatively new trend.

3.2 EVM

  • List of Projects: Ethereum, Polygon, OP-Mainnet, BNB Chain …

The Ethereum Virtual Machine (EVM) is vital to blockchain ecosystems, especially in the Ethereum network. The EVM is a virtual machine that executes smart contracts written in Solidity, blockchain's most used programming language.

The EVM's popularity can be credited to its pivotal role in enabling the creation of decentralized applications (dApps) and decentralized finance (DeFi) protocols on the Ethereum network. The EVM has become a standard for smart contract execution, and many other blockchain platforms have adopted it as well. Moreover, the EVM has also enabled the creation of non-fungible tokens (NFTs), which are unique digital assets that can be bought, sold, and traded on the blockchain.

Overall, the EVM has played a significant role in the growth and development of the blockchain industry, as it was the first used smart contract blockchain. Its popularity can be attributed to its ability to enable the creation of dApps, DeFi protocols, and NFTs, among other use cases.

Untitled

Source: Languages - DefiLlama

3.3 MoveVM

  • List of Projects: Sui, Aptos, MovementLabs

MoveVM is a virtual machine Aptos, Sui, and Movement Labs use. It is a programming language designed to construct secure and adaptable smart contracts and customized transactions for blockchains. MoveVM processes input to produce a changeset or storage delta as output. Once consensus agrees and commits to the output, it becomes publicly visible.

Compared to competing blockchain programming languages, Move stores crucial information, such as tokens and smart contracts, as resources, giving the language considerably improved security. Move is used to implement all of the key elements of Aptos, including accounts, transaction fees, a standard library, validator node management, and configuration. The MoveVM can extend its core features via an adapter layer.

Virtual machines, such as MoveVM, enforce the rules and protocols defined by the blockchain platform, allowing for secure and reliable execution of smart contracts.

3.4 SVM (Solana Virtual Machines)

  • List of Projects: Solana, Eclipse, Nitro

The Solana Virtual Machine (SVM) functions as the computational ecosystem for processing transactions and executing smart contracts on the Solana platform. For the execution of a transaction, the VM transposes the smart contract's code into a structure interpretable by the computer systems of validators. Each validator node operates a distinct instance of the SVM, ensuring a uniform consensus throughout the blockchain. The SVM instances in every validator's setup receive and interpret the state modifications conveyed by deployed smart contracts, updating the blockchain accordingly. The SVM is powered by Sealevel, a processing engine that enables efficient parallel processing of multiple smart contracts by specifying data access patterns during runtime.

In contrast to the Ethereum Virtual Machine (EVM), Solana's SVM offers distinct advantages, including heightened efficiency and parallel processing capabilities facilitated by Sealevel. This allows the SVM to process a multitude of transactions concurrently, improving the overall throughput of the Solana network.

4. Blockchain zkVM Landscape

Zero-knowledge proofs (ZKPs) are important for blockchain as they offer significant advantages. They can make VMs more blockchain native and interoperable with other networks by providng a computation proof. Also, ZKPs enhance privacy by allowing for secure transfer of information between parties without revealing extra details. They also contribute to scalability by minimizing data sharing, stimulate verifiable computation by outsourcing computation to another entity while maintaining verifiable results, and enable off-chain scaling solutions such as zero-knowledge rollups and validiums.

There are many interesting projects being built around in zkVM landscape.

Untitled

4.1 zkWASM

  • List of Projects: Fluent, Delphinus Labs,

zkWASM is a virtual machine that supports WebAssembly and generates ZK proofs. The adoption of WASM will attract more traditional programmers to the world of blockchain, creating a demand for an interplay framework between WASM contracts and traditional applications and libraries. Since many modern applications are built on a Wasm VM, there can be many use cases. Below are some of the projects in zkWASM.

  • Fluent: It is a general-purpose zkWASM execution layer for Ethereum. It allows developers to build high-throughput applications in their preferred programming language. Fluent is built on top of ZK-WASM, a software project that implements Zero Knowledge Proofs (ZKP) in Rust and compiles it to WebAssembly (WASM).

  • Delphinus Labs: This is a zkWASM project started from a paper. They have been building zkWASM with SNARK.

  • zkWASM experiment by lambdaclass: They have recently noted thet have initiated a small internal team to develop zkWASM in Cairo (Starknet) with o1js (MinaProtocol).

4.2 zkEVM

  • List of Projects: zkSync, Polygon zkEVM, Linea, Taiko, Scroll …

A zkEVM is a virtual machine compatible with the Ethereum Virtual Machine (EVM) that supports zero-knowledge proof computation. It is designed to execute smart contracts while utilizing zero-knowledge technology. ZkEVMs are a component of zero-knowledge (ZK) rollups, which are layer 2 scaling solutions for Ethereum that improve throughput by offloading computation and state storage off-chain.

Over the past year, there have been significant improvements in zkEVM, with many projects launching their mainnet. (i.e. zkSync Era, Polygon zkEVM, Linea, etc)

Untitled

Source: The different types of ZK-EVMs

4.3 zkISA (CPU Instruction set like Risc0, MIPS)

There have been efforts to build a generalized zkVM, which has led to the development of projects based on the opcodes of RISC-V, a low-level CPU instruction set. One well-known project in this domain is Risc Zero.

RISC Zero's zkVM, initially released in April 2022, provides the ability to prove the correct execution of arbitrary code. This allows developers to build zero-knowledge (ZK) applications using mature languages like Rust and C++. This release was a significant breakthrough in ZK software development, as it eliminated the need to build a circuit or write in a custom language when building a ZK application.

By enabling developers to use Rust and leverage the maturity of the Rust ecosystem, the zkVM has made it possible for developers to quickly create meaningful ZK applications, even without a background in advanced mathematics or cryptography.

4.4 Other Notable Projects

  • Cairo: CairoVM is a virtual machine developed by StarkWare for use with the StarkNet platform, designed to harness the power of zk-Rollups and validity proofs. It includes a high-level programming language called Cairo, which is easy to use and optimized for producing STARK systems. Cairo is the first universal Von Neumann STARK architecture for any blockchain on the Ethereum mainnet, with a high level of flexibility due to shared memory between instructions and data.

  • zkMove: The zkMove VM is a zkVM that guarantees type-safety during runtime and enables concurrent proving at the transaction level for faster processing. Additionally, it provides client-side proving to safeguard user privacy in a seamless manner.

  • zkLLVM: zkLLVM is a project developed by the =nil; Foundation. It serves as a compiler for developers constructing zero-knowledge circuits. The project aims to simplify circuit definition for both established and emerging zero-knowledge (zk) use cases.

5. Final Thoughts

  • Wasm based VMs have lots of potential: WASM is gaining importance and adoption due to its performance, portability, broad adoption by major companies, and expansion beyond the browser. It offers faster execution times, compatibility with multiple programming languages, and potential gaming, e-commerce, media streaming, and server-side computing applications.

  • Apps will find VMs that are suitable for them.: Similar to Movement Labs' MoveVM and Eclipse's SVM, there are various experiments being conducted on the low-level technical side. As the use cases in blockchain continue to grow (hopefully), each VM will have its own advantages over others based on their specific features. For example, MoveVM offers parallel execution and is designed to be the safest machine, making it a suitable choice for financial applications.

  • The number of use cases will increase by onboarding of Web2 apps: In the blockchain industry, there has always been a debate and struggle to find the right use case. However, VMs (Virtual Machines) like WasmVM with zk (zero-knowledge) technology could support web2 software to onboard the blockchain without requiring the software to be written in a new language.

  • A zk marketplace will be developed: Currently, multiple projects are being built around zkVMs, and this trend is likely to increase. Instead of individual entities spinning up the zk prover, there will be a need for a marketplace to compute and generate zk proof. Therefore, I believe zk marketplaces like =;nil and Gauvelt would gain attention.

Thanks to Kate for designing the graphics for this article.

Related Articles

We produce in-depth blockchain research articles