paperbot · PL 论文追踪

全部论文 待读 收藏

P2 ÐArcher: detecting on-chain-off-chain synchronization bugs in decentralized applications

ÐArcher:检测去中心化应用中链上与链下同步缺陷
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 2/10 · 该论文属于区块链 DApp 的测试与缺陷检测方向,核心是链上-链下同步缺陷的状态转换建模与测试预言,与用户关注的静态分析、Agentic/LLM 程序分析、浮点程序分析、贝叶斯程序分析均无实质交集。虽涉及程序状态建模与自动化缺陷检测,但既非针对 ML/Agent 系统,也未使用 LLM,方法上也没有可迁移的形式化或概率分析贡献。引用 19 inbox
Wuqi Zhang, Lili Wei, Shuqing Li, Yepang Liu, Shing-Chi Cheung
crossref: 2026-09-12

AI 速览

一句话:提出首个检测 DApp 链上-链下同步缺陷的测试框架 ÐArcher,并在真实应用中验证其有效性。

基于以太坊的去中心化应用(DApp)通常分为链上层和链下层:链上执行交易并存储关键数据,链下与用户交互。链下层需主动与链上同步,否则不一致数据可能误导用户并造成交易费损失等后果。然而,发送到区块链的交易不保证执行,甚至可能因链重组在已执行后被回滚,这种交易执行的非确定性是区块链特有的,开发者常因不熟悉复杂交易生命周期而无法准确同步。本文研究以太坊 DApp 中链上-链下数据同步的挑战,归纳出两类可导致层间不一致的缺陷;提出状态转移模型来指导 DApp 测试,并设计两个有效 oracle 自动识别缺陷,构建了首个测试框架 ÐArcher。在 11 个流行真实 DApp 上评估,缺陷检测精确率 99.3%、召回率 87.6%、准确率 89.4%,显著优于基线,并发现 15 个真实缺陷,其中 6 个已被开发者确认,3 个已修复。

问题
DApp 的链下层需要与链上层同步,但交易可能未执行或因链重组被回滚,开发者难以准确处理这种非确定性,导致链上-链下数据不一致并可能误导用户。
方法
总结两类链上-链下同步缺陷,提出状态转移模型指导 DApp 测试,并设计两个 oracle 自动识别同步缺陷,实现首个测试框架 ÐArcher。
评估
在 11 个流行真实 DApp 上评估,ÐArcher 的缺陷检测精确率 99.3%、召回率 87.6%、准确率 89.4%,显著优于基线;发现 15 个真实缺陷,其中 6 个被开发者确认,3 个已修复。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6391,
  title = {ÐArcher: detecting on-chain-off-chain synchronization bugs in decentralized applications},
  author = {Wuqi Zhang and Lili Wei and Shuqing Li and Yepang Liu and Shing-Chi Cheung},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3468546}
}