[논문 리뷰] VM Matters: A Comparison of WASM VMs and EVMs in the Performance of Blockchain Smart Contracts
이 논문은 블록체인 스마트 컨트랙트를 실행하는 데 있어 웹 어셈블리(웹어셈블리, 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.
연구 동기 및 목표
- 웹어셈블리(WASM) VM이 블록체인 스마트 컨트랙트를 실행하는 데 있어 이더리움 가상 머신(EVM)을 능가하는지 조사하기.
- 주요 블록체인 클라이언트에서 EVM과 WASM VM의 성능 저하 요인을 규명하기.
- 블록체인 플랫폼에서 EVM에서 WASM 기반 실행 엔진으로의 이행이 실세계 성능에 미치는 영향을 평가하기.
- 향후 블록체인 클라이언트, WASM 엔진, 스마트 컨트랙트 컴파일러의 최적화를 위한 실증적 통찰을 제공하기.
제안 방법
- EVM 및 WASM 바이트코드 포맷에서 대표적인 스마트 컨트랙트 연산을 포함하는 종합적인 벤치마크 세트를 설계하였다.
- 11종의 최신 WASM 엔진과 두 가지 주요 EVM 엔진(Go-Ethereum 및 Openethereum)을 다양한 블록체인 클라이언트에서 평가하였다.
- EVM 전용 및 WASM 전용 엔진 가족 내에서의 성능 차이를 분리하기 위해 내부 바이트코드 엔진 비교를 수행하였다.
- 동일한 클라이언트(Go-Ethereum 및 Openethereum)의 EVM 버전과 WASM 버전 엔진 간의 상호 바이트코드 엔진 비교를 수행하였다.
- 다양한 스마트 컨트랙트 워크로드를 대상으로 실행 시간과 자원 사용량을 측정하여 성능 오버헤드를 정량화하였다.
- 명령어 수준의 동작과 VM 아키텍처의 차이를 분석하여 성능 저하의 근본 원인을 규명하였다.
실험 결과
연구 질문
- RQ1실세계 블록체인 스마트 컨트랙트 워크로드에서 WASM 기반 실행은 EVM 기반 실행을 능가하는가?
- RQ2현재 WASM VM이 블록체인 환경에서 사용될 때 주요 성능 저하 요인은 무엇인가?
- RQ3동일한 블록체인 클라이언트(Go-Ethereum, Openethereum 등)에서 EVM과 WASM 엔진의 성능 특성은 어떻게 비교되는가?
- RQ4VM 엔진의 선택이 블록체인 거래 처리의 확장성과 효율성에 얼마나 큰 영향을 미치는가?
- RQ5EVM과 WASM VM 간의 성능 격차를 초래하는 주요 아키텍처나 구현 요인는 무엇인가?
주요 결과
- 현재의 WASM VM은 블록체인 스마트 컨트랙트 실행에서 EVM보다 성능 우위를 확보하지 못하며, 일반적으로 공유되는 가정과 정면으로 배치된다.
- WASM에서 유도되는 성능 오버헤드는 상당히 크며, 동일한 스마트 컨트랙트 워크로드에 대해 WASM VM에서의 실행 시간이 EVM보다 자주 더 길다.
- WASM VM에서의 심각한 성능 저하는 컴파일된 WASM 바이트코드에서 명령어 수 증가, 더 많은 로드/스토어 연산, 더 높은 분기 복잡성에 기인한다.
- 이 연구는 심지어 Go-Ethereum 및 Openethereum의 최적화된 WASM 엔진조차도 EVM 성능을 따라잡지 못함을 드러내며, 아키텍처나 실행 구현의 비효율성에 기인함을 시사한다.
- 내부 엔진 비교 결과, 동일한 하드웨어와 워크로드에서 EVM 엔진(Go-Ethereum 등)이 그들의 WASM 동반자보다 일관되게 뛰어난 성능을 보였다.
- 이러한 발견은 WASM을 블록체인에 구현할 때의 핵심 과제를 강조하며, WASM 엔진, 컴파일러, 블록체인 클라이언트 설계의 깊은 최적화가 절실하다는 점을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.