EVMx: An FPGA-Based Accelerator for Smart Contract Processing

Research output: Contribution to journalJournal Articlepeer-review

Abstract

Ethereum leverages smart contracts (SCs) to power decentralized applications (dApps), with execution handled by the Ethereum virtual machine (EVM) within an Ethereum client. Other blockchain platforms, including Avalanche, Polkadot, Aurora, and Cardano, have also adopted the EVM. However, the performance of the EVM is often constrained by the limitations of general-purpose processors, a challenge that has been explored in the literature. This work aims to further address the limitation by proposing EVMx, a dedicated single-core SC execution engine implemented on a field programmable gate array (FPGA). EVMx follows a processor-like architecture inspired by the RISC philosophy. By exploiting the parallelism and high-speed processing capabilities of FPGA hardware, EVMx achieves a 61% to 99% reduction in execution time for commonly used operation codes compared to traditional central processing unit (CPU)-based environments. Furthermore, EVMx executes entire Ethereum blocks with a percentage reduction in execution time between 6% and 56% against comparable FPGA implementations and 98% to 99% compared to CPU-based EVMs in the literature. These results demonstrate the potential of EVMx to significantly accelerate SC execution and enhance the performance of EVM-compatible blockchains.

Original languageEnglish
Pages (from-to)554-567
Number of pages14
JournalIEEE Transactions on Very Large Scale Integration (VLSI) Systems
Volume34
Issue number2
DOIs
Publication statusPublished - 2026

!!!Keywords

  • Blockchain
  • Ethereum
  • Ethereum virtual machine (EVM)
  • cryptocurrency
  • field programmable gate array (FPGA)
  • hardware acceleration
  • smart contracts (SCs)

Fingerprint

Dive into the research topics of 'EVMx: An FPGA-Based Accelerator for Smart Contract Processing'. These topics are generated from the title and abstract of the publication. Together, they form a unique fingerprint.

Cite this