Understanding Out Of Gas Exceptions On Ethereum

Chao Liu,Jianbo Gao,Yue Li,Zhong Chen
DOI: https://doi.org/10.1007/978-981-15-2777-7_41
2019-01-01
Abstract:Ethereum is by far the most popular smart contract platform in the public blockchain category. In Ethereum, special programs named smart contracts codify the "self-governed accounts". By design, users can send transactions to smart contracts, which will automatically lead to code execution and state modification. Unlike regular programs, smart contracts are restricted in execution by gas limit, i.e., a form of runtime resource. If a transaction uses up all available gas, an out of gas (OG) exception will trigger, reverting state until right before the transaction. In this work, we empirically studied the OG exceptions on Ethereum for the very first time. In particular, we collected exception transactions using an instrumented Ethereum client. By investigating OG exceptions, we found OG stand out in terms of both occurrences and damages. Moreover, we focused on individual contracts and transactions, aiming at discovering and identifying common causing factors triggering these exceptions. At last, we also investigate existing tools in preventing OG exceptions. The results call for further research and study in this direction.
What problem does this paper attempt to address?