目录
一、HotStuff 协议设计初衷与特点
核心优势包括:
二、协议流程解析
三、HotStuff 的实现核心
功能模块包含:
四、HotStuff 的变种演进
1. Chained HotStuff(2‑chain/3‑chain)
2. HotStuff‑1 / HotStuff‑2
3. Jolteon / Ditto
五、代码片段剖析(Rust 示意)
六、实用建议与适用场景
七、总结
随着区块链技术向高性能、低延迟方向发展,共识机制也在不断演进。HotStuff 作为一种兼具理论与工程价值的 BFT(拜占庭容错)协议,被广泛应用于 Diem、LibraBFT、Flow 等系统中。本文从 HotStuff 设计原理出发,深入剖析其协议流程、性能优势及发展变种,帮助读者理解如何在实际系统中落地实现。
一、HotStuff 协议设计初衷与特点
HotStuff 于 2018 年提出,目标是在部分同步网络模型下实现一套响应性良好、通信复杂度线性(O(n²) 总量)、支持快速 leader 更换的 BFT 协议 。
核心优势包括:
-
响应性(Responsiveness):leader 不需等待固定时间,只要网络正常,即可快速提交;
-
线性通信复杂度:通过 threshold‑QC 聚合签名,减少成员间通信;view‑change 也保持线性;
-
简洁阶段结构:Prepare → Pre‑Commit → Commit → Decide,一致采用统一交互模型。
相比传统 PBFT,HotStuff 提供更好的扩展性和实用部署价值。
二、协议流程解析
HotStuff 的执行流程如下(伪代码说明):
forever do
leader propose block B with QC for block A
replicas → send PREPARE vote → leader 聚合 PREPARE-QC
leader 发布 PRE-COMMIT → replicas 验证并回签
leader 聚合 precommit-QC → 发布 COMMIT → replicas 回签
leader 聚合 commit-QC → 发布 DECIDE → 所有节点将 B 确认
-
新视图(New-View) 集成在上述流程中,无需额外协议;
-
Next-View 超时触发机制保证 liveness,当 leader 超时,转入下一视图。
通过这套流程,协议获得了“领导者驱动、管道化、多阶段确认”的特征。


