Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
126 tokens/sec
GPT-4o
47 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform (1805.11390v1)

Published 29 May 2018 in cs.DC

Abstract: The rise in popularity of permissioned blockchain platforms in recent time is significant. Hyperledger Fabric is one such permissioned blockchain platform and one of the Hyperledger projects hosted by the Linux Foundation. The Fabric comprises various components such as smart-contracts, endorsers, committers, validators, and orderers. As the performance of blockchain platform is a major concern for enterprise applications, in this work, we perform a comprehensive empirical study to characterize the performance of Hyperledger Fabric and identify potential performance bottlenecks to gain a better understanding of the system. We follow a two-phased approach. In the first phase, our goal is to understand the impact of various configuration parameters such as block size, endorsement policy, channels, resource allocation, state database choice on the transaction throughput & latency to provide various guidelines on configuring these parameters. In addition, we also aim to identify performance bottlenecks and hotspots. We observed that (1) endorsement policy verification, (2) sequential policy validation of transactions in a block, and (3) state validation and commit (with CouchDB) were the three major bottlenecks. In the second phase, we focus on optimizing Hyperledger Fabric v1.0 based on our observations. We introduced and studied various simple optimizations such as aggressive caching for endorsement policy verification in the cryptography component (3x improvement in the performance) and parallelizing endorsement policy verification (7x improvement). Further, we enhanced and measured the effect of an existing bulk read/write optimization for CouchDB during state validation & commit phase (2.5x improvement). By combining all three optimizations1, we improved the overall throughput by 16x (i.e., from 140 tps to 2250 tps).

Citations (437)

Summary

  • The paper provides a rigorous performance characterization and optimization study of the Hyperledger Fabric v1.0 permissioned blockchain platform.
  • Key bottlenecks identified include endorsement policy verification, sequential transaction validation, and CouchDB database operations.
  • Optimizations like aggressive caching and parallelization significantly improve throughput, achieving a 16x boost from 140 to 2250 transactions per second.

An Evaluation and Optimization of Hyperledger Fabric's Performance

This paper offers a rigorous and sophisticated examination of the Hyperledger Fabric blockchain platform. The authors embark on an empirical paper to benchmark the performance of Hyperledger Fabric, a prominent permissioned blockchain system, while simultaneously identifying and optimizing performance bottlenecks. Their approach is comprehensive, incorporating a wide range of configuration parameters and emphasizing both the impact and interplay of these factors on performance.

The authors define a dual-phase paper. Initially, they conduct a detailed performance characterization under various configurations, examining parameters including block size, endorsement policies, channel configurations, resource allocations, and the choice of state databases. The paper differs notably from previous work by focusing on Fabric v1.0, which introduced a completely revamped architecture. The authors pinpoint critical bottlenecks: endorsement policy verification, sequential validation of transactions, and database operations with CouchDB.

In the second phase, the authors focus on optimizing these bottlenecks. They introduce specific enhancements such as aggressive caching for the endorsement policy verification, leading to a 3x improvement, and parallelizing endorsement policy verification, which resulted in a 7x improvement. Additionally, they leverage existing optimizations for bulk read/write operations with CouchDB during the state validation and commit phase, realizing a 2.5x improvement. The cumulative effect of these optimizations results in a significant increase in transaction throughput, rising from 140 transactions per second (tps) to 2250 tps, marking a 16x performance boost.

The paper makes bold claims regarding its optimization results, which are experimentally validated under a diverse set of scenarios. Particularly, the combination of all the optimizations has been certified as yielding substantial throughput improvements, especially evident in a multi-channel environment.

The implications of this research are manifold, extending practical guidelines for configuring Hyperledger Fabric optimally and theoretical insights into improving blockchain systems' performance. The authors contribute six valuable guidelines for practitioners to enhance Fabric's performance by considering optimal block sizes, policy structure, and resource allocation, among other factors.

The future trajectory suggested includes expanding the scope of paper to networks with heterogeneous node capabilities and varying workloads, including distributed workloads and large-scale deployments. Enhancements to consensus algorithms and exploring WAN environments are proposed as critical areas for further work.

In conclusion, this paper underscores the importance of a methodical approach to performance benchmarking and optimization in blockchain systems, yielding insights and techniques applicable broadly across permissioned blockchain implementations. The successful adoption of these optimizations into Fabric v1.1 attests to their practical relevance and efficacy. The authors' methodical and quantitative approach provides a valuable framework for researchers and practitioners aiming to push the boundaries of blockchain performance.