巴比特向大家分享了最全共识算法盘点,其中包含工作量证明,共识算法等知识点,遇到此问题的同学们可以参考下
共识算法是所有区块链/DAG技术的基础,他们也是区块链/DAG平台最重要的组成部分。没有它们(共识算法机制),我们就只会有个无法改变的数据库而已。下面是主要共识算法的列表,而且我们可以评估它们的好处和坏处。
1.工作量证明 (PoW)
好处:
自从2009年开始,就可以进行了测试,到如今仍然很稳定。
坏处:
速度很慢。
消耗大量的能源,并且对环境不好。
容易受到规模经济的影响。
类型:竞争性共识算法。
解释:这是第一个共识算法机制(中本聪在他的文章中提出)来创建分布式无需信任的共识,并且解决双花问题。工作量证明不是一个新的想法,但是中本聪将这个和其他的概念- 加密签名,默克尔树以及P2P网络结合起来- 从而形成了分布式共识系统,其中数字货币是首个基础应用,这充满创新。
区块链中的参与者(矿工)必须要解决复杂但是无用的计算问题,从而将转账区块加入到区块链上。
基本上,这是来保证矿工花费成本/资源(矿机)来完成这项工作,从而表示他们不会欺骗区块链系统,并且对系统造成伤害,会导致他们损失自己的投资;因此伤害他们自己。
这个问题的难度会随着时间改变,这是为了保证恒定的区块生成时间。有时候会发生一种情况,其中有超过一个矿工在同时解决这个问题。在那种情况下,矿工会选择其中一个链,而且最长的链会是获胜者。所以假设大多数矿工在挖一个链,那么这条链就会发展最快,并且是最值得信任的。因此只要50%的矿工是诚实的,那么比特币就是安全的。
2.权益证明
好处:
能源利用效率高
攻击成本更高
不容易受到经济规模的影响
坏处:
无利害关系攻击
类型:竞争性共识算法。
解释:权益证明是工作量证明的替代方案,为了解决其中的问题。和挖矿不同,你需要在系统中持有权益(代币)。所以,如果你只有10%的代币,那么你挖出下个区块的概率为10%。
挖矿需要很多的算力来解决不同的加密计算,从而解锁这些加密难题。算力意味着,工作量算法需要大量的电力需求。在2015年,1个比特币大约需要1.57个美国家庭每天的耗电量。所以,为了节省能源,权益证明算法诞生了。
在权益证明中,一美金是一美金。例如,假设有10,000个矿工,每个人花费1美金/分钟,就会比矿池花费10,000美金/分钟拥有更少的算力。但是在权益证明中,如果你不能一次使用完全。这里的一美金还是一美金。因此,这不会受到经济规模的影响。
并且,攻击权益证明系统比攻击工作量证明系统更加昂贵。对权益证明进行51%攻击的代价,是要让所有ASIC矿机全部倒下。
这意味着,每次你攻击权益证明系统,都会失去权益抵押,但是在工作量证明,如果你攻击系统,但是你不会失去挖矿设备或者代币;你只不过是让攻击很难实施。
但是权益证明会出现个问题,就是无利害关系攻击问题,其中区块生成者通过向多个区块链进行投票,就不会损失任何东西,从而防止达成共识。
不像工作量证明系统(你需要做大量计算来扩展一个链),同时为挖几个链也只有很少的成本。很多项目尝试通过不同方案来解决这个问题。例如,上面所说,其中一个解决方案就惩罚做坏事的矿工。
3.委托工作量证明(DPOW)
好处:
节能环保
提高安全性
可以通过非直接地给比特币(或者任何其他安全的链)提供安全性,这是通过为最贵
坏处:
只有使用工作量证明或者权益证明
在公证员激活模式下,不同节点的哈希算力必须要标定,不然哈希算力之间的区别会爆炸(以下会有更多的解释)
类型:合作型共识
1.工作量证明 (PoW)
好处:
自从2009年开始,就可以进行了测试,到如今仍然很稳定。
坏处:
速度很慢。
消耗大量的能源,并且对环境不好。
容易受到规模经济的影响。
类型:竞争性共识算法。
解释:这是第一个共识算法机制(中本聪在他的文章中提出)来创建分布式无需信任的共识,并且解决双花问题。工作量证明不是一个新的想法,但是中本聪将这个和其他的概念- 加密签名,默克尔树以及P2P网络结合起来- 从而形成了分布式共识系统,其中数字货币是首个基础应用,这充满创新。
区块链中的参与者(矿工)必须要解决复杂但是无用的计算问题,从而将转账区块加入到区块链上。
基本上,这是来保证矿工花费成本/资源(矿机)来完成这项工作,从而表示他们不会欺骗区块链系统,并且对系统造成伤害,会导致他们损失自己的投资;因此伤害他们自己。
这个问题的难度会随着时间改变,这是为了保证恒定的区块生成时间。有时候会发生一种情况,其中有超过一个矿工在同时解决这个问题。在那种情况下,矿工会选择其中一个链,而且最长的链会是获胜者。所以假设大多数矿工在挖一个链,那么这条链就会发展最快,并且是最值得信任的。因此只要50%的矿工是诚实的,那么比特币就是安全的。
2.权益证明
好处:
能源利用效率高
攻击成本更高
不容易受到经济规模的影响
坏处:
无利害关系攻击
类型:竞争性共识算法。
解释:权益证明是工作量证明的替代方案,为了解决其中的问题。和挖矿不同,你需要在系统中持有权益(代币)。所以,如果你只有10%的代币,那么你挖出下个区块的概率为10%。
挖矿需要很多的算力来解决不同的加密计算,从而解锁这些加密难题。算力意味着,工作量算法需要大量的电力需求。在2015年,1个比特币大约需要1.57个美国家庭每天的耗电量。所以,为了节省能源,权益证明算法诞生了。
在权益证明中,一美金是一美金。例如,假设有10,000个矿工,每个人花费1美金/分钟,就会比矿池花费10,000美金/分钟拥有更少的算力。但是在权益证明中,如果你不能一次使用完全。这里的一美金还是一美金。因此,这不会受到经济规模的影响。
并且,攻击权益证明系统比攻击工作量证明系统更加昂贵。对权益证明进行51%攻击的代价,是要让所有ASIC矿机全部倒下。
这意味着,每次你攻击权益证明系统,都会失去权益抵押,但是在工作量证明,如果你攻击系统,但是你不会失去挖矿设备或者代币;你只不过是让攻击很难实施。
但是权益证明会出现个问题,就是无利害关系攻击问题,其中区块生成者通过向多个区块链进行投票,就不会损失任何东西,从而防止达成共识。
不像工作量证明系统(你需要做大量计算来扩展一个链),同时为挖几个链也只有很少的成本。很多项目尝试通过不同方案来解决这个问题。例如,上面所说,其中一个解决方案就惩罚做坏事的矿工。
3.委托工作量证明(DPOW)
好处:
节能环保
提高安全性
可以通过非直接地给比特币(或者任何其他安全的链)提供安全性,这是通过为最贵
坏处:
只有使用工作量证明或者权益证明
在公证员激活模式下,不同节点的哈希算力必须要标定,不然哈希算力之间的区别会爆炸(以下会有更多的解释)
类型:合作型共识
解释:委托工作量证明是混合型共识方法,可以让一个区块链能够利用第二个区块链通过哈希算力提供的安全性。这是通过很多能够将数据从第一个区块链加到第二个区块链的节点来完成的,这通常会要求两个区块链进行进行妥协,从而削弱第一个区块链的安全性。
基于委托工作量证明算法的区块链可以使用工作量证明或者权益证明方法来实现功能;并且它能够将自身依附于任何工作量证明的区块链。但是,比特币的哈希力现在已经为通过委托工作量证明进行安全保护的区块链,提供了最高级别的安全保护。下面的图例,显示了主要区块链和它所依附的工作量证明区块链之间的关系:
在委托工作量证明系统中,有两类节点:公证人节点和普通节点。64个公证人节点是通过委托工作量证明的区块链权益持有者选出的,然后将确认的区块从委托工作量证明区块链添加到依附的工作量证明区块链。一旦区块完成,它的哈希就会通过33个公证人节点签名,然后添加到比特币转账,从而在比特币区块链上记录下委托工作量证明的区块哈希,这也是被网络中大多数公证人节点所公正的。
为了防止矿工在公证人节点之间,这会降低网络的效率,所以设计了一种以两种模式运行的轮换挖矿方法。“无公证人”模式可以让整个网络节点来进行挖矿,和普通的工作量证明类似;但是,在公证人活跃模式下,网络公证人就会在降低困难度的情况下进行挖矿。在这个框架中,每个公证人都可以目前的困难度去挖矿,但是其他公证人节点必须要按照10倍的难度去挖矿,而且所有的普通节点会按照100倍的困难度去挖矿。