初链-混合共识协议PBFT和PoW的结合 -解读truechain黄皮书
区块链架构是一种分布式的架构,多个主机通过异步通信方式组成网络集群,以保证各个主机达成一致的共识,然而,也有可能出现主机无法通信的故障发生,因此需要容错协议,以确保各个主机达成安全可靠地状态共识。 共识协议是所有区域链公链运行的基础,他规定节点之间如何竞争记账,每个节点必须让自己的账簿和其他节点的账本保持一致,此时就需要制定一套共识算法,让各个节点按照共识算法的规则来确定各自的数据,现在主流的五种算法是:POW、POS、DPOS、PBFT和DBFT.其中PBFT和Raft是联盟链和私有链常用的共识算法,而PoW(比特币采用)和PoS是公有链常用的共识算法。
随着时代的发展,单一算法并的速度、安全性与中心化承担已经不能满足社会的需要,目前算法方式大致一分为二,一种是以比特币为代表的POW解决方案,已被证明在交易处理速度上难以更进一步;一种是以众多私有链、联盟链为代表的PBFT解决方案,可以高效处理大量交易。但PBFT解决方案要求参与记账的众多节点彼此信任,因此在协议生效之前就相互认识。但一个相互认识的超级节点对全链交易进行记录应用到公链开发中无疑存在着巨大的道德风险。无论是区块链+金融还是区块链+新零售,亦或与区块链结合的许许多多的其他产业,高频次的交易始终是区块链真正助力行业过程中绕不过去的坎。无论是EOS的DPOS还是NEO的DPFT,为提升TPS(每秒事物处理量),都采用了类中心化节点记账的方式,牺牲了太多安全性。量子链的POS虽然安全性较DPOS和DPFT有所提升,但仍然达不到POW的安全性能。而POW最令人诟病的一点就是全网广播导致的极低的交易处理效率。
如何在公链中建立高效的互信的共识机制,成为世界性的难题. 混合算法于是应运而生,即把两种甚至多种共识机制运用在同一区块链公链的底层机构中,其中,初链的解决方案别出心裁,它结合了一种改进版的PBFT(实用拜占庭)和POW(工作量证明)共识。PoW:(Proof of Work)即工作量证明,根据矿工的工作量对数字货币进行分配,矿机的性能越高,数量越多,工作量越大,得到的数字货币就会越多。Pow共识确保了激励和委员会的选举,而实用拜占庭容错系统降低了拜占庭协议的运行复杂度,从指数级别降低到多项式级别,使拜占庭协议在分布式系统中应用成为可能,是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制,每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。它承担一种具有瞬时处理高吞吐量事务、交易验证、公平交易委员会的成员轮值公牛的高效共识机制,以及作为一种补偿基础设施去处理不同的基础设施。保留PBFT记录账本的机制不动,将超级节点的选取开放给公链,利用POW协议作为准系统支持超级节点的动态选取和协议达成,将超级节点社区的组建由私有链与联盟链性质转换为公有链性质。
PBFT和POW算法的结合,能够有效的解决中心化和效率的矛盾,当然也存在许多待解决的问题,期待初链能继续努力研究,推动区块链的发展!