专栏首页nginx遇上redis区块链共识算法之DPOS(3)

区块链共识算法之DPOS(3)

DPOS(Delegated Proof of Share),代理权益证明共识机制,是一种 基于投票选举的共识算法,类似代议制民主。在 POS 的基础上,DPOS 将区块 生产者的角色专业化,先通过权益来选出区块生产者,然后区块生产者之间再轮 流出块。

DPOS 共识由 BitShares(比特股)社区首先提出,它与 POS 共识的主要 区别在于节点选举若干代理人,由代理人验证和记账。DPOS 相比 POS 能大幅 度提升了选举效率,在牺牲一部分去中心化特性的情况下得到性能的提升。

DPOS 共识机制不需要挖矿,也不需要全节点验证,而是由有限数量的见 证节点进行验证,因此是简单、高效的。由于验证节点数量有限,DPOS 共识被 普遍质疑过于中心化,代理记账节点的选举过程中也存在巨大的人为操作空间。

(1) EOS

EOS 系统中共有 21 个超级节点和 100 个备用节点,超级节点和备用节点 由 EOS 权益持有者选举产生。区块的生产按 21 个区块为一轮。在每轮开始的 时候会选出 21 个区块生产者。前 20 个区块生产者由系统根据网络持币用户的 投票数自动生成,最后一名区块生产者根据其得票数按概率生成。所选择的生产 者会根据从区块时间导出的伪随机数轮流生产区块。

EOS 结合了 DPOS 和 BFT(拜占庭容错算法)的特性,在区块生成后即进 入不可逆状态,因而具有良好的最终性。EOS 采用的石墨烯技术使其在理论上能够达到百万级别的 TPS,目前上线的测试网络的 TPS 达到数千量级。同时, 由于 EOS 的记账节点有严格的筛选制度,系统的安全性也很高。

DPOS 作为 POS 的变形,通过缩小选举节点的数量以减少网络压力,是一 种典型的分治策略:将所有节点分为领导者与跟随者,只有领导者之间达成共识 后才会通知跟随者。该机制能够在不增加计算资源的前提下有效减少网络压力, 在商业环境的实现中将会具有较强的应用价值。

DPOS 为了实现更高的效率而设置的代理人制度,背离了区块链世界里人 人可参与的基本精神,也是 EOS 一直被质疑的地方。

(2) Cardano

Cardano 实行的共识机制 Ouroboros 可认为是 DPOS 共识的一个变种, 而 Cardano 团队更愿意将其表述为 Dynamic POS。与 DPOS 共识的相同之处 是,只有 Cardano 的代币 ADA 持有量超过一定数量的地址(官方数据 ADA 前 2%的地址)才有资格参与区块生产者的选举,持有 ADA 越多的用户,被选为区 块生产者的概率越大。

Ouroboros协议将物理时间分为纪元(epoch),然后再将纪元划分为区块 (slot),每个纪元持续5天,每个区块持续约20s。每个纪元的区块生产者在上 一个纪元就已经选定,并在下一个纪元中随机选定某个候选人充当各个区块的生 产者,一个候选生产者可能在一个纪元中对生产多个区块。

Cardano 团队认为 Ouroboros 不同于 DPOS 之处在于,Cardano 记账 人的选举过程是完全随机的,而不是利益相关方选举而来。Ouroboros 共识算 法中引入了一种抛硬币协议(coin tossing protocol),可以保证选举过程的完全随机性。据 Cardano 团队称,Ouroboros 是目前为止唯一在数学上证明能够 达成近似纳什均衡的 POS 共识机制,但其有效性仍需实际运行效果来检验。

本文分享自微信公众号 - nginx遇上redis(GGame_over_the_world)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深度学习算法(第25期)----机器翻译中的编码解码器网络

    深度学习算法(第24期)----自然语言处理(NLP)中的Word Embedding 前几期我们一起学习了RNN的很多相关知识,今天我们一起用这些知识,学习下...

    智能算法
  • 一文读懂分片基础原理, 数据分片, 跨分片交易, 区块链分片和缩放究竟是什么鬼?

    以太坊是所有区块链中一直与分片概念同步的底层平台,想要理解为什么以太坊开发者社区想要实现分片,重点是要理解分片是什么,以及这个解决方案为何如此有吸引力。

    区块链大本营
  • python中的encode( )和decode( )函数

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    于小勇
  • Rust 语言新人入门指南

    首先,学习 Rust 不能急躁。如果你抱着之前 1 天上手 Python, 2 天入门 Go 的经验和优越感来学习 Rust 的话,你可能会遭遇严重的失败感。如...

    MikeLoveRust
  • 你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗?

    答案分别为 1,2。对于这个答案我猜大多数人都能答出来。不过 i++ 和 ++i 这两个操作,在内部是如何实现的呢?

    好好学java
  • 零基础读懂分布式系统

    而不理解区块链的麻烦,在于会陷入到对「去中心化」、 「无需许可」等等概念以及「TPS」、「安全」等等问题失去语境的讨论中去。这不仅无助于我们去准确地分析和判断一...

    奋斗蒙
  • AI + Blockchain = ?

    往期mixlab的文章更多的是聊技术与设计之间的mix,但其实技术之间也有很多值得我们思考的mix点。所以今天抽空聊聊技术之间的mix。

    mixlab
  • 【Fractal】以太坊2.0 都要来了你还不知道 Casper 吗?

    《求真区块链》是 Fractal 思想库倾力打造的系列科普栏目,抱诚守真地输出科普内容,旨在让更多人的了解各项区块链技术的内在价值与差异。

    Fractal
  • 网络犯罪分子采取新策略,勒索软件增长超118%

    McAfee Labs在2019第一季度的最新威胁报告中称,平均每分钟在网络空间发现504个新的威胁,而伴随着犯罪分子采取新的策略和代码创新,勒索软件正在不断复...

    FB客服
  • 关于交易的gas 与gassPrice概念已经交易阻塞

    以太坊的交易是通过旷工从矿池中挖矿完成的,而挖矿是❓通俗讲就是将矿池中提交的交易按照价格高低进行筛选打包成块的过程

    大话swift

扫码关注云+社区

领取腾讯云代金券