我管拜占庭容错诞生直到比特币诞生这段时间内的所有BFT算法,包括像是后来诞生的但是还未受到比特币和区块链影响的BFT算法叫做传统BFT算法。这类算法包括著名的PBFT,也包括之前的不那么practical的BFT,和后PBFT时代中提出了“投机型”BFT的Zyzzyva。这类BFT算法的最大特点,就是他们并没有把区块链当做主要的应用场景(废话)。然后这类BFT算法我们又可以拿PBFT和Zyzzyva分成三个阶段。
继续来读经典论文吧ヾ(◍°∇°◍)ノ゙
PBFT 解决的是在拜占庭环境下,如何提供一致性,以及如何持续的提供一致性的问题
上次我们讲到,比特币带来了一个新思路——用经济学和博弈论的原理约束节点,让他们不会作恶,于是整个问题重新回到了异步普通容错问题的轨道,于是整个问题的消息复杂度回到了O(N),即,可扩展。关于扩展性问题我们到以后的文章里再深入说,在这里我们只说它和O(N^2)消息复杂度的传统容错算法,例如PBFT,的最大区别。
为什么比特币 10 分钟出个块,每个块的大小 1 MB?
本文为tendermint paper: The latest gossip on BFT consensus的读书笔记, 本文旨在理清论文中所讲的BFT共识. 如果您在阅读过程中有任何意见可以发起ISSUE, 如果喜欢的话可以点击star.
star
pBFT为什么不要三个阶段,看完你就知道。
第三代区块链协议有多酷?