# 1. HotStuff 的"Jolteon"扩展 A Jolteon 提高通信复杂度到 O(n²) B Jolteon 增加视图切换复杂度 C Jolteon 用于 Raft 协议 D Jolteon 简化 HotStuff 并降低视图切换延迟 ✓ 正确答案
# 2. BFT 与 CFT(Crash Fault Tolerance)在故障模型上的边界 A CFT 假设节点只崩溃,BFT 假设节点可恶意行为 ✓ 正确答案 B CFT 需 3f+1 节点 C BFT 只需 2f+1 节点 D 两者故障模型相同
# 3. Tendermint Core 的 BFT 共识 A Tendermint 不依赖验证者 B Tendermint 采用概率最终性 C 区块获得 2/3 以上节点确认后确定性终结 ✓ 正确答案 D Tendermint 是 Raft 协议
# 4. HotStuff 协议的"三阶段投票"(Prepare、Pre-commit、Commit) A 三阶段提高了通信复杂度 B 一阶段投票即可提交 C 三阶段与 PBFT 无关 D 区块需连续三轮 QC 形成 3-chain 才提交 ✓ 正确答案
# 5. HotStuff 的确认规则,为什么需要 3 个连续的 quorum certificate(3-chain)才能提交,2-chain 与 3-chain 的区别是什么? A 3-chain 降低安全性 B 2-chain 即可安全提交 C 3-chain 与 view change 无关 D 3-chain 需连续三轮 QC,保证 view change 下已提交块不丢失 ✓ 正确答案
# 6. HotStuff 在 Aptos、Sui 区块链的应用 A HotStuff 通信复杂度为 O(n²) B Sui 完全复制 HotStuff 无改进 C Aptos 采用 Jolteon 扩展的 HotStuff 实现高吞吐 ✓ 正确答案 D HotStuff 不适合作区块链共识
# 7. HotStuff 的"leader reputation"机制 A 根据历史表现优先选择信誉高的 leader ✓ 正确答案 B 随机选择 leader 与信誉无关 C 信誉机制降低活性 D 信誉机制只影响吞吐无关安全
# 8. HotStuff 的"pipelining"如何将多个阶段并行执行 A pipelining 降低吞吐 B 每个区块必须串行完成三阶段 C 多个区块的三阶段在时间上交错并行执行 ✓ 正确答案 D pipelining 提高通信复杂度
# 9. HotStuff 的"线性通信复杂度"(O(n) vs PBFT 的 O(n²)) A 线性通信降低协议安全性 B HotStuff 与 PBFT 都是 O(n²) C HotStuff 通信复杂度为 O(n²) D HotStuff 每轮 O(n) 通信,PBFT 为 O(n²) ✓ 正确答案
# 10. PBFT 的 view change 与新主选举 A 新 primary 收集 2f+1 个 view-change 后继续共识 ✓ 正确答案 B view change 会丢失已提交消息 C view change 不涉及新 primary D view change 只需 f 个节点确认
# 11. PBFT 的"通信复杂度"O(n²) 与 HotStuff 的优化 A 签名聚合增加通信量 B HotStuff 保持 O(n²) 不变 C HotStuff 用 star 拓扑与签名聚合将 O(n²) 降为 O(n) ✓ 正确答案 D 通信复杂度与扩展性无关
# 12. PBFT 与 HotStuff 在视图切换与线性链式共识上的差异? A HotStuff 视图切换也需收集稳定检查点 B PBFT 是线性通信,HotStuff 是全互联 C PBFT 视图切换需收集稳定检查点,HotStuff 用链式 QC 简化视图切换并实现线性通信 ✓ 正确答案 D 两者都无法容忍拜占庭节点
# 13. 部分同步(partial synchrony)模型如何绕开 FLP 不可能性,BFT 协议为什么都假设全局稳定时间(GST)? A 部分同步假设 GST 后网络延迟有界,从而保证终止 ✓ 正确答案 B 部分同步仍无法绕开 FLP C GST 后协议仍不保证活性 D FLP 在同步模型下也成立
# 14. PBFT 的 checkpoint 与 stable checkpoint,如何用 digest 比较清理日志并防止恶意节点伪造检查点? A 2f+1 个节点确认相同 digest 才形成 stable checkpoint ✓ 正确答案 B 单个节点即可形成 stable checkpoint C digest 比较无法防止伪造 D checkpoint 用于清理全部日志
# 15. PBFT(Practical Byzantine Fault Tolerance)的 Pre-prepare、Prepare、Commit 三阶段 A 三阶段与容错无关 B 三阶段只需 f+1 确认 C Commit 阶段即可由 primary 单独决定 D Pre-prepare 提议、Prepare 一致、Commit 提交,各需 2f+1 确认 ✓ 正确答案
# 16. BFT 在区块链共识中的应用与拜占庭节点假设? A BFT 无需 2/3 诚实前提 B 区块链只需 CFT 即可 C 拜占庭假设允许超过半数节点作恶 D 区块链用 BFT 在恶意节点存在时保证共识与安全 ✓ 正确答案
# 17. BFT 的容错上限,3f+1 节点的必要性何在? A 3f+1 与诚实比例无关 B 2f+1 节点即可容忍 f 个拜占庭故障 C 需 3f+1 节点保证 2/3 诚实,才能容忍 f 个拜占庭故障 ✓ 正确答案 D BFT 只需 f+1 节点