FabricCRDT: A Conflict-Free Replicated Datatypes Approach to Permissioned Blockchains

With the increased adaption of blockchain technologies, permissioned blockchains such as Hyperledger Fabric provide a robust ecosystem for developing production-grade decentralized applications. However, the additional latency between executing and committing transactions, due to Fabric's three-phase transaction lifecycle of Execute-Order-Validate (EOV), is a potential scalability bottleneck. The added latency increases the probability of concurrent updates on the same keys by different transactions, leading to transaction failures caused by Fabric's concurrency control mechanism. The transaction failures increase the application development complexity and decrease Fabric's throughput. Conflict-free Replicated Datatypes (CRDTs) provide a solution for merging and resolving conflicts in the presence of concurrent updates. In this work, we introduce FabricCRDT, an approach for integrating CRDTs to Fabric. Our evaluations show that in general, FabricCRDT offers higher throughput of successful transactions than Fabric, while successfully committing and merging all conflicting transactions without any failures.

[1]  Marko Vukolic,et al.  StreamChain: Do Blockchains Need Blocks? , 2018, SERIAL@Middleware.

[2]  Marc Shapiro,et al.  Conflict-Free Replicated Data Types , 2011, SSS.

[3]  Alysson Bessani,et al.  A Byzantine Fault-Tolerant Ordering Service for the Hyperledger Fabric Blockchain Platform , 2017, 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[4]  Philip A. Bernstein,et al.  Queued Transaction Processing , 2009 .

[5]  Feng Tian,et al.  A supply chain traceability system for food safety based on HACCP, blockchain & Internet of things , 2017, 2017 International Conference on Service Systems and Service Management.

[6]  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).

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

[8]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[9]  Russell Brown,et al.  Riak DT map: a composable, convergent replicated dictionary , 2014, PaPEC '14.

[10]  Stephen Lee,et al.  FastFabric: Scaling Hyperledger Fabric to 20,000 Transactions per Second , 2019, 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC).

[11]  Claudia-Lavinia Ignat,et al.  Evaluating CRDTs for real-time document editing , 2011, DocEng '11.

[12]  Alastair R. Beresford,et al.  A Conflict-Free Replicated JSON Datatype , 2016, IEEE Transactions on Parallel and Distributed Systems.

[13]  Jens Dittrich,et al.  Accelerating Analytical Processing in MVCC using Fine-Granular High-Frequency Virtual Snapshotting , 2017, SIGMOD Conference.

[14]  Stephen B. Wicker,et al.  Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-Things , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[15]  Arati Baliga,et al.  Performance Characterization of Hyperledger Fabric , 2018, 2018 Crypto Valley Conference on Blockchain Technology (CVCBT).

[16]  Lukasz Golab,et al.  XOX Fabric: A hybrid approach to transaction execution , 2019, ArXiv.

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

[18]  Philip A. Bernstein,et al.  Principles of Transaction Processing , 1996 .

[19]  Sunghyun Cho,et al.  A Survey of Scalability Solutions on Blockchain , 2018, 2018 International Conference on Information and Communication Technology Convergence (ICTC).

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

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

[22]  Marc Shapiro,et al.  Conflict-Free Replicated Data Types , 2011, SSS.

[23]  Johannes Gehrke,et al.  Improving Optimistic Concurrency Control Through Transaction Batching and Operation Reordering , 2018, Proc. VLDB Endow..

[24]  Pascal Urso,et al.  Merging OT and CRDT algorithms , 2014, PaPEC '14.

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

[26]  Burkhard Stiller,et al.  Blockchains everywhere - a use-case of blockchains in the pharma supply-chain , 2017, 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).

[27]  Ghassan O. Karame,et al.  Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin , 2012, IACR Cryptol. ePrint Arch..

[28]  Achour Mostéfaoui,et al.  LSEQ: an adaptive structure for sequences in distributed collaborative editing , 2013, ACM Symposium on Document Engineering.

[29]  Ali Shoker,et al.  Integration Challenges of Pure Operation-based CRDTs in Redis , 2016, PMLDC@ECOOP.