https://docs.icon.foundation/ICON-Whitepaper-EN-Draft.pdf 在本文的第23页上,他们坚持认为在pbft共识中可以省略准备阶段。这很混乱,因为它与现有的pbft不同。 尽管提议者将不同的块传播到每个节点,但是除非节点签署两次,否则不会发生派生。通常,我同意他们的观点。如果可能,pbft可能会更快。但我想听听其他pbft专家的意见。 PBFT为什么需要准备阶段?可以省略吗?
答案 0 :(得分:0)
我实际上没有阅读过您链接的论文,但我想我可以从您的最后一句话回答您的问题;
“为什么PBFT需要准备阶段?”
您可能知道PBFT中有预准备阶段。预先准备阶段是PBFT的三个阶段共识协议的第一步,在这个阶段,主要阶段为客户的请求分配一个唯一的序列号。 PBFT用于拜占庭容错算法,这意味着主要算法可能是恶意的;例如,在准备阶段的主要阶段可以为同一请求分配不同的序列号,从而违反安全条件。为了检测主数据库的这种错误行为,副本需要在下一步(准备阶段)中交换预准备消息,以检查它们是否都从主数据库接收到完全相同的消息。总而言之,需要分阶段进行准备,以通过副本验证主节点的消息。我建议使用BGP(Byzantine General Problem)了解更多详细信息。
第二个问题是...
可以省略吗?
答案是“否”。如前所述,如果该协议省略了准备阶段,则它不会容忍拜占庭错误的主数据库。