[論文レビュー] VM Matters: A Comparison of WASM VMs and EVMs in the Performance of Blockchain Smart Contracts
本論文は、ブロックチェーンスマートコントラクトの実行におけるWebAssembly (WASM)仮想マシンとイーサリアム仮想マシン (EVM) の間で、初めての実証的性能比較を提示している。複数のブロックチェーンクライアントを用いたカスタムベンチマークを通じて、現在のWASM VMは期待通りにEVMを上回らないことが判明し、ブロックチェーン環境におけるWASMの優位性という仮定に疑問を呈する、顕著な性能オーバーヘッドが明らかになった。
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エンジンと2つの主要なEVMエンジン(Go-EthereumとOpenethereum)を、複数のブロックチェーンクライアントで評価した。
- EVM専用およびWASM専用のエンジンファミリー内で性能差を特定するために、内部のバイナリコードエンジン比較を実施した。
- 同じクライアント(Go-EthereumとOpenethereum)のEVMバージョンとWASMバージョンのエンジン間で、相互のバイナリコードエンジン比較を実施した。
- 多様なスマートコントラクトワークロードを通じて実行時間とリソース使用量を測定し、性能オーバーヘッドを定量化した。
- 命令レベルの動作とVMアーキテクチャの違いを分析することで、性能低下の根本原因を特定した。
実験結果
リサーチクエスチョン
- RQ1実世界のブロックチェーンスマートコントラクトワークロードにおいて、WASMベースの実行はEVMベースの実行を上回るか?
- RQ2現在のWASM仮想マシンがブロックチェーン環境で使用される際の主な性能ボトルネックは何か?
- RQ3同じブロックチェーンクライアント(例:Go-Ethereum、Openethereum)において、EVMとWASMエンジンの性能特性はどのように比較できるか?
- RQ4VMエンジンの選定がブロックチェーン取引処理のスケーラビリティおよび効率性に及ぼす影響はどの程度か?
- RQ5EVMとWASM仮想マシンの間の性能格差を生じさせている主なアーキテクチャ的または実装的要因は何か?
主な発見
- 現在のWASM仮想マシンは、ブロックチェーンスマートコントラクト実行において期待通りにEVMを上回らないことが判明し、一般的な仮定とは矛盾する。
- WASMによって引き起こされる性能オーバーヘッドは非軽微であり、同じスマートコントラクトワークロードにおいて、WASM仮想マシンでの実行時間がEVMよりも長くなることがしばしば見られた。
- WASM仮想マシンにおける顕著な性能劣化は、コンパイルされたWASMバイナリコードにおける命令数の増加、ロード/ストアの増加、および分岐の複雑さの増大に起因している。
- 本研究では、Go-EthereumやOpenethereumに搭載された最適化済みのWASMエンジンですらEVM性能に達しないことが判明し、アーキテクチャ的または実装上の非効率性が存在することを示している。
- エンジン内比較では、EVMエンジン(例:Go-Ethereum)が同じハードウェアとワークロードにおいて、常にそのWASM同等品を上回ることが確認された。
- これらの発見は、WASMをブロックチェーンに導入する上で重要な課題を浮き彫りにし、WASMエンジン、コンパイラ、およびブロックチェーンクライアント設計におけるより深い最適化の必要性を強く示唆している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。