Skip to main content
QUICK 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 Security参考文献 10被引用 6
一句话总结

本文首次对执行区块链智能合约的WebAssembly(WASM)虚拟机与以太坊虚拟机(EVM)进行了实证性能比较。通过在多个区块链客户端上使用自定义基准测试,研究发现当前的WASM虚拟机并未如预期般优于EVM,揭示了显著的性能开销,挑战了WASM在区块链环境中优越性的假设。

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.

研究动机与目标

  • 调查WebAssembly(WASM)虚拟机在执行区块链智能合约时是否优于以太坊虚拟机(EVM)。
  • 识别在主要区块链客户端中EVM与WASM虚拟机的性能瓶颈。
  • 评估从EVM迁移到基于WASM的执行引擎对区块链平台实际性能的影响。
  • 为未来区块链客户端、WASM引擎及智能合约编译器的优化提供实证洞察。

提出的方法

  • 设计了一套全面的基准测试套件,涵盖EVM与WASM字节码格式下的代表性智能合约操作。
  • 在多个区块链客户端上,评估了11个最先进的WASM引擎和两个主要的EVM引擎(Go-Ethereum与Openethereum)。
  • 执行了同一类字节码引擎间的比较,以隔离EVM专用与WASM专用引擎家族内部的性能差异。
  • 在相同客户端(Go-Ethereum与Openethereum)的EVM版本与WASM版本引擎之间进行了跨字节码引擎比较。
  • 通过测量多样化智能合约工作负载下的执行时间与资源使用情况,量化了性能开销。
  • 通过分析指令级行为与虚拟机架构差异,探究了性能下降的根本原因。

实验结果

研究问题

  • RQ1在真实世界的区块链智能合约工作负载中,基于WASM的执行是否优于基于EVM的执行?
  • RQ2当前WASM虚拟机在区块链环境中使用时,主要的性能瓶颈是什么?
  • RQ3在相同区块链客户端(如Go-Ethereum、Openethereum)中,EVM与WASM引擎的性能特征如何比较?
  • RQ4虚拟机引擎的选择在多大程度上影响区块链交易处理的可扩展性与效率?
  • RQ5哪些关键的架构或实现因素导致了区块链执行中EVM与WASM虚拟机之间的性能差距?

主要发现

  • 当前的WASM虚拟机在区块链智能合约执行中并未实现预期的性能优势,与普遍假设相悖。
  • WASM引入的性能开销不可忽视,相同智能合约工作负载下,WASM虚拟机的执行时间通常高于EVM。
  • WASM虚拟机中显著的性能下降归因于编译后WASM字节码的指令数量增加、加载/存储操作增多以及分支复杂度提高。
  • 研究发现,即使在Go-Ethereum与Openethereum等优化良好的WASM引擎中,性能仍无法与EVM比肩,表明存在架构或实现层面的低效。
  • 同引擎内比较显示,EVM引擎(如Go-Ethereum)在相同硬件与工作负载下始终优于其WASM对应版本。
  • 研究结果凸显了在区块链中部署WASM所面临的严峻挑战,呼吁对WASM引擎、编译器及区块链客户端设计进行更深层次的优化。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。