区块链技术-共识算法
作为区块链的发端者,比特币所采取的POW共识算法的弊端已经日益凸显,因此为了解决能源消耗过高等问题,新的共识算法不断推出。本文将介绍Pow,Pos,DPOS等三个主流共识算法。
1.POW
Proof of Work:工作量证明机制
基本原理:按劳分配,网络中的节点通过提供算力,不断来计算合适的区块值,最早成功计算出区块值的节点,获得该节点的连接权和节点的奖励金。每一个区块计算难度,由算法根据当前全网算力自动调整,区块奖励逐步减半。
优点:
- 早期参与用户少时,可以获得大量虚拟货币,因此可以快速聚拢用户。
- 以挖矿的机制发型货币,实现了去中心化的随机公平
缺点:
- 算力由CPU->GPU ->FPFA->ASIC矿机不断发展,脱离了最早的个人挖矿,算力主要由矿厂提供,而60-70%的矿场集中在中国,这就产生了大量的能源浪费和中心化的担忧。
- 比特币区块奖励按阶段减半,可能在未来存在着算力减少的担忧。
- 由于算力的中心化,甚至出现了双花攻击的可能性。
三角定律:以BTC的POW为例,BTC具有极强的安全性(相对于其他的共识机制)和去中心化,但是因此TPS受到了限制。
发展: 中本聪最早设计的POW,是出于用户的算力差不多都是CPU挖矿的情况下,BTC可以在具备安全性的同时,达到良好的去中心化。然而,目前算力的极大发展和算力的集中。使得去中心化反而最终变成了中心化。
2.PoS
Proof of Stake:股权证明机制
基本原理:
- 初始化:在创世区块内写明了股权分配比例,之后通过转让、交易的方式(通常就是IPO),逐渐分散到用户手里。
- 运行:根据持有货币的数量和时间稳定积累币龄,区块链根据币龄相对应减少挖矿难度(仍然基于HASH运算),当节点挖矿成功,发放利息,清空币龄。
优点:
- 节能,节点只需要开启客户端即可,不需要大量堆算力造成资源浪费。
- 去中心化,中本聪想要做到的去中心化,来实现一个自由的虚拟货币。利用PoS共识算法,每个用户都能参与到货币的流通中来,做到了人人可挖矿,而不是比特币的矿场机制。
- 安全性:相对POW的51%算力攻击。在POS中,用户想要购买到51%的货币,需要耗费巨额货币,发动攻击。然而,当获得51%货币时,用户已经是区块链的维护者,不会再发动攻击。
- 避免紧缩,PoW机制的比特币存在着用户丢失货币导致的货币紧缩。PoS的货币则不存在这个问题,货币按一定的年利率增长。
- 更快的出块速度:币龄越高,节点挖矿难度越低,从而提高出块速度。
缺点:
- 货币集中:由于PoS机制,货币首次只能通过IPO的方式公开募股。这就会导致’少数人’(通常是开发者)获得大量成本极低的加密货币,没有做到真正分散。
- 难以面对分叉:对于一个诚实节点而言,当链上出现分叉,它会同时对多条链进行挖矿。因为一但某条链被确认为最长链,它将受到损失。多条链,同时变长。最长链算法将不再适合。需要对此行为进行惩罚。
- 为解决这个问题,很多采用PoW+PoS的双重机制,通过PoW挖矿发行加密货币,使用PoS维护网络稳定。或者采用DPoS机制,通过社区选举的方式,增强信任。
3. DPoS
Delegated Proof Of Stake : 授权股份证明机制
基本原理:由受托人来创建区块,受托人来自于普通用户节点,需要首先进行注册,然后通过宣传推广,寻求社区信任并投票,获得足够排行到前101名的时候,才可以被系统接纳为真正可以处理区块的节点,并获得铸币奖励。比特币是通过计算机算力来投票,算力高的自然得票较多,容易获胜。DPoS机制类似于股份制公司,普通股民进不了董事会,要投票选举代表(受托人)代他们做决策。
优点:
- 更快的确认速度:每个块为10秒,一笔交易在得到6-10个确认后,大概一分钟。而一个完整的101个块的周期,是101*10,大概16分钟即可。而PoS和PoW则需要约1小时。
- 能耗更低:维护整个区块链网络仅需101个节点,无疑说是很省电了。
缺点:
- 投票的积极性不高,绝大多数持股人从未参与投票,因为投票需要时间,精力以及技能,这恰恰是大多数投资者所缺乏的。
- 坏节点:社区选举不能避免坏节点的出现,对网络造成了安全隐患。