Performance and scalability are a major concern for blockchain systems to become viable for mainstream applications. While many permissionless systems are limited by slow the consensus algorithms, Hyperledger Fabric has unique throughput optimization potential due to its permissioned nature. It has been shown to handle tens of thousands of transactions per second. However, these numbers show only the nominal throughput for uncontested transaction workloads. If incoming transactions compete for a small set of hot keys in the world state, the effective throughput drops drastically. We propose a novel two-pronged transaction execution approach that minimizes invalid transactions in the Fabric blockchain while maximizing concurrent execution.
Blockchain technologies are expected to make a significant impact on a variety of industries. However, one issue holding them back is their limited transaction throughput, especially compared to established solutions such as distributed database systems. In this paper, we re-architect a modern permissioned blockchain system, Hyperledger Fabric, to increase transaction throughput from 3,000 to 20,000 transactions per second. We focus on performance bottlenecks beyond the consensus mechanism, and we propose architectural changes that reduce computation and I O overhead during transaction ordering and validation to greatly improve throughput. Notably, our optimizations are fully plug-and-play and do not require any interface changes to Hyperledger Fabric.