news 2026/6/10 11:49:42

【PBFT算法】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【PBFT算法】

口信消息型拜占庭问题之解的局限

该算法存在两个主要问题:

  • 消息复杂度高:将军数为n、叛将数为f时,算法需要递归协商f+1轮,消息复杂度为O(n^(f+1))。例如叛将数为64时,消息数量远超int64表示范围。
  • 理论化严重:算法仅关注忠将达成共识,不关心共识结果是否合理(如适合进攻时可能达成撤退共识)。

PBFT算法的核心原理

PBFT通过签名约束恶意节点行为,基于三阶段协议和大多数原则(2f+1)实现共识:

三阶段协议

  1. 预准备阶段:主节点广播预准备消息给备份节点。
  2. 准备阶段:备份节点广播准备消息,确认收到一致的指令。需收到2f个一致消息才进入下一阶段。
  3. 提交阶段:节点广播提交消息,收到2f+1个验证通过的消息后执行指令。

关键点

  • 签名机制:防止伪造消息,确保消息来源和内容可信。
  • 客户端验证:客户端需收到f+1个相同响应才确认共识达成。
  • 视图变更:主节点作恶时,通过轮换机制选举新主节点。

消息复杂度优化

PBFT将消息复杂度从O(n(f+1))降至O(n2),但仍需较多消息。例如13节点集群(f=4)需237条消息,适用于中小型系统。

适用场景

  • 联盟链:如Hyperledger Sawtooth、Zilliqa。
  • 相对可信环境:能容忍(n-1)/3个恶意节点,不依赖算力(与PoW对比)。

思考题答案

客户端需收到f+1个响应才能确保至少一个来自忠将。若仅收f个响应,可能全来自叛徒,导致错误共识。

对比其他算法

  • Raft:不适用恶意节点场景。
  • PoW:消耗算力,PBFT更高效但规模受限(O(n^2)复杂度)。

通过PBFT,苏秦可确保忠将们一致执行指令,即使存在叛徒干扰。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:08:36

高效测试设计:边界值+等价类全覆盖

用最少的测试用例,覆盖最多的输入风险。思路:把输入分成等价类(Equivalence Class) ,在每个关键范围处做边界值(Boundary Value)验证,并补齐格式/编码/跨字段的关键约束。Treeify 专…

作者头像 李华
网站建设 2026/6/10 2:08:41

nginx(更新中)

Linux安装Nginx 上传nginx-1.21.6.tar.gz yum install -y gcc-c zlib zlib-devel openssl openssl-devel pcre pcre-devel tar -zxvf nginx-1.21.6.tar.gz cd nginx-1.21.6/ # 执行配置脚本 ./configure --prefix/usr/local/nginx # 编译安装 make & make install # 启动ng…

作者头像 李华
网站建设 2026/6/10 10:37:43

Lumafly模组管理器:解决空洞骑士模组管理的终极方案

Lumafly模组管理器:解决空洞骑士模组管理的终极方案 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 还在为《空洞骑士》模组安装的繁琐步骤而烦恼吗…

作者头像 李华
网站建设 2026/6/7 12:31:01

【TCC分布式事务】

TCC实现指令原子性的原理 TCC(Try-Confirm-Cancel)通过三阶段操作实现业务层面分布式事务的原子性,其核心在于资源预留和状态管理的设计: Try阶段(预留) 对涉及的所有业务操作预先检查并预留资源&#xff0…

作者头像 李华
网站建设 2026/6/10 3:23:52

OpenCore Legacy Patcher终极指南:让老旧Mac重获新生的完整教程

还在为那些被Apple官方抛弃的老旧Mac发愁吗?看着2012年之前的MacBook、iMac无法升级到最新的macOS系统,是不是觉得它们已经走到了生命的尽头?别担心,OpenCore Legacy Patcher(OCLP)这款神奇的工具将彻底改变…

作者头像 李华
网站建设 2026/6/10 5:35:31

Mammoth.js:轻松将Word文档转换为HTML的完美解决方案

Mammoth.js:轻松将Word文档转换为HTML的完美解决方案 【免费下载链接】mammoth.js Convert Word documents (.docx files) to HTML 项目地址: https://gitcode.com/gh_mirrors/ma/mammoth.js 还在为Word文档的在线展示而烦恼吗?Mammoth.js正是你需…

作者头像 李华