2f+1=正常节点

3f + 1=总节点

PBFT算法的核心理论是n>=3f+1

fisco bcos pbft共识算法核心理论及实践

2f+1=正常节点

3f + 1=总节点

PBFT算法的核心理论是n>=3f+1

n是系统中的总节点数,f是允许出现故障的节点数。换句话说,如果这个系统允许出现f个故障,那么这个系统必须包括n个节点,才能解决故障。

PBFT容忍无效或者恶意节点数:f,为了保障整个系统可以正常运转,需要有2f+1个正常节点,系统的总节点数为:|R| = 3f + 1。也就是说,PBFT算法可以容忍小于1/3个无效或者恶意节点,

只要有不少于(2*f+1)个非恶意节点正常工作,该系统就能达成一致性,如:7个节点的系统中允许2个节点出现拜占庭错误。

注: n是节点的总数 f是出问题的节点数

如下图所示:

我们通过杀掉节点的进程来模拟问题节点

fisco bcos pbft共识算法核心理论及实践

总共7个节点出现一个问题节点

fisco bcos pbft共识算法核心理论及实践

交易正常

fisco bcos pbft共识算法核心理论及实践

总共7个节点出现2个问题节点

fisco bcos pbft共识算法核心理论及实践

交易正常

fisco bcos pbft共识算法核心理论及实践

总共7个节点出现3个问题节点(杀了3个节点,结果全部显示异常,应该是webase的bug)

fisco bcos pbft共识算法核心理论及实践

交易出现问题

fisco bcos pbft共识算法核心理论及实践


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注