我们习惯把「信任」当成一种情感:你相信银行不会篡改你的余额,相信交易对手会履约。但在分布式系统里,信任是一个可以被精确定义、被计算、被验证的工程问题。
拜占庭将军
经典的拜占庭将军问题描述了这样一个场景:若干将军要通过信使协调进攻,但信使可能延迟、丢失,甚至有将军本身是叛徒。问题是——在存在「恶意节点」的前提下,诚实节点能否达成一致?
答案是:当且仅当恶意节点数量 f 满足 n ≥ 3f + 1 时,系统可以容错。这就是 BFT(Byzantine Fault Tolerance)的下界。
共识不是「让所有人都诚实」,而是「即使有人作恶,系统仍然得出唯一、确定的结果」。
信任被算法吸收
区块链的精妙之处,在于它把「信任谁」这个社会问题,转译成了「哪条链累计了最多工作量 / 权益」这个数学问题:
- PoW 用算力把作恶成本抬到不经济;
- PoS 用质押把作恶与经济损失绑定;
- BFT 类协议用投票与签名在已知节点集内达成确定性终局。
不同路线的共同点是:它们都在用可验证的规则,替代不可验证的善意。
这也是我做这个博客的出发点——记录这些「把信任工程化」的思路,以及它们在真实代码里的样子。