Early Detection for Multiversion Concurrency Control Conflicts in Hyperledger Fabric

Hyperledger Fabric is a popular permissioned blockchain system that features a highly modular and extensible system for deploying permissioned blockchains which are expected to have a major effect on a wide range of sectors. Unlike traditional blockchain systems such as Bitcoin and Ethereum, Hyperledger Fabric uses the EOV model for transaction processing: the submitted transactions are executed by the endorsing peer, ordered and batched by the ordering services, and validated by the validating peers. Due to this EOV workflow, a well-documented issue that arises is the multi-version concurrency control conflict. This happens when two transactions try to writes and read the same key in the ledger at the same time. Existing solutions to address this problem includes eliminating blocks in favor of streaming transactions, repairing conflicts during the ordering phase, and automatically merging the conflicting transactions using CRDT (Conflict Free Replicated Data) techniques. In this paper, we propose a novel solution called Early Detection for MVCC Conflicts. Our solution detects the conflicting transactions at an early stage of the transaction execution instead of processing them until the validation phase to be aborted. The advantage of our solution is that it detects conflict as soon as possible to minimize the overhead of conflicting transaction on the network resulting in the reduction of the end-to-end transaction latency and the increase of the system's effective throughput. We have successfully implemented our solution in Hyperledger Fabric. We propose three different implementations which realize early detection. Our results show that our solutions all perform better than the baseline Fabric, with our best solution SyncMap which improves the goodput by up to 23% and reduces the latency by up to 80%.

[1]  Hans-Arno Jacobsen,et al.  Why Do My Blockchain Transactions Fail?: A Study of Hyperledger Fabric , 2021, SIGMOD Conference.

[2]  Canhui Wang,et al.  Performance Characterization and Bottleneck Analysis of Hyperledger Fabric , 2020, 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS).

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

[4]  Hong-Ning Dai,et al.  An Overview on Smart Contracts: Challenges, Advances and Platforms , 2019, Future Gener. Comput. Syst..

[5]  H. Jacobsen,et al.  FabricCRDT: A Conflict-Free Replicated Datatypes Approach to Permissioned Blockchains , 2019, Middleware.

[6]  Heonchang Yu,et al.  Performance Improvement of Ordering and Endorsement Phase in Hyperledger Fabric , 2019, 2019 Sixth International Conference on Internet of Things: Systems, Management and Security (IOTSMS).

[7]  Chengchen Hu,et al.  Optimizing Validation Phase of Hyperledger Fabric , 2019, 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[8]  Yacov Manevich,et al.  Lockless Transaction Isolation in Hyperledger Fabric , 2019, 2019 IEEE International Conference on Blockchain (Blockchain).

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

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

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

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

[13]  Jian Tang,et al.  CoinExpress: A Fast Payment Routing Mechanism in Blockchain-Based Payment Channel Networks , 2018, 2018 27th International Conference on Computer Communication and Networks (ICCCN).

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

[15]  Yacov Manevich,et al.  Service Discovery for Hyperledger Fabric , 2018, DEBS.

[16]  Angelo De Caro,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[17]  Daniel J. Abadi,et al.  Rethinking serializable multiversion concurrency control , 2014, Proc. VLDB Endow..

[18]  Jignesh M. Patel,et al.  High-Performance Concurrency Control Mechanisms for Main-Memory Databases , 2011, Proc. VLDB Endow..

[19]  Clemens Wickboldt,et al.  Benchmarking a blockchain-based certification storage system , 2019 .

[20]  Burak Ok Friedrich-Alexander-Universität Lock-free Data Structures , 2017 .

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

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