TL;DR
This paper introduces DArcher, a testing framework that detects synchronization bugs between on-chain and off-chain layers in Ethereum DApps, improving security and reliability.
Contribution
It presents a novel state transition model and two oracles for automatic bug detection, along with the first dedicated testing framework for this purpose.
Findings
Achieves 99.3% precision in bug detection
Found 15 real bugs in 11 DApps, with some fixed
Outperforms baseline methods significantly
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…
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.
