Blockchains vs. Distributed Databases: Dichotomy and Fusion

Blockchain has come a long way - a system that was initially proposed specifically for cryptocurrencies is now being adapted and adopted as a general-purpose transactional system. As blockchain evolves into another data management system, the natural question is how it compares against distributed database systems. Existing works on this comparison focus on high-level properties, such as security and throughput. They stop short of showing how the underlying design choices contribute to the overall differences. Our work fills this important gap. We perform a twin study of blockchains and distributed database systems as two types of transactional systems. We propose a taxonomy that illustrates the dichotomy across four dimensions, namely replication, concurrency, storage, and sharding. Within each dimension, we discuss how the design choices are driven by two goals: security for blockchains, and performance for distributed databases. We conduct an extensive and in-depth performance analysis of two blockchains, namely Quorum and Hyperledger Fabric, and three distributed databases, namely CockroachDB, TiDB, and etcd. Our analysis exposes the impact of different design choices on the overall performance. Concisely, our work provides a principled framework for analyzing the emerging trend of blockchain-database fusion.

[1]  Ethan Buchman,et al.  Tendermint: Byzantine Fault Tolerance in the Age of Blockchains , 2016 .

[2]  Jens Dittrich,et al.  How to Databasify a Blockchain: the Case of Hyperledger Fabric , 2018, ArXiv.

[3]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[4]  Carlo Curino,et al.  OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases , 2013, Proc. VLDB Endow..

[5]  Jonathan Katz,et al.  IntegriDB: Verifiable SQL for Outsourced Databases , 2015, CCS.

[6]  Gang Chen,et al.  LogBase: A Scalable Log-structured Database System in the Cloud , 2012, Proc. VLDB Endow..

[7]  Balaji Viswanathan,et al.  Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[8]  Feifei Li,et al.  LedgerDB , 2020, Proc. VLDB Endow..

[9]  Fred B. Schneider,et al.  The primary-backup approach , 1993 .

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

[11]  J. Chris Anderson,et al.  CouchDB - The Definitive Guide: Time to Relax , 2010 .

[12]  Beng Chin Ooi,et al.  Parallelizing Skip Lists for In-Memory Multi-Core Database Systems , 2017, 2017 IEEE 33rd International Conference on Data Engineering (ICDE).

[13]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[14]  Karen A. Scarfone,et al.  Blockchain Technology Overview , 2018, ArXiv.

[15]  Prateek Saxena,et al.  A Secure Sharding Protocol For Open Blockchains , 2016, CCS.

[16]  Christopher Frost,et al.  Spanner: Google's Globally-Distributed Database , 2012, OSDI.

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

[18]  Beng Chin Ooi,et al.  Analysis of Indexing Structures for Immutable Data , 2020, SIGMOD Conference.

[19]  Philipp Jovanovic,et al.  OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[20]  Hubert Ritzdorf,et al.  On the Security and Performance of Proof of Work Blockchains , 2016, IACR Cryptol. ePrint Arch..

[21]  Michael Stonebraker,et al.  H-store: a high-performance, distributed main memory transaction processing system , 2008, Proc. VLDB Endow..

[22]  Arati Baliga,et al.  Performance Evaluation of the Quorum Blockchain Platform , 2018, ArXiv.

[23]  Timothy G. Armstrong,et al.  LinkBench: a database benchmark based on the Facebook social graph , 2013, SIGMOD '13.

[24]  Maurice Herlihy,et al.  Adding Concurrency to Smart Contracts , 2017, PODC.

[25]  S. Nakamoto,et al.  Bitcoin: A Peer-to-Peer Electronic Cash System , 2008 .

[26]  Nancy A. Lynch,et al.  Perspectives on the CAP Theorem , 2012, Computer.

[27]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[28]  Amazon DynamoDB , 2019, Machine Learning in the AWS Cloud.

[29]  Philip A. Bernstein,et al.  Hyder - A Transactional Record Manager for Shared Flash , 2011, CIDR.

[30]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[31]  Michael Stonebraker,et al.  The design of POSTGRES , 1986, SIGMOD '86.

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

[33]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.

[34]  Aleksa Vukotic,et al.  Neo4j in Action , 2014 .

[35]  Jun Han,et al.  Blockchain Versus Database: A Critical Analysis , 2018, 2018 17th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/ 12th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE).

[36]  Jonathan Lee,et al.  Veritas: Shared Verifiable Databases and Tables in the Cloud , 2019, CIDR.

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

[38]  Carsten Binnig,et al.  BlockchainDB - A Shared Database on Blockchains , 2019, Proc. VLDB Endow..

[39]  Leslie Lamport,et al.  Generalized Consensus and Paxos , 2005 .

[40]  Ittai Abraham,et al.  Replex: A Scalable, Highly Available Multi-Index Data Store , 2016, USENIX Annual Technical Conference.

[41]  Jens Dittrich,et al.  ChainifyDB: How to Blockchainify any Data Management System , 2019, ArXiv.

[42]  Dahlia Malkhi,et al.  CORFU: A Shared Log Design for Flash Clusters , 2012, NSDI.

[43]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[44]  Senthil Nathan,et al.  Blockchain Meets Database: Design and Implementation of a Blockchain Relational Database , 2019, Proc. VLDB Endow..

[45]  Yanqing Peng,et al.  FalconDB: Blockchain-based Collaborative Database , 2020, SIGMOD Conference.

[46]  Jens Dittrich,et al.  Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric , 2019, SIGMOD Conference.

[47]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[48]  Josiah L. Carlson,et al.  Redis in Action , 2013 .

[49]  Meihui Zhang,et al.  Spitz , 2020, Proc. VLDB Endow..

[50]  Arthur Gervais,et al.  Do you Need a Blockchain? , 2018, 2018 Crypto Valley Conference on Blockchain Technology (CVCBT).

[51]  Beng Chin Ooi,et al.  A Transactional Perspective on Execute-order-validate Blockchains , 2020, SIGMOD Conference.

[52]  Alysson Neves Bessani,et al.  State Machine Replication for the Masses with BFT-SMART , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[53]  Vitalik Buterin,et al.  Casper the Friendly Finality Gadget , 2017, ArXiv.

[54]  Gang Chen,et al.  Untangling Blockchain: A Data Processing View of Blockchain Systems , 2017, IEEE Transactions on Knowledge and Data Engineering.

[55]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[56]  Irfan Sharif,et al.  CockroachDB: The Resilient Geo-Distributed SQL Database , 2020, SIGMOD Conference.

[57]  Ilya Sergey,et al.  A Concurrent Perspective on Smart Contracts , 2017, Financial Cryptography Workshops.

[58]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[59]  Pradeep Dubey,et al.  FAST: fast architecture sensitive tree search on modern CPUs and GPUs , 2010, SIGMOD Conference.

[60]  Jorge Bernardino,et al.  NoSQL databases: MongoDB vs cassandra , 2013, C3S2E '13.

[61]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

[62]  Ee-Chien Chang,et al.  Towards Scaling Blockchain Systems via Sharding , 2018, SIGMOD Conference.

[63]  Ali Ghodsi,et al.  Highly Available Transactions: Virtues and Limitations , 2013, Proc. VLDB Endow..

[64]  Tao Zou,et al.  Tango: distributed data structures over a shared log , 2013, SOSP.

[65]  Vincenzo Morabito,et al.  Business Innovation Through Blockchain , 2017 .

[66]  Beng Chin Ooi,et al.  In-Memory Big Data Management and Processing: A Survey , 2015, IEEE Transactions on Knowledge and Data Engineering.

[67]  Liuba Shrira,et al.  Cross-chain deals and adversarial commerce , 2019, The VLDB Journal.