← Journal

为什么共识是信任的起点

从拜占庭将军问题出发,聊聊分布式系统如何用算法替代「人与人之间的信任」。

我们习惯把「信任」当成一种情感:你相信银行不会篡改你的余额,相信交易对手会履约。但在分布式系统里,信任是一个可以被精确定义、被计算、被验证的工程问题。

拜占庭将军

经典的拜占庭将军问题描述了这样一个场景:若干将军要通过信使协调进攻,但信使可能延迟、丢失,甚至有将军本身是叛徒。问题是——在存在「恶意节点」的前提下,诚实节点能否达成一致?

答案是:当且仅当恶意节点数量 f 满足 n ≥ 3f + 1 时,系统可以容错。这就是 BFT(Byzantine Fault Tolerance)的下界。

共识不是「让所有人都诚实」,而是「即使有人作恶,系统仍然得出唯一、确定的结果」。

信任被算法吸收

区块链的精妙之处,在于它把「信任谁」这个社会问题,转译成了「哪条链累计了最多工作量 / 权益」这个数学问题:

  • PoW 用算力把作恶成本抬到不经济;
  • PoS 用质押把作恶与经济损失绑定;
  • BFT 类协议用投票与签名在已知节点集内达成确定性终局。

不同路线的共同点是:它们都在用可验证的规则,替代不可验证的善意。

这也是我做这个博客的出发点——记录这些「把信任工程化」的思路,以及它们在真实代码里的样子。

← 返回 Journal