https://docs.icon.foundation/ICON-Whitepaper-EN-Draft.pdf 在本文的第 23 页,他们坚持认为准备阶段可以在 pbft 共识中省略。这很令人困惑,因为它与现有的 pbft 不同。虽然提议者向每个节点传播不同的块,但除非节点签名两次,否则不会发生分叉。一般来说,我同意他们的论点。如果这是可能的,pbft 可以更快。但我想听听其他 pbft 专家的意见。为什么 PBFT 需要准备阶段?并且可以省略吗?
问问题
140 次
1 回答
0
我实际上并没有阅读您链接的论文,但我想我可以从您的最后一句话中回答您的问题;
“为什么 PBFT 需要准备阶段?”
您可能知道 PBFT 中有预准备阶段。Pre-prepare 阶段是 PBFT 三阶段共识协议的第一步,在这个阶段,primary 为客户端的请求分配一个唯一的序列号。PBFT是拜占庭容错算法,意思是primary可以是恶意的;例如,pre-prepare阶段的primary可以为同一个请求分配不同的序列号,从而违反了安全条件。为了检测主节点的这种错误行为,副本需要在下一步(准备阶段)交换预准备消息,以检查它们是否都从主节点接收到完全相同的消息。总而言之,需要准备阶段来通过副本验证主节点的消息。我推荐BGP(拜占庭一般问题)以获取更多详细信息。
你的第二个问题是...
并且可以省略吗?
答案是不”。如前所述,如果协议省略了准备阶段,它就不能容忍拜占庭故障主节点。
于 2018-08-22T08:56:15.090 回答