학술논문

DAppHunter: Identifying Inconsistent Behaviors of Blockchain-based Decentralized Applications
Document Type
Conference
Source
2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) ICSE-SEIP Software Engineering: Software Engineering in Practice (ICSE-SEIP), 2023 IEEE/ACM 45th International Conference on. :24-35 May, 2023
Subject
Computing and Processing
Measurement
Smart contracts
Prototypes
Web pages
Manuals
Decentralized applications
Behavioral sciences
blockchain
smart contract
DApp testing
inconsistent behavior
Language
ISSN
2832-7659
Abstract
A blockchain-based decentralized application (DApp) refers to an application typically using web pages or mobile applications as the front-end and smart contracts as the back-end. The front-end of the DApp helps users generate transactions and send them to the user’s blockchain wallet. After the user signs and confirms the transaction using the blockchain wallet, the transaction will invoke the smart contract of the DApp. However, users bear the following risks when using DApps because of the potential inconsistent behaviors in DApps. First, the DApp front-end may generate incorrect transactions inconsistent with users’ intentions. Second, the smart contract may have misbehaviors when executing the transactions. Inconsistent behaviors of DApps not only lead to user confusion but also cause significant financial losses. In this paper, we proposed a novel approach to identify inconsistent behaviors of DApps on EVM-compatible blockchains by contrasting the behaviors of DApps that derived from the front-end, blockchain wallet, and smart contracts, respectively. We implemented our approach into a prototype named DAppHunter. We have applied DAppHunter on 92 real-world DApps of Ethereum and Binance Smart Chain and successfully identified 37 DApps with inconsistent behaviors. We confirmed that 35 of them are scam DApps and over 5 million blockchain addresses are at risk of becoming victims of these inconsistent DApps.