Facebook近日公布的Libra白皮书引起各界持续关注,其网站公开的技术文档也被诸多专家审视,文档提到Libra区块链将使用基于拜占庭容错共识的「LibraBFT」共识算法,而LibraBFT则是「HotStuff」的一个变种。HotStuff的论文由云计算公司VMWare的研究团队发表,第一作者尹茂帆,在美国康奈尔大学(Cornell)大学读博士学位,当前的主攻方向是分布式系统的基础研究,导师是著名计算机科学家EminGunSirer,另一导师是RobbertvanRenesse。尹茂帆解释说,取名为HotStuff,是因为这个单词在英文里有三重意思:一是性感的人,一是炙手可热的好东西,
本文分为两个部分,第一部分给出hotstuff的总结,第二部分详细谈hotstuff的细节。第一部分我们首先聊一下HotStuff共识算法,该算法总结了PBFT、Tendermint等共识算法的特点,实现了一个既有安全性(safety)、活性(liveness),又有响应性(responsiveness)的共识算法。为了更好的理解HotStuff的创新点,我们先简要回顾一下PBFT和Tendermint的短板。PBFT是最早的可以实用的拜占庭容错共识算法,该算法最大的短板是ViewChange时的消息复杂性,每当需要在共识节点中切换Leader时,都需要大量的消息O(n^3),这是很复杂的。T
一、区块链共识算法因为hotstuff是一种被用于区块链的共识算法,所以先讲一下区块链的共识。大家都知道,比特币的出现,尤其是比特币价格的夸张涨幅,带动了整个区块链行业的发展。用的人多了,自然讨论就多了。大家就发现比特币的很多的不足,其中一个非常让人诟病的,就是其所采用的pow共识机制。pow带来了几个很大的问题,比如能源消耗大(如果当作一个国家,排名20多位,当然是好是坏其实是有争议的),比如tps非常低(6-7笔)、交易确认时间长(概率性、最好de等待1小时以上)。这些问题,如果要改进,一个很有效的方法就是要改进其共识算法。而关于此,也有个所谓的不可能三角问题(类比CAP定理),即安全性、