欢迎光临
我们一直在努力

易懂案例:用班费记账来理解区块链BFT算法、CFT算法是什么?其原理、数学逻辑、优缺点、区别和联系是什么?

用班费记账理解区块链中的BFT与CFT算法

在班级班费管理中,班委们总会遇到各种“不一致”的麻烦:有时是有人记错账,有时是有人故意造假,还有时是消息没传到位。为解决这些问题,区块链发展出两类核心共识算法——BFT(拜占庭容错)和CFT(崩溃容错)。前者能应对“故意捣乱”,后者擅长处理“意外出错”。以下通过班费场景拆解这两类算法的本质。

一、核心概念:BFT与CFT的本质区别

1. 场景引入:两种“记账混乱”

  • 场景A:5人班委记账时,1人故意将“支出20元”记为“收入20元”,还偷偷修改别人的账本,试图浑水摸鱼——这是“拜占庭错误”(节点恶意行为)。
  • 场景B:5人班委记账时,1人因手机没电突然离线,没收到“支出20元”的消息,导致账本漏记——这是“崩溃错误”(节点非恶意故障)。

区块链中,BFT算法专门解决场景A(恶意错误),CFT算法专门解决场景B(非恶意故障),两者的设计目标和适用场景截然不同。

二、BFT算法:能应对“故意捣乱”的记账规则

BFT(Byzantine Fault Tolerance,拜占庭容错)算法的核心是“在存在恶意节点的情况下,让诚实节点达成一致”。最典型的BFT算法包括基础BFT、PBFT等。

1. 基础BFT算法:“全员交叉验证”

场景流程

5人班委约定严格的记账规则:

  • 任何收支(如“买粉笔20元”)都必须由提议人同步给所有人;
  • 每个人收到后,先独立判断真实性(如检查发票),再将自己的判断同步给其他人;
  • 最终,每个人按“超过2/3人同意”的结果记账。
  • 即使1人故意说“支出30元”,只要剩余4人中3人诚实报告“20元”,最终仍会按20元记录(4人中3人同意,满足2/3多数)。

    原理与数学逻辑
    • 核心机制:通过“全员广播+超多数投票”抵消恶意节点的影响;
    • 数学逻辑:
      • 假设总节点数为N,恶意节点数为F,必须满足 N ≥ 3F + 1(如5节点最多容忍1个恶意节点,7节点最多容忍2个);
      • 超多数(>2/3)
    赞(0)
    未经允许不得转载:171主机测评 » 易懂案例:用班费记账来理解区块链BFT算法、CFT算法是什么?其原理、数学逻辑、优缺点、区别和联系是什么?
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址