-->-->
收藏本页
返回顶部

币海首页> 要闻资讯 > 文章

PBFT如何执行?

来源:Medium     转载 · Relay Bits   2019-11-22 08: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如何运作?

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

版权信息
来源:Medium
版权:转载
原文链接:https://www.bihai123.com.cn/news/zhuanlan/69798.html
作者:Juin Chiu
编译发布:Relay Bits
声明:
此文为转载内容,不代表币海启行网的观点和立场,仅供参考。

相关文章

用户评论 (0)

0/140