BlockExplorer: Exploring Blockchain Big Data via Parallel Processing
Shipeng Li,Jingwei Li,Yuxing Tang,Xiapu Luo,Zheyuan He,Zihao Li,Xi Cheng,Yang Bai,Ting Chen,Yuzhe Tang,Zhe Liu,Xiaosong Zhang
DOI: https://doi.org/10.1109/tc.2023.3248280
IF: 3.183
2023-01-01
IEEE Transactions on Computers
Abstract:Today's blockchain systems store detailed runtime information in the format of transactions and blocks, which are valuable not only to understand the finance of blockchain-based ecosystems but also to audit the security of on-chain applications. However, exploring this blockchain “big data” is challenging due to data heterogeneity and the huge amount. Existing blockchain exploration techniques are either incomplete or inefficient, making them inapt in time-sensitive applications. This paper presents ${sf BlockExplorer}$, an efficient and flexible blockchain exploration system for Ethereum. ${sf BlockExplorer}$ builds on a master-slave architecture, where the master partitions all blocks into multiple non-overlapped sets and each slave simultaneously processes Ethereum big data based on a set of blocks. ${sf BlockExplorer}$ implements a transaction-based partitioning approach to address load balance among slaves, and a code instrumentation approach to acquire complete Ethereum big data. The evaluation shows that ${sf BlockExplorer}$ accelerates the data acquisition performance of the state-of-the-art by 4.1×, while the workload difference among slaves is up to 18%. To demonstrate the application of ${sf BlockExplorer}$, we develop three apps upon ${sf BlockExplorer}$ to detect real-life attacks against Ethereum and show that our apps can detect attacks in a large range of blocks (e.g., ten million) within a short time (e.g., multiple hours).
engineering, electrical & electronic,computer science, hardware & architecture