共识算法-DPoS(股份授权证明)算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yang731227/article/details/83991332

title: 共识算法-DPoS(股份授权证明)算法
tags: 区块链,共识算法,DPoS


DPoS

        PoW机制和PoS机制虽然都能有效地解决记账行为的一致性共识问题, 但是现有的比特币PoW机制纯粹依赖算力, 导致专业从事挖矿的矿工群体似乎已和比特币社区完全分隔, 某些矿池的巨大算力俨然成为另一个中心, 这与比特币的去中心化思想相冲突。 PoS机制虽然考虑到了PoW的不足, 但依据权益结余来选择, 会导致首富账户的权力更大, 有可能支配记账权。 股份授权证明机制( Delegated Proof of Stake, DPoS) 的出现正是基于解决PoW机制和PoS机制的这类不足。

DPoS 原理

        以比特股为例来说, DPoS机制是让每一个持有BTS( 比特股发行的一种加密货币) 的人对为整个系统资源当代表的人进行投票, 而获得票数最多的101个代表将进行交易打包计算。 对此, 可以理解为有101个矿池, 这101个矿池彼此的权利是完全对等的。 那些握着BTS选票的人可以随时通过投票更换这些代表( 矿池) , 但如果他们提供的算力不稳定, 计算机宕机或试图利用手中的权力作恶, 那将会立刻被愤怒的选民们踢出整个系统, 而后备代表可以随时顶上去。 从某种角度来看,DPoS有点像美国的议会制度, 只不过不是四年一次选举, 而是时刻都在选举中。

DPoS 运行机制

DPoS在PoS 股份授权证明机制引入了“受托人”的角色。运作机制如下:

1.所有持币人投票选出101受托人负责签署区块。这个过程相当于股东会选举董事会(董事会有101个人),董事会代替股东决策公司运营。因为董事会的人数(101人)相比较全部的股东的人数少很多很多,所以意见也比较容易同意,所以效率会更高。(相较于PoW每10分钟产生一个区块,DPoS每3秒钟即可产生一个区块。)

2.DPoS对于分叉的处理也采用是最长链。每个受托人必须按照生产排程,轮流产生区块。大家必须轮到自己的时候才能出块。

3.如果有恶意节点产生分叉,假设A,C都是诚实节点,B是恶意节点,由于B产生区块的速度慢于A,C合力产生区块的速度,最长链胜出规则,诚实节点的链会胜出。同一个节点要产生重复两个区块的速度也要慢于诚实节点合作产生区块的速度,所以最长链胜出规则会保证诚实节点的链会胜出。

4.如果A、B、C三个受托人的网络有段时间是碎片化、各自为政的,在短期内的确有可能三链并行,但一旦网络连结恢复,短链自然会向最长的链回归。

因为受托可签署人数为奇数,所以两大派系势均力敌僵持不下的情况不会维持太久,最终势必会有其中一方的链更长。

DPoS的优缺点

优点

  • 能耗更低: DPoS机制将节点数量进一步减少到101个,在保证网络安全的前提下,整个网络的能耗进一步降低,网络运行成本最低。

  • 更加去中心化: 相比PoW的算力掌握在几个大矿池手中,而矿池是中心化的;相比PoS,小散不挖矿,大户挖矿,币也会越来越集中。而DPoS使得币更加分散化,每个拥币者都有根据币数量的权力,但实际情况是小散没啥动力投票,大户有大的话语权。

  • 效率更高: 每个块的时间为10秒,一笔交易(在得到6-10个确认后)大概1分钟,一个完整的101个块的周期大概仅仅需要16分钟。

缺点

  • 投票积极性低: 小散投票积极性不高(90%+的人为进行过投票)。其实这跟民主社会,投票积极性不高的道理是一样的,投票没有多少收益,而不投票能避免投票所花的成本。

  • 坏节点处理效率低: 坏节点不能被即时处理,总是要经过一个选举才能清除坏节点,这样会给网络造成安全隐患。

猜你喜欢

转载自blog.csdn.net/yang731227/article/details/83991332