IEEE Access (Jan 2024)
BDLS as a Blockchain Finality Gadget: Improving Byzantine Fault Tolerance in Hyperledger Fabric
Abstract
Decentralized systems are integral to various sectors, including public and private organizations. At the core of these systems is the dissemination protocol. Hyperledger Fabric, a prominent production-ready distribution network system, allows for a pluggable consensus protocol, though it has historically lacked detailed technical guidance for implementing such modules. Initially, Fabric employed Kafka and later switched to Raft, both of which are Crash Fault Tolerant (CFT) protocols and do not support Byzantine fault tolerance (BFT). Hyperledger Fabric recently introduced a new BFT solution called SmartBFT in its 3.0 release. However, SmartBFT, based on the Practical Byzantine Fault Tolerance (PBFT) protocol family, suffers from high message complexity, explicitly referring to the total number of messages exchanged during protocol execution, which scales poorly as the network grows. This complexity significantly affects network efficiency, particularly in large-scale implementations across industries such as healthcare, finance, and education. Communication overhead increases substantially, which encompasses the number of messages and the time and resources required for message transmission and processing. Our research shows that the message complexity of SmartBFT grows quadratically with the number of orderer nodes, leading to significant communication overhead. Conversely, our proposed implementation of our Byzantine Fault Tolerant (BFT) protocol is based on the original Dwork, Lynch, and Stockmeyer (DLS) protocol. Our adaptation is the Blockchain version of DLS (BDLS), which maintains linear message complexity, making it more scalable and efficient for large networks. This stark contrast highlights BDLS’s superior scalability and efficiency. BDLS maintains a consistent performance advantage. BDLS throughput analysis of Fabric 3.0 shows a significant performance drop for SmartBFT, which achieves only 40 % and 20 % of Raft’s TPS in LAN and WAN environments, respectively. This paper investigates a technical guide for integrating a consensus protocol into Hyperledger Fabric, focusing on integrating the Byzantine Fault Tolerant (BFT) protocol BDLS. Furthermore, the technical efforts and guidelines presented here can serve as a reference for future research aimed at integrating new consensus protocols into Hyperledger Fabric, enhancing the BFT research, and adapting BDLS in different systems.
Keywords