EBTree: A B-plus Tree Based Index for Ethereum Blockchain Data

The emergence of smart contract promotes the popularity of blockchain applications, leading the dramatically growth of Ethereum blockchain data size. The analysis on blockchain data is urgently needed for users, e.g., collecting statistics of tokens, monitoring the status of Ethereum blockchain. However, Ethereum could only support simple searches on blockchain data on account of its storage model. This paper proposes the EBTree, an index for Ethereum blockchain Data, and implements it based on Ethereum client (Geth1.8). With the properties of B+ tree, EBTree could support real-time top-k, range, equivalent search on Ethereum blockchain data. Besides, EBTree takes up relatively small s-torage space because it only stores the identifiers of blockchain data. Meanwhile, considering of the time intervals of mining block and synchronizing data from Ethereum network, the time of insertion in EBTree has little influence on the performance of Ethereum client. We conduct experiments to evaluate the performance of EBTree. According to the result of experiments, EBTree shows great performance on searches and insertion at low cost of storage.

[1]  S. M. Muyeen,et al.  Blockchain Applications in Smart Grid–Review and Frameworks , 2019, IEEE Access.

[2]  Chris Dannen,et al.  Introducing Ethereum and Solidity , 2017 .

[3]  Yang Li,et al.  EtherQL: A Query Layer for Blockchain System , 2017, DASFAA.

[4]  Elaine Shi,et al.  Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab , 2016, Financial Cryptography Workshops.

[5]  Massimo Bartoletti,et al.  A general framework for blockchain analytics , 2017, SERIAL@Middleware.

[6]  Rüdiger Schollmeier,et al.  A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications , 2001, Proceedings First International Conference on Peer-to-Peer Computing.

[7]  Zibin Zheng,et al.  Blockchain challenges and opportunities: a survey , 2018, Int. J. Web Grid Serv..

[8]  Florin Radulescu,et al.  MongoDB vs Oracle -- Database Comparison , 2012, 2012 Third International Conference on Emerging Intelligent Data and Web Technologies.

[9]  Beng Chin Ooi,et al.  BLOCKBENCH: A Framework for Analyzing Private Blockchains , 2017, SIGMOD Conference.

[10]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[11]  Jianhua Huang,et al.  Research of peer-to-peer network architecture , 2003, International Conference on Communication Technology Proceedings, 2003. ICCT 2003..

[12]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[13]  Michael Schneider,et al.  Merkle Tree Traversal Revisited , 2008, PQCrypto.

[14]  David Randall,et al.  Chapter Five - Blockchain applications in healthcare and the opportunities and the advancements due to the new information technology framework , 2019, Adv. Comput..

[15]  Wojciech Szpankowski,et al.  Profiles of PATRICIA Tries , 2016, Algorithmica.

[16]  Jianliang Xu,et al.  vChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases , 2018, SIGMOD Conference.

[17]  Beng Chin Ooi,et al.  ForkBase: An Efficient Storage Engine for Blockchain and Forkable Applications , 2018, Proc. VLDB Endow..

[18]  Andy Dent,et al.  Getting Started with LevelDB , 2013 .

[19]  Arvind Narayanan,et al.  BlockSci: Design and applications of a blockchain analysis platform , 2017, USENIX Security Symposium.

[20]  Stéphane Ducasse,et al.  Ethereum Query Language , 2018, 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB).

[21]  Aggelos Kiayias,et al.  Blockchain Mining Games , 2016, EC.

[22]  Vitalik Buterin A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM , 2015 .