[论文解读] The Istanbul BFT Consensus Algorithm
IBFT 是一种确定性、基于领导者的 Byzantine fault-tolerant 共识算法,用于 Quorum 中的状态机复制,在同步期内在三个消息时延内完成终止,通信复杂度为 O(n^2),并容忍 n ≥ 3f+1 的 f 个拜占庭错误。
This paper presents IBFT, a simple and elegant Byzantine fault-tolerant consensus algorithm that is used to implement state machine replication in the \emph{Quorum} blockchain. IBFT assumes a partially synchronous communication model, where safety does not depend on any timing assumptions and only liveness depends on periods of synchrony. The algorithm is deterministic, leader-based, and optimally resilient - tolerating $f$ faulty processes out of $n$, where $n \geq 3f+1$. During periods of good communication, IBFT achieves termination in three message delays and has $O(n^2)$ total communication complexity.
研究动机与目标
- 为企业、许可制区块链提供鲁棒、安全和可持续的共识动机。
- 提供对 IBFT 的精确、正确的正式描述及正确性证明。
- 在延迟和通信方面将 IBFT 与相关的部分同步 BFT 协议进行比较。
- 在 GST 与网络时延下建立安全性(一致性与有效性)和活性(终止性)。
提出的方法
- 给出一个确定性、基于领导者的 IBFT 协议,针对轮次中的共识实例 λ,使用 PRE-PREPARE、PREPARE、COMMIT 和 ROUND-CHANGE 消息。
- 使用基于法定人数的证明机制,通过 JustifyPrePrepare 和 JustifyRoundChange 谓词在各轮之间确保安全。
- 定义带有 GST 的部分同步模型及对时延的界限 Δ,且在该模型下证明安全性(一致性)和终止性(活性)。
- 提供一致性、有效性和终止性的正确性证明,包括引理和定理及归纳论证。
- 通过一个汇总表比较 IBFT 与同业在通信复杂度和延迟方面的性能。
实验结果
研究问题
- RQ1在存在拜占庭错误和网络异步性的情况下,IBFT 如何确保安全性(一致性和有效性)?
- RQ2在通信不完善的时期,哪些机制保障 IBFT 的活性(终止)?
- RQ3IBFT 如何满足最优容错界限 n ≥ 3f+1,以及在 GST 下的时延和通信成本?
- RQ4在复杂度和时延方面,IBFT 与 PBFT、Zyzzyva、Spinning、SBFT、HotStuff 等如何比较?
主要发现
| 算法 | 正常情况通信复杂度 | 视图变更通信复杂度 | 延迟(消息延迟) |
|---|---|---|---|
| DLS | O(n^4) | O(n^4) | O(n) |
| PBFT | O(n^2) | O(n^3) | 3 |
| Zyzzyva | O(n) | O(n^3) | 1 / 3* |
| Spinning | O(n^2) | O(n^3) | 3 |
| SBFT | O(cn)^† | O(n^2) | 5 / 7 |
| HotStuff | O(n) | O(n) | 8 |
| IBFT (Sec. 4) | O(n^2) | O(n^2) | 3 |
- 在良好轮内,IBFT 在三个消息时延内完成终止,符合若干先前的 BFT 协议。
- 在通信及时的情况下,IBFT 实现了 O(n^2) 的总通信复杂度。
- IBFT 容忍至多 f 个拜占庭错误,且 n ≥ 3f+1,确保通过准备/提交状态管理在各轮之间保持安全。
- 该协议使用基于法定人数的证明来在切换视图期间维持跨轮的安全性。
- 比较表显示 IBFT 的正常情况和视图变更的通信成本,以及与 PBFT、Zyzzyva、Spinning、SBFT、HotStuff、DLS 等同行的对比。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。