Abstract
Ethereum is one of the first blockchains executing smart contracts, i.e., financial applications directly executed on the ledger using a virtual machine. High transaction volumes caused by financial applications, including decentralized finance and non-fungible tokens, slow down the Ethereum Virtual Machine. Hence, there is a need to detail the execution characteristics of the Ethereum Virtual Machine before its performance can be improved. This work introduces an off-line Ethereum virtual machine tracer called EVMTracer that produces runtime data dependence graphs from executed transactions as an alternative program representation. From the runtime dependence graphs, we can deduce valuable metrics about program execution characteristics, including the degree of parallelization and computational redundancies in smart contracts. Our experiments encompass all blocks up to 12M on the Ethereum mainnet. We found a geometric mean of 1.90× theoretical maximum speedup when executing the smart contracts in parallel and identified 34.97% of SLOAD instructions as redundant.
Original language | English |
---|---|
Pages (from-to) | 47159-47178 |
Number of pages | 20 |
Journal | IEEE Access |
Volume | 11 |
DOIs | |
Publication status | Published - 2023 |
Bibliographical note
Publisher Copyright:© 2013 IEEE.
All Science Journal Classification (ASJC) codes
- General Computer Science
- General Materials Science
- General Engineering