预定公链开发视频课

黎跃春区块链博客


黎跃春,江湖人称春哥,孔壹学院、 链乎创始人,区块链职业教育布道师,通信和信息技术培养工程区块链高级授课专家。


链乎问答社区
链乎公众号

010 - 共识机制 - 股份授权证明机制 DPOS

作者:黎跃春

博客:http://liyuechun.org

官网:http://kongyixueyuan.com

什么是 DPoS

DPoS 即 Delegated Proof of Stake 译为股份授权证明。 最早于2013年由比特股Bitshares提出,目的为解决PoW和PoS机制的不足。

DPoS 基本原理

对于PoS机制的加密货币,每个节点都可以创建区块,并按照个人的持股比例获得“利息”。DPoS是由被社区选举的可信帐户(受托人,得票数排行前101位)来创建区块。为了成为正式受托人,用户要去社区拉票,获得足够多用户的信任。用户根据自己持有的加密货币数量占总量的百分比来投票。DPoS机制类似于股份制公司,普通股民进不了董事会,要投票选举代表(受托人)代他们做决策。

这101个受托人可以理解为101个矿池,而这101个矿池彼此的权利是完全相等的。那些握着加密货币的用户可以随时通过投票更换这些代表(矿池),只要他们提供的算力不稳定,计算机宕机、或者试图利用手中的权力作恶,他们将会立刻被愤怒的选民门踢出整个系统,而后备代表可以随时顶上去。

DPoS的伪代码实现

for round i //分成很多个round,round无限持续
   dlist_i = get N delegates sort by votes //根据投票结果选出得票率最高的N个受托人
   dlist_i = shuffle(dlist_i) //随机改变顺序
   loop //round完了,退出循环
       slot = global_time_offset / block_interval
       pos = slot % N
       if dlist_i[pos] exists in this node //delegate在这个节点
           generateBlock(keypair of dlist_i[pos]) //产生block
       else
           skip

DPoS 运行机制

PoS 股份授权证明机制引入了“受托人”的角色。

DPoS 的运作机制如下:

  1. 所有持币者先选出受托人负责签署区块:选举过程比较类似由股东会选举出董事会(101人代表),代替股东会做出日常营运决策。授权董事会后,决策会更有效率 (相较于PoW每10分钟产生一个区块,DPoS每3秒钟即可产生一个区块。)

  2. 与PoW相同,DPoS的规则也是最长链胜出。其中每个受托人必须按照生产排程,轮流产生区块,拿一间工厂作为比方,假设排程排定A、B、C分别轮早、中、晚班生产,A在晚上是无法刷门禁卡进入厂房生产的,同样地,C在早班时段也是无法进厂房的。

  3. 今天有一些恶意的节点生产了分叉区块,假设A、C都是诚实的节点,只有B节点是恶意的,由于B产生区块的速度(每9秒只能产生1个)慢于A、C合力产生区块的速度(每9秒产生2个),根据最长链胜出的规则,诚实的节点还是会胜出。

  4. 同理,因为一个节点要产生重复两个区块的速度必定慢于诚实区块产生的速度,所以根据最长链胜出的规则,诚实的节点还是会胜出。

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

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

对恶意节点的惩罚

注册成为候选受托人需要支付一笔保证金,就像是参与民意代表选举前缴纳的保证金一样,一般来说担任受托人约两周后才可达到损益平衡,这促进了受托人的稳定性,确保至少会挖满两周的矿。

惩罚机制为:不按排程产生区块的节点将在下一轮被投票剔除,也会被没收之前缴纳的保证金。

DPoS是效率较PoW和PoS更高、产生区块的速度更快;

虽然恶意的节点将在下一轮投票被踢出,但单个恶意区块在短期仍有可能是有效的状态。

短期虽然可能存在恶意区块,但长期下来,可以透过受托人的自主选择来回归链条的有效性

假定现在总共有3个受托人A、B、C,D加入排程后,只要确认之前的区块中,有2/3以上个受托人遵循的链是哪条就可以了。

DPoS的优缺点

优点

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

  2. 更加去中心化。目前,对于比特币而言,个人挖矿已经不现实了,比特币的算力都集中在几个大的矿池手里,每个矿池都是中心化的,就像DPoS的一个受托人,因此DPoS机制的加密货币更加去中心化。PoS机制的加密货币(比如未来币),要求用户开着客户端,事实上用户并不会天天开着电脑,因此真正的网络节点是由几个股东保持的,去中心化程度也不能与DPoS机制的加密货币相比。

  3. 更快的确认速度。每个块的时间为10秒,一笔交易(在得到6-10个确认后)大概1分钟,一个完整的101个块的周期大概仅仅需要16分钟。而比特币(PoW机制)产生一个区块需要10分钟,一笔交易完成(6个区块确认后)需要1个小时。点点币(PoS机制)确认一笔交易大概也需要1小时。

缺点

  1. 投票的积极性并不高。绝大多数持股人(90%+)从未参与投票。这是因为投票需要时间、精力以及技能,而这恰恰是大多数投资者所缺乏的。

  2. 对于坏节点的处理存在诸多困难。社区选举不能及时有效的阻止一些破坏节点的出现,给网络造成安全隐患。

版权声明:博客中的文章版权归博主所有,未经授权,禁止转载,转载请注明出处,合作请联系:liyc1215(微信)

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦