HotStuff: BFT Consensus with Linearity and Responsiveness

HotStuff: BFT Consensus with Linearity and Responsiveness

July 29–August 2, 2019 | Maofan Yin, Dahlia Malkhi, Michael K. Reiter, Guy Golan Gueta, Ittai Abraham
HotStuff is a leader-based Byzantine fault-tolerant (BFT) consensus protocol designed for the partially synchronous model. It enables a correct leader to drive the protocol to consensus at the pace of actual network delay, ensuring responsiveness, and with communication complexity linear in the number of replicas. HotStuff is the first BFT replication protocol to achieve both linearity and responsiveness. Its simplicity allows it to be pipelined and simplified into a practical protocol for large-scale replication services. HotStuff operates in three phases: PREPARE, PRE-COMMIT, and COMMIT. In the PREPARE phase, a leader collects NEW-VIEW messages from replicas to select a safe branch. In the PRE-COMMIT phase, the leader collects votes for the current proposal. In the COMMIT phase, the leader collects votes for the precommit proposal. The leader then broadcasts a DECIDE message to commit the proposal. The protocol ensures safety by verifying the safety of proposals and liveness by ensuring progress after the Global Stabilization Time (GST). HotStuff achieves linear view change by requiring only O(n) authenticators after GST. It also ensures optimistic responsiveness by allowing a correct leader to proceed with consensus decisions once GST is reached. The protocol's simplicity and efficiency make it suitable for large-scale replication systems. HotStuff's design allows for frequent leader succession, which is beneficial in blockchain contexts for ensuring chain quality. The protocol's communication complexity is O(n) per phase, and the overall complexity per view is O(n). Chained HotStuff further improves efficiency by pipelining phases and reducing message types. The protocol is implemented with a Pacemaker module that ensures progress after GST and handles leader election and proposal selection. HotStuff is a practical and efficient BFT consensus protocol for large-scale systems.HotStuff is a leader-based Byzantine fault-tolerant (BFT) consensus protocol designed for the partially synchronous model. It enables a correct leader to drive the protocol to consensus at the pace of actual network delay, ensuring responsiveness, and with communication complexity linear in the number of replicas. HotStuff is the first BFT replication protocol to achieve both linearity and responsiveness. Its simplicity allows it to be pipelined and simplified into a practical protocol for large-scale replication services. HotStuff operates in three phases: PREPARE, PRE-COMMIT, and COMMIT. In the PREPARE phase, a leader collects NEW-VIEW messages from replicas to select a safe branch. In the PRE-COMMIT phase, the leader collects votes for the current proposal. In the COMMIT phase, the leader collects votes for the precommit proposal. The leader then broadcasts a DECIDE message to commit the proposal. The protocol ensures safety by verifying the safety of proposals and liveness by ensuring progress after the Global Stabilization Time (GST). HotStuff achieves linear view change by requiring only O(n) authenticators after GST. It also ensures optimistic responsiveness by allowing a correct leader to proceed with consensus decisions once GST is reached. The protocol's simplicity and efficiency make it suitable for large-scale replication systems. HotStuff's design allows for frequent leader succession, which is beneficial in blockchain contexts for ensuring chain quality. The protocol's communication complexity is O(n) per phase, and the overall complexity per view is O(n). Chained HotStuff further improves efficiency by pipelining phases and reducing message types. The protocol is implemented with a Pacemaker module that ensures progress after GST and handles leader election and proposal selection. HotStuff is a practical and efficient BFT consensus protocol for large-scale systems.
Reach us at info@study.space
[slides and audio] HotStuff%3A BFT Consensus with Linearity and Responsiveness