pBFT算法的关键设计,你可能忽视了...

实用拜占庭容错算法,简称pBFT,是首个可以在实际应用场景中相对高效的解决拜占庭将军问题的BFT算法,由Miguel Castro和Barbara Liskov在1999年提出。

Image

pBFT已经过多年的实践验证,算法成熟度高,网上有大量的资料和文章介绍拜占庭将军问题和pBFT算法原理,但大部分都只是关注于算法的流程和机制,却忽略了当中重要的设计。

因此,本文不再详细介绍拜占庭将军问题和pBFT的基本原理,而是重点介绍几个关键设计:

  1. 假设恶意节点数量为f个,为什么网络需要至少3f+1个节点?

  2. 为什么需要三个阶段?为什么两个阶段不行?

  3. 客户端为什么只需要f+1个确认即可?

本文中的概念和符号的定义,都尽可能保持与论文一致。但为了增加文章的可读性,我尽可能用简单的语言描述,方便大家理解。如果要进一步深刻理解,按需阅读原文。

 

01 为何至少3f+1?

拜占庭容错算法的目的是使得所有诚实的节点最终状态一致并且是正确的。要达到这样的目的,必须满足诚实的节点数量多于恶意的节点(少数服从多数)。

在实际的开放网络环境中,不仅有恶意节点,还有由于网络拥堵或机器故障等原因,存在部分短暂失联的节点,也需要作为考虑的因素。

因此,假设恶意

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值