Characterizing Transaction-Reverting Statements in Ethereum Smart Contracts
Lu Liu, Lili Wei, Wuqi Zhang, Ming Wen, Yepang Liu, Shing-Chi Cheung

TL;DR
This study empirically analyzes how transaction-reverting statements are used in Ethereum smart contracts, revealing their prevalence, purposes, customization, and security impact to improve smart contract quality and developer guidance.
Contribution
First empirical characterization of transaction-reverting statements in Ethereum smart contracts, including their usage, purposes, customization, and security implications.
Findings
Transaction-reverting statements are prevalent in verified smart contracts.
A taxonomy of their purposes was developed through manual analysis.
Removing reverting statements impacts contract security and behavior.
Abstract
Smart contracts are programs running on blockchain to execute transactions. When input constraints or security properties are violated at runtime, the transaction being executed by a smart contract needs to be reverted to avoid undesirable consequences. On Ethereum, the most popular blockchain that supports smart contracts, developers can choose among three transaction-reverting statements (i.e., require, if...revert, and if...throw) to handle anomalous transactions. While these transaction-reverting statements are vital for preventing smart contracts from exhibiting abnormal behaviors or suffering malicious attacks, there is limited understanding of how they are used in practice. In this work, we perform the first empirical study to characterize transaction-reverting statements in Ethereum smart contracts. We measured the prevalence of these statements in 3,866 verified smart contracts…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBlockchain Technology Applications and Security · Cryptography and Data Security
