美文网首页
共识算法2 (DPOS)

共识算法2 (DPOS)

作者: 李亚军_4a8a | 来源:发表于2018-03-12 21:55 被阅读0次

PoW和PoS是目前公有链最常用的共识机制,但是PoW和PoS在系统的处理能力上不足。主要体现在两个方面:一是区块速度不够快,例如比特币平均10分钟出一个区块,以太坊平均15s出一个区块;二是,每个区块的交易容量有限,例如比特币的区块大小在1M左右,大概能够包括2000笔交易。

这样的问题导致了以PoW和PoS做为共识机制的公有区块链能够支持的应用场景(DAPP)非常受限。例如,去中心化的交易所要求的性能至少达到10K TPS。再例如,即时通讯应用,你不可能要求用户等待几十秒才能成功发送或收到一条消息。

究其根源,这是由于去中心化系统本身的特性决定的。根据CAP原则,一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。(参考:CAP原则

针对这个问题,目前有两个典型的解决思路。

BTC、ETH等的解决思路是,在保持去中心化的前提下,再通过各种链上和链外的技术方案来提升系统的处理能力。典型的链上方案有扩容、分片等,典型的链外技术有闪电网络、雷电网络、plasma等。

EOS的DPOS采用了另外一条解决思路,即牺牲一些去中心化的来达到性能的提升。EOS的DPOS来源于其底层采用的石墨烯。石墨烯是区块链工具组,由比特股团队cryptonomex开发,采用C++编写。(参考:CryptonomexGraphene Github

DPOS共识算法的出块节点(区块生产者)由持币用户投票选举出来,每个用户投票权重按用户的持币比例进行计算。一旦当选任何人都可以参与区块的生产。

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

EOS每3秒生成一个区块,并且在给定的时间点,只有一个合法的区块生产者 。如果在预定的时间点,合法的区块生产者没有生成区块,则跳过该时间点的区块。(来源:EOS DPOS

EOS项目目前还处于开发阶段,项目还没有投入运行。但是EOS底层采用的石墨烯技术已经比较成熟。基于石墨烯底层的BTS和STEEM可以达到1.5S的平均确认速度和有限条件下实测3300TPS的数据吞吐量。BTS已经成功运行3年多,STEEM也已经成功运行超过1年。另外,石墨烯技术被YOYOW、OpenLedger等知名区块链项目采用,形成了产业趋势。(注:BTS、STEEM的DPOS的大致原理和EOS的DPOS相同,只是在一些细节的参数选择上有所区别,例如,BTS票选的是101个区块生产者。)

EOS通过并行链的方式,号称最高可以达到数百万TPS,并且并行本地链甚至可以达到毫秒级的确认速度。

相对于ETH的Casper(ETH PoS名称),EOS的DPOS的优势还是比较明显的:EOS共识周期短,处理能力远远高于ETH;并且EOS在预防分叉和预防DoS攻击上也更有优势。

但是,正如文章开头所讲的,DPOS设计的逻辑是通过牺牲一定的去中心化来换取系统的性能。那么这点也正是DPOS被攻击最多的一点。

事实上,虽然BTC、ETH等是按照完全的去中心化来设计的,但是目前BTC和ETH的绝大部分算力被控制在少数的矿场手中。(ETH目前还是POW,ETH Casper PoS还在测试中。)从这个角度看,反而EOS的DPOS实际上更能做到去中心化(平均分配权力到21个节点)。

可能完美的去中心化只能存在于理想中。这篇文章《去中心化,不可避免的乌托邦》写的挺有意思,摘录一部分如下:

DPOS完美么? 当然不。但在人类进化到共产主义之前,在政治制度依旧以代议民主为核心,公司制度依旧以董事会为核心的当下,我想不出任何共识机制,能比DPOS更加先进。这种先进性,并非来源于技术,而是来源于我们人类本身。

-------------------
附:希望了解更多细节的可以参考详解DPOS共识算法 和 Bitshares DPOS

相关文章

  • IoTex将区块链应用在物联网的尝试

    共识算法 iotex提出了自己的Roll-DPos共识算法,结合DPoS、PBFT,以及random beacon...

  • EOS技术白皮书翻译1-DPOS

    共识算法DPOS EOS.IO系统利用唯一的分布式共识算法DPOS(Delegated Proof of Stak...

  • 共识算法2 (DPOS)

    PoW和PoS是目前公有链最常用的共识机制,但是PoW和PoS在系统的处理能力上不足。主要体现在两个方面:一是区块...

  • DPOS共识算法

    译者介绍:这篇“缺失的白皮书”是对委托权益证明(DPOS)的分析,目的是为DPOS的工作原理及其鲁棒性根源提供一个...

  • EOS解读--共识

    共识简介 1. DPoS共识算法概要 DPOS算法分为两部分:选择一组区块生产者和调度生产区块。要确保选举过程由股...

  • EOS白皮书几点解读(一)

    一,共识算法 21个节点,作为区块生产者,确保了共识算法(DPOS)的稳定性。20名通过得票数top20选出,第2...

  • ABitchain项目周报 2018年02月12日

    核心开发工作: 1.主链开发: 1.1共识: 确立DPOS详细实现细节—100% 开发DPOS投票机制、洗牌算法、...

  • EOS的超级节点治理

    EOS采用的是DPOS共识机制(区块链石墨烯技术),DPOS被认为是目前唯一能满足区块链应用性能需求的共识算法。 ...

  • EOS是什么?新人可以来了解一下其主要特征(下)

    翻译自:what-is-eos-key-features-explained 委托权益证明(DPoS)共识算法 越...

  • 另类的共识算法QPOS协议

    常见的共识算法有PoW,PoS,dPoS,PBFT,这些大家已经非常熟悉,但是有一另类的共识算法QPoS,却很少有...

网友评论

      本文标题:共识算法2 (DPOS)

      本文链接:https://www.haomeiwen.com/subject/vdvqfftx.html