Efficient Data and Indexing Structure for Blockchains in Enterprise Systems

Blockchains yield to new workloads in database management systems and K/V-Stores. Distributed Ledger Technology (DLT) is a technique for managing transactions in 'trustless' distributed systems. Yet, clients of nodes in blockchain networks are backed by 'trustworthy' K/V-Stores, like LevelDB or RocksDB in Ethereum, which are based on Log-Structured Merge Trees (LSM-Trees). However, LSM-Trees do not fully match the properties of blockchains and enterprise workloads. In this paper, we claim that Partitioned B-Trees (PBT) fit the properties of this DLT: uniformly distributed hash keys, immutability, consensus, invalid blocks, unspent and off-chain transactions, reorganization and data state / version ordering in a distributed log-structure. PBT can locate records of newly inserted key-value pairs, as well as data of unspent transactions, in separate partitions in main memory. Once several blocks acquire consensus, PBTs evict a whole partition, which becomes immutable, to secondary storage. This behavior minimizes write amplification and enables a beneficial sequential write pattern on modern hardware. Furthermore, DLT implicate some type of log-based versioning. PBTs can serve as MV-Store for data storage of logical blocks and indexing in multi-version concurrency control (MVCC) transaction processing.

[1]  Raghu Ramakrishnan,et al.  bLSM: a general purpose log structured merge tree , 2012, SIGMOD Conference.

[2]  John Domingue,et al.  Linked Data Indexing of Distributed Ledgers , 2017, WWW.

[3]  Vincenzo Morabito,et al.  Blockchain and Enterprise Systems , 2017 .

[4]  Goetz Graefe,et al.  Sorting And Indexing With Partitioned B-Trees , 2003, CIDR.

[5]  Seif Haridi,et al.  Apache Flink™: Stream and Batch Processing in a Single Engine , 2015, IEEE Data Eng. Bull..

[6]  Patrick E. O'Neil,et al.  The log-structured merge-tree (LSM-tree) , 1996, Acta Informatica.

[7]  Christian Cachin,et al.  Architecture of the Hyperledger Blockchain Fabric , 2016 .

[8]  Elyes Ben Hamida,et al.  Blockchain for Enterprise: Overview, Opportunities and Challenges , 2017, ICWMC 2017.

[9]  Zekeriya Erkin,et al.  A Scale-Out Blockchain for Value Transfer with Spontaneous Sharding , 2018, 2018 Crypto Valley Conference on Blockchain Technology (CVCBT).

[10]  Martin Grund,et al.  Efficient Transaction Processing for Hyrise in Mixed Workload Environments , 2014, IMDM@VLDB.

[11]  Speed-Security Tradeo s in Blockchain Protocols , 2015 .

[12]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[13]  Mattias Scherer,et al.  Performance and Scalability of Blockchain Networks and Smart Contracts , 2017 .

[14]  Aggelos Kiayias,et al.  Speed-Security Tradeoffs in Blockchain Protocols , 2015, IACR Cryptol. ePrint Arch..

[15]  Ilia Petrov,et al.  Write-optimized indexing with partitioned b-trees , 2017, iiWAS.

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

[17]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[18]  Ilia Petrov,et al.  Multi-version indexing and modern hardware technologies: a survey of present indexing approaches , 2017, iiWAS.

[19]  Stefan Tai,et al.  On or Off the Blockchain? Insights on Off-Chaining Computation and Data , 2017, ESOCC.

[20]  Harumi A. Kuno,et al.  Modern B-tree techniques , 2011, 2011 IEEE 27th International Conference on Data Engineering.