用 golang 从零开始构建简易的区块链,这是系列文章的第一篇。
共识机制是区块链的灵魂。就像一个国家的法律,维系着区块链世界的正常运作。区块链最早的共识是工作量证明(POW),比特币和以太坊都是采用的工作量证明。现在流行的一个趋势是权益证明(POS)。以太坊2.0就会采用 POS 共识,还有最新的公链如 Tezos,Polkadot,Algorand 等等。权益证明还包括委托权益证明(DPOS),代表公链有EOS。大多其他公链采用的共识都是从 POW 或者 POS 中衍生出来。我们暂时把联盟链共识不放到讨论范畴中,从 POW 到 POS,来研究一下区块链共识的发展。
区块链中的共识算法
在比特币公链架构解析中,就曾提到过为了实现去中介化的设计,比特币设计了一套共识协议,并通过此协议来保证系统的稳定性和防攻击性。 并且我们知道,截止目前使用最广泛,也是最被大家接受的共识算法,是我们先前介绍过的POW(proof of work)工作量证明算法。目前市值排名前二的比特币和以太坊也是采用的此算法。