◇区块链的共识机制
共识机制是一种区块链治理体系,是结合经济学、博弈论等多学科设计出来的一套方法,可以保证区块链中各节点都能积极维护区块链系统。该机制首先由“中本聪”在《比特币白皮书》中提出,之后逐渐发展成为一种维护分布式账本多中心化的重要机制,是保持区块链安全稳定运行的核心。
按照百度百科上的说法,所谓“共识机制”,就是通过特殊节点的投票,在短时间内完成对交易的验证和确认,对同一笔交易,如果利益不相干的若干个节点能够达成共识,就可以认为全网对此也能达成共识。
1.共识机制遵循的原则
共识机制主要遵循的哲学原则有两个:“少数服从多数”和“人人平等”。通过一定规则,就能使系统中各参与者快速就系统中记录的数据达成一致。
(1)少数服从多数。不仅局限于竞争节点数量,系统中的各个节点也可通过竞争计算能力、权益凭证数量或其他可竞争参数等取得其他节点的支持。
(2)人人平等。意味着网络中记账节点的地位是平等的,所有节点都有机会优先获得提请写入数据的权利。
2.区块链的共识机制
区块链系统中没有像银行一样的中心化机构,进行传输信息、价值转移时,共识机制能够解决并保证每一笔交易在所有记账节点上的一致性和正确性问题。借助这种共识机制,区块链就能在不依靠中心化组织的情况下,大规模高效地完成运转。
在区块链网络中,应用场景不同,采用的共识算法也不同。目前,区块链的共识机制主要有四类:工作量证明机制、权益证明机制、委托权益证明机制和验证池共识机制。
(1)工作量证明机制(POW)。工作量证明可以简单理解为一份证明,证明你做过一定量的工作。仔细查看工作结果,就能知道你已经完成了指定量的工作。区块链共识算法使用最多的就是工作量证明,比特币和以太坊都是基于POW的共识机制。例如,比特币在区块的生成过程中使用的就是POW机制,简单理解就是大家共同争夺记账权利,谁先抢到并正确完成记账工作,谁就能得到系统的奖励,奖励为比特币,也就是所谓的“挖矿”。矿工(参与挖矿的人)通过计算机的算力去完成记账工作,拥有计算能力的专业计算机就是所谓的“矿机”。
优点:①完全“去中心化”,节点自由进出,减少了建立和维护中心化信用机构的成本。②只要网络破坏者的算力不超过全网总算力的50%,网络的交易状态就能达成一致,历史记录也无法篡改。③投入算力越多,获得的记账权概率也就越大,越有可能产生新的区块奖励。
缺点:①目前,比特币挖矿会造成大量的算力和能源浪费。②挖矿的激励机制会造成挖矿算力的高度集中。③结算周期长,每秒最多结算7笔交易,不适合商业应用。
(2)权益证明机制(POS)。权益证明主要是通过持有Token(代币)的数量和时长来决定你获得记账的概率,类似于股票的分红制度,持有股权越多,越能获得更多的分红。Token相当于区块链系统的权益,目前很多数字资产用POS发行新币。
优点:①降低了POW机制的资源浪费。②加快了运算速度,是工作量证明的升级版。
缺点:节点拥有币龄越长,获得记账权的概率越大,会引发“马太效应”,富者越富,权益就会越来越集中,从而失去公正性。
(3)委托权益证明机制(DPOS)。所谓委托权益证明是基于POS衍生出的更专业的解决方案,指的是,拥有Token的人给固定的节点投票,选举若干代理人,由代理人负责验证和记账。为了激励更多人参与竞选,系统会生成少量代币作为奖励。
优点:DPOS能够极大地提高区块链处理数据的能力,甚至可以实现秒到账,还能大幅降低维护区块链网络安全的费用。
缺点:“去中心化”程度较弱,代理节点由人为选出,公平性相对较低,由代币的增发来维持代理节点的稳定性。
(4)验证池共识机制。目前,验证池共识机制行业链大范围在使用的共识机制。
优点:不用依赖代币,也可以实现秒级共识验证。
缺点:“去中心化”程度弱,更适合多方参与的多中心商业模式。
3.共识机制的评价标准
区块链上采用不同的共识机制,会对系统整体性能产生不同影响。综合考虑各共识机制的特点,我们可以从以下四个维度来综合评价各共识机制的技术水平:
(1)扩展性。好的共识机制,能够支持网络节点扩展。扩展性是区块链设计要考虑的关键因素之一,根据对象不同,扩展性又可以分为系统成员数量的增加和待确认交易数量的增加。扩展性主要考虑的是,当系统成员数量、待确认交易数量增加时,系统负载和网络通信量的变化,通常以网络吞吐量来衡量。
(2)资源消耗。所谓资源消耗,就是在达成共识的过程中,系统所要耗费的计算资源大小,包括CPU、内存等。区块链上的共识机制,可以借助计算资源或网络通信资源达成共识。以比特币系统为例,基于工作量证明机制的共识,需要耗费大量的计算资源进行挖矿,提供信任证明,完成共识。
(3)安全性。好的共识机制,不仅可以防止二次支付、自私挖矿等攻击,还拥有良好的容错能力。以金融交易为驱动的区块链系统,在实现一致性的过程中,最主要的安全问题就是如何防止和检测二次支付行为。自私挖矿采用适当的策略发布自己产生的区块,就能获得更高的收益。
(4)性能效率。不同于传统的第三方支持的交易平台,区块链技术是通过共识机制达成一致的。比特币系统每秒最多只能处理7笔交易,无法支持现有的业务量。