译文:所有人都知道X是不够的。我们还需要所有人都知道所有人都知道X,以及所有人都知道所有人都知道所有人都知道X,就像是在拜占庭将军问题里的那样——这是个分布式数据处理中的经典的困难问题。
我管拜占庭容错诞生直到比特币诞生这段时间内的所有BFT算法,包括像是后来诞生的但是还未受到比特币和区块链影响的BFT算法叫做传统BFT算法。这类算法包括著名的PBFT,也包括之前的不那么practical的BFT,和后PBFT时代中提出了“投机型”BFT的Zyzzyva。这类BFT算法的最大特点,就是他们并没有把区块链当做主要的应用场景(废话)。然后这类BFT算法我们又可以拿PBFT和Zyzzyva分成三个阶段。
继续来读经典论文吧ヾ(◍°∇°◍)ノ゙
上次我们讲到,比特币带来了一个新思路——用经济学和博弈论的原理约束节点,让他们不会作恶,于是整个问题重新回到了异步普通容错问题的轨道,于是整个问题的消息复杂度回到了O(N),即,可扩展。关于扩展性问题我们到以后的文章里再深入说,在这里我们只说它和O(N^2)消息复杂度的传统容错算法,例如PBFT,的最大区别。
为什么比特币 10 分钟出个块,每个块的大小 1 MB?
本期我们的主题是eth2 背后的共识机制。Eth2 采用了一种新颖的方式来判断区块链的前部区块和组成区块。Eth2 混合了两种机制(LMD-GHOST 及 Casper FFG)以达成共识,不仅使得网络在正常运行时能够安全快速,并且在受到攻击时也能保障安全性。
pBFT为什么不要三个阶段,看完你就知道。