Skip to main content
QUICK REVIEW

[Paper Review] VM Matters: A Comparison of WASM VMs and EVMs in the Performance of Blockchain Smart Contracts

Shuyu Zheng, Haoyu Wang|arXiv (Cornell University)|Dec 2, 2020
Blockchain Technology Applications and Security10 references6 citations
TL;DR

This paper presents the first empirical performance comparison between WebAssembly (WASM) virtual machines and the Ethereum Virtual Machine (EVM) for executing blockchain smart contracts. Using custom benchmarks across multiple blockchain clients, it finds that current WASM VMs do not outperform EVMs as expected, revealing significant performance overhead that challenges the assumption of WASM's superiority in blockchain environments.

ABSTRACT

WebAssemly is an emerging runtime for Web applications and has been supported in almost all browsers. Recently, WebAssembly is further regarded to be a the next-generation environment for blockchain applications, and has been adopted by Ethereum, namely eWASM, to replace the state-of-the-art EVM. However, whether and how well current eWASM outperforms EVM on blockchain clients is still unknown. This paper conducts the first measurement study, to measure the performance on WASM VM and EVM for executing smart contracts on blockchain. To our surprise, the current WASM VM does not perform in expected performance. The overhead introduced by WASM is really non-trivial. Our results highlight the challenges when deploying WASM in practice, and provide insightful implications for improvement space.

Motivation & Objective

  • To investigate whether WebAssembly (WASM) VMs outperform the Ethereum Virtual Machine (EVM) in executing blockchain smart contracts.
  • To identify performance bottlenecks in both EVM and WASM VMs across major blockchain clients.
  • To evaluate the real-world performance impact of migrating from EVM to WASM-based execution engines in blockchain platforms.
  • To provide empirical insights for future optimization of blockchain clients, WASM engines, and smart contract compilers.

Proposed method

  • Designed a comprehensive benchmark suite covering representative smart contract operations in both EVM and WASM bytecode formats.
  • Evaluated 11 state-of-the-art WASM engines and two major EVM engines (Go-Ethereum and Openethereum) across multiple blockchain clients.
  • Conducted intra-bytecode engine comparisons to isolate performance differences within EVM-only and WASM-only engine families.
  • Performed inter-bytecode engine comparisons between EVM-version and WASM-version engines of the same clients (Go-Ethereum and Openethereum).
  • Measured execution time and resource usage across diverse smart contract workloads to quantify performance overhead.
  • Analyzed root causes of performance degradation by examining instruction-level behavior and VM architecture differences.

Experimental results

Research questions

  • RQ1Does WASM-based execution outperform EVM-based execution in real-world blockchain smart contract workloads?
  • RQ2What are the primary performance bottlenecks in current WASM VMs when used in blockchain environments?
  • RQ3How do the performance characteristics of EVM and WASM engines compare across the same blockchain clients (e.g., Go-Ethereum, Openethereum)?
  • RQ4To what extent does the choice of VM engine impact the scalability and efficiency of blockchain transaction processing?
  • RQ5What are the key architectural or implementation factors contributing to the performance gap between EVM and WASM VMs in blockchain execution?

Key findings

  • Current WASM VMs do not achieve the expected performance advantage over EVMs in blockchain smart contract execution, contradicting common assumptions.
  • The performance overhead introduced by WASM is non-trivial, with execution times on WASM VMs often exceeding those on EVMs for the same smart contract workloads.
  • Significant performance degradation in WASM VMs is attributed to increased instruction count, more loads/stores, and higher branching complexity in compiled WASM bytecode.
  • The study reveals that even optimized WASM engines like those in Go-Ethereum and Openethereum do not match EVM performance, indicating architectural or implementation inefficiencies.
  • Intra-engine comparisons show that EVM engines (e.g., Go-Ethereum) consistently outperform their WASM counterparts on the same hardware and workload.
  • The findings highlight critical challenges in deploying WASM for blockchain, urging deeper optimization in WASM engines, compilers, and blockchain client design.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.