背景
Andrew Miller 设计了新的共识 HoneyBadgerBFT,论文中提到了BFT共识严重依赖时序假设,所造成的脆弱性。
在论文的附录中,Andrew Miller 介绍了BFT的攻击方法,本文将对该方法进行翻译和介绍。
另外本文不再对BFT的时序脆弱性进行论证,详情可见英文论文或者 中文论文。
正文
PBFT包括两个主要的工作流
1、网络环境良好情况下的正常工作模式
(网络节点都同步 而且 leader运行正常)
2、用于更换崩溃leader的view-change模式
正常工作模式
其中模式一,包含三个子协议 Pre-Prepare,Prepare,Commit.
当leader收到客户端的transaction时,根据transaction广播pre-prepare
消息。
收到pre-prepare
消息的节点,广播prepare
消息。
当节点收到2f个preprare
消息时,广播commit
消息。
当节点收到2f+1个commit