hyperledger-fabric - 如何确定 Practical Byzantine Fault Tolerance 中的最大故障副本数?
问题描述
在 PBFT 共识中,我们知道应该有 3f+1 个副本,其中 2f+1 个正确的副本,f 是网络可以容忍的最大故障副本数。我想知道在设置面料时如何记住这一点。我们可以根据哪些参数来预测错误副本的可能性?
解决方案
我假设您正在使用 BFT 共识插件(例如BFT-SMART)设置您的订购者。只有当你想容忍恶意错误时,才需要 BFT 算法。如果你只关心崩溃故障,你也可以使用 Kafka 共识,它可以容忍高达 50% 的崩溃节点。
因此,如果您要建立业务网络,每个合作伙伴都应该运行一个订购节点。容忍的恶意合作伙伴的数量取决于您的合作伙伴总数。因此,如果您有 4 个合作伙伴,其中一个可能是恶意的,而您的网络不会崩溃,如果您有 7 个合作伙伴,您可以容忍两个,等等。
因此,您在运行多少个副本方面做出的选择并不是一个真正有意识的选择。容忍恶意节点的数量取决于您运行排序节点的独立合作伙伴的数量。让一个组织运行多个排序节点是没有意义的,因为如果他们恶意行事,他们可以操纵所有这些节点。
推荐阅读
- rest - Why posting to PayPal sandbox API not working for me?
- javascript - 带有可选第二个参数的回调函数
- java - Java Eclipse - 从命令提示符运行时的输出与通过 IDE 运行时的输出不同
- vba - 以没有编译错误结束。我正在比较两个字符串
- javascript - 测试字符串是否匹配正则表达式?
- c# - 需要从 URL asp.net mvc 5 获取值
- canvas - 使用fabricJS在画布上水平分布对象
- java - 无法在应用程序配置文件中声明 javaExceptionMapper
- opencv - ORB 是否取决于图像分辨率?
- finite-automata - 这是正确的 NFA 图吗?