所谓的共识机制,就是在区块链系统中,为保证每一笔交易的一致性而预先设置的一种类似约法三章的条文,从而促使全部参与者达成共识。区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。尽管密码学占据了区块链的半壁江山,但是共识机制是保障区块链系统不断运行下去的关键。目前主要的共识机制有两种,其一是工作量证明机制,通常称作POW,其二是权益证明机制通常称作POS。
区块链的共识机制之一——POW(工作量证明机制)
通俗来讲,POW的意思有点儿类似我们的社会主义,大家按劳分配,多劳多得,就如同大家在比特币系统中一起进行数学运算,算的最快的那个人才能获得奖励。
POW的优点是完全的去中心化,人人可以参与争取获得记账权,并且其安全性极高,若想破坏系统则需要投入非常大的成本,除非破坏者拥有能够压倒大多数人的算力,否则便无法成功。但是与其他的共识机制相比较而言,POW也有它的缺点,即每次达成共识时均需要所有人共同参与运算,这样一来造成的直接后果就是效率非常低下、资源消耗高且确认所需时间十分长,更严重的是其缺乏一定的有效监管。
区块链的共识机制之二——POS(权益证明机制)
若与POW放在一起比较的话,POS就像是资本主义,大家按资产分配,钱能生钱,类似于股票的分红制度,持有股权相对多的人就能够获得更多的分红。
POS的优点在于:不需要所有人共同确认,从而缩短了共识达成的时间,减少能源的消耗。缺点也很明显:它并不能改变运算的本质,还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。另外,在某一个人或某一组织机构权力过大的情况下,很有可能造成中心化的结果,信用基础不再牢固。
由POS衍生出的DPOS与POS原理相同,两者的区别就在于DPOS只是选了一些“选举代表”。主要原理是由代表验证和记账,其合规监管、性能、资源消耗和容错性与POS相似。类似于董事会投票,持币者投出一定数量的节点,代表他们进行验证和记账。一旦代表的表现不尽人意,代币持有者可以用投票把代表选出。
当然除了POW和POS两个最经典和应用最为广泛共识机制,还有一些比较优秀的共识机制,比如以拜占庭容错问题为原理的PBFT,记账人之间通过拜占庭容错算法来达成共识的dBFT机制,基于传统的分布式一致性技术的POOL验证池等等。但是由于共识机制是为解决一些特定的问题而生,真正必须满足某些特定的需要,因此没有一种共识机制是完美无缺的,每种共识机制都有其优缺点。