首页  >  要闻 >  区块链 >  PBFT如何执行?
PBFT如何执行?
 Relay Bits    
2019年11月22日 00:00
  收藏
   

第三阶段:执行(Commit)

「已预备」的将军若决定执行,则发送附有签名的「执行」信息给所有将军;若决定不执行则不发送任何信息。

发出「执行」信息的将军开始「执行」阶段。

各将军若收到3则以上「执行」信息,则执行信息内容,这也代表该提议取得了共识。

执行信息后的将军进入「已执行」状态并将执行结果回报(Reply)给拜占庭君主。

回报后的将军结束这回合,静待下一个提议的到来。

PBFT Commit

PBFT Commit Phase

可能有些读者比较熟悉下面这个精简版的流程图:

PBFT 精简

PBFT Process

替换不适任的主导者:视域变换(View-change)

以上的共识形成的过程非常依赖忠诚的主导者,万一主导者是叛徒呢?为了避免不提案的主导者瘫痪所有行动,将军们需要一个轮替机制,也就是视域变换:

每个将军从收到「预备」信息后开始计时,转为「已执行」状态后结束计时。

如果在计时后T时间内未执行信息,则该将军可以发送「变换」(View-change)信息,信息内容包含新的代数(目前代数+1)以及其他重要讯息。

如果主导者未提案,则每个诚实的验证者最终都会因为超时而发出变换信息。

视域变换

PBFT View-change

新主导者若收到3则以上「变换」信息,则新主导者可以发送「新域」(New-view)信息,信息内容包含新代数、所有具有「已预备证明」且尚未被执行的「就位」信息,以及其他重要讯息。

各验证者收到「新域」信息后,逐一针对尚未执行的「就位」信息进行投票流程。

接下来由新主导者负责接收拜占庭君主的命令。

PBFT新域

PBFT New-view


前两个阶段可参阅《PBFT如何运作?

点击关注币海启行微信公众号,了解更多

编辑: Relay Bits
更多财经请关注 WX: Chaocaijing123456
币海财经: 全球财讯门儿清 https://www.bihai123.com/
声明: 本文由入驻币海编者上传,观点仅代表编者本人,不代表币海财经赞同其观点或证实其描述,请自行判断。

延伸阅读