拜占庭容错(BFT)-分布式一致性算法-HotStuff

Posted 酣睡中的银酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拜占庭容错(BFT)-分布式一致性算法-HotStuff相关的知识,希望对你有一定的参考价值。

      HotStuff可以说是在PBFT上进行改进的拜占庭容错模型(BFT),也就是在3f+1个节点上,允许f个拜占庭节点和f个宕机节点。HotStuff将两阶段提交,优化为三阶段提交,成功解决试图切换时时间复杂度问题,该算法被用于Libra联盟区块链项目。

相对于上一代BFT状态机复制协议,该算法同时具有以下特性:

— 线性视图切换,O(n)时间完成

— 乐观响应,等待n-f个节点响应即可完成写入

HotStuff模型又有如下公约:

- 密码学算法采用门限签名,这样在保证安全性的同时,也可以降低复杂度

- 复杂度计算,采用认证复杂度来计算算法复杂度

HutStuff 数据写入需要经过三阶段确认:

1 Prepare phase(准备阶段)

拜占庭容错(BFT)-分布式一致性算法-HotStuff

2 Pre-commit phase (第一次确认)

拜占庭容错(BFT)-分布式一致性算法-HotStuff

3 Commit phase(第二次确认)

拜占庭容错(BFT)-分布式一致性算法-HotStuff

4 Decide phase(第三次确认)

拜占庭容错(BFT)-分布式一致性算法-HotStuff5 Finally(视图切换)

拜占庭容错(BFT)-分布式一致性算法-HotStuff

正是这样的简洁性,算法可以做链式改进,三链模型

拜占庭容错(BFT)-分布式一致性算法-HotStuff

在实际环境中经过第三次确认即可认可一次消息,如下图所示,round K+3能确认round K的消息:

拜占庭容错(BFT)-分布式一致性算法-HotStuff

Libra 实现了PaceMaker机制,使下一个Leader(三链模型的the next Leader)不需要等待接收视图切换消息,通过显示的超时信号(TC),验证者通过他发出的提案自动进入下一个视图,而不需要一个同步的时钟,这样就可以将验证消息流水化

拜占庭容错(BFT)-分布式一致性算法-HotStuff

相关证明请看:


以上是关于拜占庭容错(BFT)-分布式一致性算法-HotStuff的主要内容,如果未能解决你的问题,请参考以下文章

分布式环境RAFT一致性共识算法解读

区块链共识算法原理

“拜占庭容错”“拜占庭将军问题”

什么是异步拜占庭容错 (ABFT)?

共识协议PBFT实用拜占庭容错

分布式系统架构系列讲解八(分布式一致性 8):PBFT算法