在区块链领域我们经常听到有人谈论共识机制,谈论某个项目采用的是pow还是pos亦或dpos之类的话题,那么共识机制究竟是什么呢?
区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制,共识算法是作为区块链技术,DAG技术的基础,也是其重要组成部分。如果没有共识算法,区块链顶多是一个不可变的数据库。
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
简单理解共识机制,就是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认。共识是一个决策的过程,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。再通俗一点来讲,如果中国一名微博大V、美国一名虚拟币玩家、一名非洲留学生和一名欧洲旅行者互不相识,但他们都一致认为你是个好人,那么基本上就可以断定你这人还不坏。
共识算法目前业内有30多种,当下主流的共识机制有POW、POS、DPOS,不少公链都在使用这几种,让我们来看看他们各自有什么优缺点。
工作量证明/ Proof of Work / PoW
这是第一种共识算法(由中本聪在他的文章中提出),以创造分布式无信任的共识,解决双重支出问题。POW并不是一个新概念,但是中本聪将这个和其他现有概念——加密签名、merkle链和P2P网络——结合成一个可行的分布式共识系统,其中加密货币是第一个和基本的应用,非常具有创新性。
区块链的参与者(被称为矿工)要在区块链上添加一个区块,参与者需要用完成了多少工作量来证明。比特币在区块的生成过程中使用了 PoW 机制,要得到合理的随机数求解数学难题需要经过大量尝试计算,即找到符合特定规则的哈希值。然而第一个找到正确哈希值的人即可获得在链上添加新区块的机会。通过查看记录和验证区块链信息的证明,就能知道是谁完成了指定难度系数的工作量。
优点:从2009年至今依然运行稳定,是经过测试的有效的共识算法。
缺点:达成共识慢,处理交易的效率低,高耗能高污染。
使用案例:比特币。
权益证明/ Proof of Stake / PoS
权益证明的特点是没有复杂的计算,区块链的参与者不与他人竞争,而是抵押他们的资源,类似于把钱存在银行,银行会根据你的资金额度个时间给你分配相应的收益。参与者对网络安全很看重,因为他们自己手里持有网络中的TOKEN。系统根据参与者所拥有的 “股权”来选择验证者,如参与者拥有10%的股份,那么将验证网络中10%的交易。参与者抵押的资源越大,网络允许这个验证者创建区块的概率越高。PoS的想法是验证者持有的“股份”比例越高,TA操纵验证程序的兴趣就越低。
优点:能源效率高,攻击者发动攻击的成本更高,不受规模经济影响。
缺点:没有利害关系
使用案例:Cosmos、Tezos、Ethereum也正准备从PoW转向PoS。
权益授权证明/ Delegated Proof of Stake / DPoS
DPoS 是一种类似董事会的授权共识机制,它通过减少验证者的数量来提高交易速度以及创建区块的速度。验证者是token持有者通过投票选出来的值得信任的节点。被委托的验证人将会与为他们投票的人共享获得的奖励。DPoS 大幅提高区块链的处理能力,并降低区块链的维护成本,从而使交易速度接近于中心化的结算系统。
优点:节能,快速,每个新块的产生只需1-2秒的时间
缺点:偏中心化,高风险的参与者可以投票自己成为验证者。
使用案例:BitShares, Steemit, EOS, Lisk, Ark
共识机制是区块链的重要组成部分,它可以实现所有人掌握的账本完全一致,是实现区块链无人可以随意篡改特性的基础。即区块链的不可篡改性,只有当达到一定共识时才可以篡改。