Improving Raft Consensus Algorithm with Relay and Lease Mechanism
摘要
Consensus algorithms are critical in distributed systems, especially with the wide adoption of blockchain technology in various scenarios. For the sake of efficiency, consortium blockchains such as Hyperledger Fabric usually adopt crash fault tolerant (CFT) algorithms, i.e., Raft, to reach consensus amongst peers as entities are often authenticated and mutually trustful in a permissioned setting. Raft algorithm replicates the state among peers and therefore plays a fundamental role in ensuring strict consistency. However, with the ever-growing system scale, the leader becomes a bottleneck in Raft, considerably impacting its efficiency and scalability. In this study, we propose a consensus algorithm \(\textsf{Praft}\) where a relay node-based method and a lease mechanism are designed to mitigate the aforementioned issues. The details of the consensus algorithm are elaborated with its security sketch. Extensive experiments are also conducted to demonstrate its efficiency. Compared with the related solutions, e.g., etcd-raft, in the same cluster scale, \(\textsf{Praft}\) can decrease message load by 20%–90% and improve consensus throughput by 35%–400%.