Solutions for concurrency conflict problem on Hyperledger Fabric

  • PDF / 1,186,076 Bytes
  • 20 Pages / 439.642 x 666.49 pts Page_size
  • 106 Downloads / 274 Views

DOWNLOAD

REPORT


Solutions for concurrency conflict problem on Hyperledger Fabric Lu Xu1 · Wei Chen1 · Zhixu Li1 · Jiajie Xu1 · An Liu1 · Lei Zhao1 Received: 31 March 2020 / Revised: 26 September 2020 / Accepted: 29 September 2020 / © Springer Science+Business Media, LLC, part of Springer Nature 2020

Abstract A Hyperledger Fabric is a popular permissioned blockchain platform and has great commercial application prospects. However, the limited transaction throughput of Hyperledger Fabric hampers its performance, especially when transactions with concurrency conflicts are initiated. In this paper, we focus on transactions with concurrency conflicts and propose solutions to optimize the performance of Hyperledger Fabric. Firstly, we propose a novel method LMLS to improve the Write-Write Conflict. This method introduces a lock mechanism in the transaction flow to enable some conflicting transactions to be marked at the beginning of the transaction process. And indexes are added to conflicting transactions to optimize the storage of the ledger. Secondly, we propose a cache-based method to improve the Read-Write Conflict. The cache is used to speed up reading data, and a cache log is added to Hyperledger Fabric to ensure the data consistency. Extensive experiments demonstrate that the proposed novel methods can significantly increase transaction throughput in the case of concurrency conflicts, and maintain high efficiency in transactions without concurrency conflicts. Keywords Blockchain · Hyperledger fabric · Concurrency · Locking mechanism · Caching mechanism

1 Introduction Blockchain technologies have become popular these years and can be applied to different domains. Unlike a common database system, a Blockchain is a distributed, shared ledger This article belongs to the Topical Collection: Special Issue on Web Information Systems Engineering 2019 Guest Editors: Reynold Cheng, Nikos Mamoulis, and Xin Huang  Wei Chen

[email protected]  Lei Zhao

[email protected]

Extended author information available on the last page of the article.

World Wide Web

system where the nodes do not fully trust each other. Each node holds the copy of the ledger which is represented as a chain of blocks, with each block being a sequence of transactions. With the characteristics of decentralization, distrust and tamper-proof, blockchain is adopted in a wide variety of industries. A number of blockchain platforms have been developed, including Bitcoin [13], Ethereum [7], Hyperledger Fabric [12] etc. Among them, Hyperledger Fabric is a representative blockchain platform and has attracted much attention due to the wide application range of it. Hyperledger Fabric is a permissioned blockchain platform which is highly suitable for developing enterprise-class applications and has a modular design. In Hyperledger Fabric, the identity of each participant is known and authenticated cryptographically. Different from many blockchains whose nodes are peer-to-peer, nodes in Hyperledger Fabric are of different types. The nodes in Hyperledger Fabric contain Clie