首页 > 解决方案 > 如何确定 Practical Byzantine Fault Tolerance 中的最大故障副本数?

问题描述

在 PBFT 共识中,我们知道应该有 3f+1 个副本,其中 2f+1 个正确的副本,f 是网络可以容忍的最大故障副本数。我想知道在设置面料时如何记住这一点。我们可以根据哪些参数来预测错误副本的可能性?

标签: hyperledger-fabricblockchain

解决方案


我假设您正在使用 BFT 共识插件(例如BFT-SMART)设置您的订购者。只有当你想容忍恶意错误时,才需要 BFT 算法。如果你只关心崩溃故障,你也可以使用 Kafka 共识,它可以容忍高达 50% 的崩溃节点。

因此,如果您要建立业务网络,每个合作伙伴都应该运行一个订购节点。容忍的恶意合作伙伴的数量取决于您的合作伙伴总数。因此,如果您有 4 个合作伙伴,其中一个可能是恶意的,而您的网络不会崩溃,如果您有 7 个合作伙伴,您可以容忍两个,等等。

因此,您在运行多少个副本方面做出的选择并不是一个真正有意识的选择。容忍恶意节点的数量取决于您运行排序节点的独立合作伙伴的数量。让一个组织运行多个排序节点是没有意义的,因为如果他们恶意行事,他们可以操纵所有这些节点。


推荐阅读