With the immutability of blockchain and its continuous development, a large number of blockchain systems and applications have emerged in the market. Hyperledger Fabric, as one of the permissioned blockchains, is wildly-used in enterprises. Its Execute-Order-Validate consensus mechanism supports parallel processing of transactions through multiple version concurrency control, which could lead to transaction fails in the verification phase due to version conflicts. Such a large number of invalid transactions greatly influence the overall system performance. To address these challenges, we propose a new hyperledger fabric architecture, Fabric Pro, to improve the system throughput by optimizing the transaction lifecycle. Firstly, a scheme for early transaction abort in the sorting phase is designed. The dependency relationships between transactions are abstracted to a directed acyclic graph. By monitoring the graph in real-time, Fabric Pro identifies and aborts invalid transactions as early as possible. Besides, a transaction reordering mechanism with graph compression is proposed. Multi-threaded topological sorting is performed on the graph to further optimize the transaction order and reduce the parallel transaction conflicts within blocks. Finally, comprehensive experiments are conducted using Hyperledger Caliper on the SmallBank benchmark to evaluate the performance of Fabric Pro. Compared with native Fabric and Fabric #, Fabric Pro increased the throughput by more than 50% under different block sizes, read/write skewness, and organization size.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Fabric Pro:Transaction Lifecycle Optimization for Hyperledger Fabric

  • Yuqi Zhu,
  • Deyong Liu,
  • Youhuizi Li,
  • Yu Li,
  • Xin Zhang

摘要

With the immutability of blockchain and its continuous development, a large number of blockchain systems and applications have emerged in the market. Hyperledger Fabric, as one of the permissioned blockchains, is wildly-used in enterprises. Its Execute-Order-Validate consensus mechanism supports parallel processing of transactions through multiple version concurrency control, which could lead to transaction fails in the verification phase due to version conflicts. Such a large number of invalid transactions greatly influence the overall system performance. To address these challenges, we propose a new hyperledger fabric architecture, Fabric Pro, to improve the system throughput by optimizing the transaction lifecycle. Firstly, a scheme for early transaction abort in the sorting phase is designed. The dependency relationships between transactions are abstracted to a directed acyclic graph. By monitoring the graph in real-time, Fabric Pro identifies and aborts invalid transactions as early as possible. Besides, a transaction reordering mechanism with graph compression is proposed. Multi-threaded topological sorting is performed on the graph to further optimize the transaction order and reduce the parallel transaction conflicts within blocks. Finally, comprehensive experiments are conducted using Hyperledger Caliper on the SmallBank benchmark to evaluate the performance of Fabric Pro. Compared with native Fabric and Fabric #, Fabric Pro increased the throughput by more than 50% under different block sizes, read/write skewness, and organization size.