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共识算法核心理论及实践

 

相关文章:

  • 2022-01-03
  • 2021-06-12
  • 2021-07-20
  • 2022-01-14
  • 2021-08-15
  • 2022-12-23
  • 2022-01-17
猜你喜欢
  • 2021-12-01
  • 2021-10-19
  • 2021-07-20
  • 2021-08-21
  • 2021-09-03
相关资源
相似解决方案