中文版 | English
题名

Ðarcher: Detecting on-chain-off-chain synchronization bugs in decentralized applications

作者
通讯作者Wei,Lili
DOI
发表日期
2021-08-20
会议名称
29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
会议录名称
页码
553-565
会议日期
AUG 23-28, 2021
会议地点
null,null,ELECTR NETWORK
出版地
1601 Broadway, 10th Floor, NEW YORK, NY, UNITED STATES
出版者
摘要
Since the emergence of Ethereum, blockchain-based decentralized applications (DApps) have become increasingly popular and important. To balance the security, performance, and costs, a DApp typically consists of two layers: an on-chain layer to execute transactions and store crucial data on the blockchain and an off-chain layer to interact with users. A DApp needs to synchronize its off-chain layer with the on-chain layer proactively. Otherwise, the inconsistent data in the off-chain layer could mislead users and cause undesirable consequences, e.g., loss of transaction fees. However, transactions sent to the blockchain are not guaranteed to be executed and could even be reversed after execution due to chain reorganization. Such non-determinism in the transaction execution is unique to blockchain. DApp developers may fail to perform the on-chain-off-chain synchronization accurately due to their lack of familiarity with the complex transaction lifecycle. In this work, we investigate the challenges of synchronizing on-chain and off-chain data in Ethereum-based DApps. We present two types of bugs that could result in inconsistencies between the on-chain and off-chain layers. To help detect such on-chain-off-chain synchronization bugs, we introduce a state transition model to guide the testing of DApps and propose two effective oracles to facilitate the automatic identification of bugs. We build the first testing framework, ÐArcher, to detect on-chain-off-chain synchronization bugs in DApps. We have evaluated ÐArcher on 11 popular real-world DApps. ÐArcher achieves high precision (99.3%), recall (87.6%), and accuracy (89.4%) in bug detection and significantly outperforms the baseline methods. It has found 15 real bugs in the 11 DApps. So far, six of the 15 bugs have been confirmed by the developers, and three have been fixed. These promising results demonstrate the usefulness of ÐArcher.
关键词
学校署名
通讯
语种
英语
相关链接[Scopus记录]
收录类别
资助项目
National Natural Science Foundation of China[61932021]
WOS研究方向
Computer Science
WOS类目
Computer Science, Software Engineering
WOS记录号
WOS:000744425500051
EI入藏号
20214010982541
EI主题词
Application programs ; Automation ; Ethereum ; Life cycle ; Program debugging ; Software testing ; Synchronization
EI分类号
Computer Software, Data Handling and Applications:723 ; Computer Programming:723.1 ; Database Systems:723.3 ; Computer Applications:723.5 ; Automatic Control Principles and Applications:731 ; Systems Science:961
Scopus记录号
2-s2.0-85116290515
来源库
Scopus
引用统计
被引频次[WOS]:9
成果类型会议论文
条目标识符http://sustech.caswiz.com/handle/2SGJ60CL/254004
专题南方科技大学
工学院_计算机科学与工程系
作者单位
1.Hong Kong University of Science and Technology,Hong Kong
2.Southern University of Science and Technology,China
通讯作者单位南方科技大学
推荐引用方式
GB/T 7714
Zhang,Wuqi,Wei,Lili,Li,Shuqing,et al. Ðarcher: Detecting on-chain-off-chain synchronization bugs in decentralized applications[C]. 1601 Broadway, 10th Floor, NEW YORK, NY, UNITED STATES:ASSOC COMPUTING MACHINERY,2021:553-565.
条目包含的文件
条目无相关文件。
个性服务
原文链接
推荐该条目
保存到收藏夹
查看访问统计
导出为Endnote文件
导出为Excel格式
导出为Csv格式
Altmetrics Score
谷歌学术
谷歌学术中相似的文章
[Zhang,Wuqi]的文章
[Wei,Lili]的文章
[Li,Shuqing]的文章
百度学术
百度学术中相似的文章
[Zhang,Wuqi]的文章
[Wei,Lili]的文章
[Li,Shuqing]的文章
必应学术
必应学术中相似的文章
[Zhang,Wuqi]的文章
[Wei,Lili]的文章
[Li,Shuqing]的文章
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
[发表评论/异议/意见]
暂无评论

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。