美文网首页区块链研习社金马带你定投区块链区块链
【字幕组】委托权益证明:特征&弊端(更新版02)

【字幕组】委托权益证明:特征&弊端(更新版02)

作者: 白马少年说 | 来源:发表于2018-06-10 18:37 被阅读10次

    本文由币车HIT(biche.yaofache.com)大V养成计划支持


    本文翻译自:《DELEGATED PROOF OF STAKE: FEATURES AND TRADEOFFS》

    译者:区块链中文字幕组 白马少年

    翻译时间:2018-05-15

    校对:区块链中文字幕组 刘祯

    校对时间:2018-05-31


    DPoS 攻击方式

    下面,我们将涉及到主要的对 DPoS 共识算法的攻击方式,并评估它们所带来的威胁。

    ● 无损益攻击

    “无损益攻击”问题是 PoS 方案中的一个缺陷。具体来说,它指的是这样一个事实,即在分叉的情况下,验证者在两条链上验证的附加成本非常低。这是验证者的最佳策略,因为它可能是最有利可图的。

    DPoS 在实际应用中不会遇到无损益攻击 (nothing-at-stake) 的问题。DPoS 中的 Token 持有者使用他们的手中权益的对验证者进行投票,而不是对区块进行投票。DPoS 采用一个承认最长链的算法。由于验证者的数量是固定的,并且每一轮都会确定顺序,所以不会出现产生超过主链长度的分支。

    image

    DPoS 在正常网络条件下产生区块情况

    如果一个单独的区块生产者在多个分叉上生产区块(如下图所示),主链仍然会与其他诚实区块生产者一起前进。最长的链被认为是公认链,所以出块人对主链不会造成任何伤害。

    image

    即使大部分区块生产者相互串通在几个分叉上生产区块(如下图所示),那些诚实的少数出块人仍然会确定最长的链。在这些情况下,都会有明确的加密证据表明,区块生产者已经在多个相互冲突的链条上建立了区块,并且他们可能因此而被淘汰。它也可以基于拜占庭行为的加密证据引入附加条件和其它协议级别的惩罚措施,但这些附加功能并不总是必要的。

    image

    对于区块生产者来说,以较少的额外成本在多个分叉上创建区块是可能的,但有一些和他们利益相关的东西 ——他们的工作,声誉和预期收益。因为可以检测到拜占庭的行为,所以这是一个冒险的举动。实际上要真正破坏链条的完整性,就需要绝大多数代表之间相互勾结 ——在这一点上,攻击变得不那么重要了,而更多地涉及传统的拜占庭容错。

    有关详细解释,请参阅Dan Larimer的DPoS白皮书。

    ● 利用低投票率

    这是对 DPoS 区块链最明显的攻击。这次攻击的核心在于一个不容忽视的事实,即在任何投票系统中,只有极少数参与者出现并投票。在区块链的 Token 投票系统中,任何拥有少量股权的人都不太可能通过投票对平台的方向产生实际影响。因此对于他们带来的影响而言,都不需要在任何投票上花时间。但拥有少量权益的选民可能会出现一些“理性的无知”—— 研究如何投票所花费的时间成本可能比投票带来的收益更高。

    DPoS 尝试通过允许代理投票来减少并纠正这种情况,也就是说用户可以将他们的投票权力转让给他们认为更为可靠的另一个用户。在这种情况下,收益才有可能大于成本。尽管如此,这一系列程序作用的结果通常是总体选民投票率很低,投票主要由超级大户,交易所和钱包提供商完成。Vitalik在其关于区块链治理的博客文章中探讨了这个问题。

    举例来说,假如只有 Token 总量的 10% 用于投票。那么占总供应量 5% 以上的大户(或一群大户)可以介入并接管治理。就本文讨论而言,BitShares 的顶级区块生产者已获得约33%的同意。大多数 DPoS 系统使用同意投票方式,用户在所有候选人中进行投票,投票数最多的候选人成为区块生产者。这使得超级大户接管投票过程变得更加困难。

    需要提出警告的是,任何对投票系统攻击的事件对整个网络来说都是不利的,即使最后真的成功攻击了网络,这也会使得 Token 的价格下跌,于己于他无任何好处。而在网络中拥有重大权益的人,更应该通过投票保护 Token 的价值。但可能会存在的情况是,最终进行投票的 Token 持有者比例很小,那么为了整体利益,那些持有大量权益的人更应该投票。这样一来的话,如果要想达成攻击,他们(攻击者)必须要购买足够多的 Token 才能控制投票结果。

    类似于其它 PoS 系统,DPoS 可能会遵循帕累托原则,即其中一小部分涉及巨大利益的人执行与决策大部分工作。从结果上来看这并不是一件坏事,因为涉及巨大利益,所以他们更愿意保护和改善网络。

    事实上,参与度是一个困扰着所有 PoW 系统的问题,包括以太坊提出的 Casper PoS 系统。由于 ETH 在公用事业之外具有实用性,因此可能只有流通 ETH 中的一小部分实际上将被用于保证网络安全。如果这只占 ETH 总量的很小比例,那么 ETH 大户可以随时介入,使用他们的 Token ,并接管验证过程。这个威胁在这篇 Cosmos 的博客文章中有很好的描述。

    DPoS 模型的一个优势是,在大多数设计中,DPoS 令牌可以将其投票权委托(可以直接授予区块生产者或代理投票者),但仍然保留其所有效用。因此 Token 持有者在参与投票系统时,除了决定如何分配投票权的时间之外没有任何成本。虽然以太坊的小股东可能会利用验证池来获得利息,但加入验证池的过程可能并不太容易,而且这样做时会锁定你的Token。DPoS 令牌持有者可以很容易地将他们的投票权委托给他们信任的人,以便对区块生产者进行适当的调查,并且他们仍然可以用自己的方式使用他们的 Token 。

    有些模型确实要求 DPoS 选民在投票时锁定他们 Token 一段时间,以便实现“风险共担”的目的。这促使用户在考虑到平台长期成功的情况下,推动其投入更多知情票,但同时它也限制了愿意投票的参与者数量。这是目前 EOS 社区内讨论的一个话题。

    选民的参与度很可能取决于一些事情——作为社会契约的一部分参与投票,社区如何更好的鼓舞选民,如何让用户投票或委托投票更为容易,等等。在这些方面,教育和易于使用的投票界面将尤为重要。

    ● 贿赂攻击

    另一种攻击,以及在实践中看到的一种攻击,是那些为投票买单的区块生产者。这个问题影响到了 Lisk 和 Steem 。这是否应该被定性为攻击则取决于我们如何认识这件事,同时这也取决于选定的区块生产者用他们购买的验证能力做了什么。尽管有争议,但这种情况依然不可取的,比如可能在会对你的恶意行为进行审查。

    例如,Lisk 拥有两个矿池( LiskElite 和 LiskGDT),它们承诺将一部分区块奖励返还给为其代表投票的用户。甚至有一个网站专门用来帮助用户找到给予回报最好的代表,同时还鼓励用户投票淘汰掉那些不共享奖励的代表。

    这些攻击的可持续性和有效性取决于协议的其它要素。在任何 DPoS 实施(或一般的在线投票的实施过程)中,攻击都是可能的,但是其它功能可能使其不太可能。在系统中,对于区块生产者的要求仅仅是进行验证打包工作,而利润共享只是一个简单的选择而已。像 Lisk 这样的区块链仍然处于起步阶段,使用量不大,对于区块生产者来说要求并不高。

    然而,在 EOS 中,对区块生产者的要求远远超出了运行软件本身。预计 EOS 区块生产者将需要提供存储,参与治理,并逐步利用其利润来扩大其硬件资源,以提高网络的总容量。

    Larimer 甚至表示,EOS 最终将扩展到 21 个以上超高速数据中心,且其之间可以直接对话。因此区块生产者的运营成本将比其它系统高得多,加之支付投票的费用,如此以来将会进一步降低利润率。也就是说为投票付费的区块生产者,他们没有多少利润用于提升节点性能,从而导致网络本身将受到影响。关心网络长期健康状况(以及 Token 价格)的选民会选择有助于增加网络容量的区块生产者,而不是只关注那些能提供短期回报的区块生产者。这将有利于那些建立在 EOS(谁将成为最大的 Token 持有者之一)上的企业的利益,因为他们可以投票给那些不给选民短期回扣的区块生产者。

    如果一个区块生产者除了区块奖励外,其它什么都没有的话,那么他或她可能不会坚持很久就会成为网络中的一个负担。例如,在 Steem 中,见证人就计划如何运作以改善网络。类似的活动已经在 EOS 中发生(参见 EOS New York ,EOS SoCal ,EOSYS 等)。

    Token 持有者应该认识到,网络将会因贿选而停滞不前,而这行为实际上是阻碍了系统发展,最终他们应该被淘汰出局。此外,EOS 还实施了投票衰减系统,即最近一次的投票权重更大。每个月重新投票的选民将拥有全部选票的权重,而前期投票的权重逐渐衰减直至两年后最小化。这样做的目的是鼓励人们参与投票,同时也是降低那些只投一次票的人的权重。那么在区块生产者提供奖励共享的情况下,这意味着那些只投一次票并期望获得分红的人的愿望落空。其它的方法,比如要求选民锁定他们的代币一段时间,也可以有效阻止投票贿赂。

    由于 DPoS 是由社区驱动的共识算法,因此对区块生产者贿赂的回应最终将掌握在社区手中。社区的一个选择是将禁止贿赂和利润分享直接纳入 EOS 宪法。该宪法被描述为“点对点服务条款协议或签署该协议的用户之间的具有约束力的合同”。每笔交易都包含一份宪法哈希,并表示用户对合同的认可(这份数字化宪法在我们即将发布的关于EOS的全面分析和评估报告中进行审查)。在 Lisk ,利润共享区块生产商的打算都是非常公开的,因此很容易识别出违规者。

    最终,我们认为区块生产者为选票付费是一件得不偿失的事情 。我们需要投票人选出的是最好的网络建设者而不是选出给你分红最高的区块生产者。这些行为不仅不利于网络更好发展,而且也不符合 Token 持有者的期望。我们希望在 DPoS 链上出现的社区能够制定行为准则,抵制为选票买单的行为,同时,我们计划鼓励这种准则。我们还鼓励进一步研究内部协议机制,例如投票锁定和投票衰减等。

    ● 大范围攻击

    在实践中暂未观察到的一个有趣的攻击载体,即涉及到关于一个行业规模级别的 DPoS 区块链是什么样。Larimer 表示,EOS 可能会以这样的方式进行扩展,即大型数据中心将会作为区块生产者来提供网络所需的带宽和速度。达成这一结果可能需要数年时间,但其带来的影响值得考虑。

    如果我们希望区块生产者进入专用的数据中心,那么这就限制了潜在的区块生产者的数量,特别是限制了可能进入的以取代被淘汰的区块生产商的实体数量。如此一来,验证者淘汰率可能相当低。如果没有及时取代被淘汰的区块生产者,那么网络可能会因此受到影响。而选民们将不得不在惩罚一个行为不端的区块生产者和降低网络的整体资源之间做出取舍。

    重要的是,DPoS 网络在验证者数量较少时可以继续运行,直到一个新的节点加入并达到区块生产者的法定人数。虽然这并不理想,但它至少可以让网络在过渡时期继续正常运行。新区块生产者可能与现有生产者的资源不对等,但他们可以通过一系列竞选活动,并使用他们的区块奖励来快速扩大他们的影响。

    ● 区块生产者串谋

    在任何区块链系统中,区块生产者之间串谋的威胁始终存在。在 DPoS 中,这种威胁通常被认为特别危险;由于验证者的数量很少,因此从理论上讲,区块生产者之间很容易产生勾结串通。虽然谁都不希望看到区块生产者作恶,但为了以防万一,我们必须要考虑那些串通合谋的区块生产者最终会给整个系统造成怎样的危害,以及发生这种情况时,我们该如何应对。

    在 DPoS 系统中,串谋的区块生产者(意味着超过所有区块生产者数量的三分之二)可以发起三种主要的攻击:

    1. 审查制度

    2. 改变系统参数

    3. 双花

    在 DPoS 背景下进行审查意味着区块生产者拒绝处理有效的交易。如果一个单一的区块生产者审查一个人或一个实体,这一行为将是徒劳的。下一个区块生产者不仅会验证下一个区块中的交易,而且单个区块生产者的审查尝试将在链上可见,并且重复的违规行为将会使其被淘汰。对于单个区块生产者(甚至是少数区块生产者)来说,他们可能造成的最大损害就是通过不作为来延迟交易。但这些交易最终会被大多数可靠的区块生产者处理,因此区块生产者基本上不可能去尝试审查,而且它也不会产生多大影响(他们只是延迟交易几秒钟,而下一个区块生产者接踵而来)。

    同时,虽然通过延迟交易确实有可能造成损失,但更大的影响是区块生产者每次尝试这样做时,都会冒着声誉、预期收益受损的巨大风险,甚至还可能出现仲裁。DPoS 的有效实施很可能会让区块生产者很快就投票反对任何审查制度。

    区块生产者能够发起的另一个攻击是试图改变协议参数。这可能意味着很多事情 ——改变宪法,增加区块奖励,某些利益相关的分叉以及其它情况。值得庆幸的是,DPoS 的设计方式使得如果没有盲目跟从选民的支持,这些攻击是不可能的。

    例如,在 EOS 中,系统参数的更改在实际写入系统之前会有时间延迟。更改宪法需要 17/21 区块生产者的赞成,并且他们必须在变更发生前的30天内都始终保持赞成。如果用户不同意更改,那么他们可以在 30 天时间段内投票给其它区块生产者,从而将其替换为不支持变更的生产者(更多关于EOS协议更新的信息可以在这里找到)。

    最终结果就是,对系统的更改必须由 Token 持有者赞成通过,那怕是被动的赞成。而参数更改生效需要时间,且在参数生效期间内可以取消其更改,因此这就严重限制了区块生产者作恶可能造成的损害。

    最后,区块生产者可以通过多数人的串通来达成双花(双重支付)攻击,尽管这些情况在实践中是不太可能的。 DPoS 使用“最后不可逆区块”的概念,一旦超过三分之二的区块生产者建立在同一条链上,就可以确认结果。需要对其交易进行严格保证的用户可以等待这个确认。

    ● 分布式拒绝服务攻击( DDoS )

    在大多数 DPoS 实例中,区块生产者都是已知的实体。在某些实例中,它们甚至可能是知名公众人物或组织,它们的位置和IP地址是已知的。由于在每一轮中,区块的生产顺序是固定的,因此攻击者可以确定谁将在给定的时间内出块,从而对其发动 DDoS 攻击。

    这种攻击在实践中很难实现。虽然攻击者可能能够针对单个区块生产者,但不太可能同时针对几个不同的区块生产者。网络可能会产生暂时的延迟,这都取决于攻击者能够影响的生产者数量,但是,攻击者几乎不可能同时对大多数节点进行 DDoS 攻击。

    此外,区块生产者可以通过使用备份服务器和其它方式来抵制 DDoS 攻击。最后,如果一个单独的区块生产者(或者几个)由于这样的攻击而始终不能出块,那么他们就会被淘汰,并在一个回合后被备份的生产者取代。

    结论

    DPoS 是解决区块链可扩展性问题中简洁、强大且最为重要的,实用且经过验证的解决方案。它还为区块链治理、资金筹措、风险管理问题等提供解决方案。

    基于 DPoS 架构的区块链,通过在可扩展性三难问题的背景下,对“去中心化区块生产”的权衡妥协来实现高可扩展性。

    构成三难局面的三个特性中,有两个特性本身就互为因果:可扩展性和安全性。这些都是区块链的基本特征。另一方面,去中心化是达到目的一个方法。因此,如果仍能实现预期的目标,那么在区块生产的去中心化方面进行妥协是有意义的。去中心化的目标是减少审查,公开透明,无单点故障。我们认为 DPoS 仍然可以实现所有这些目标。

    去中心化的每个方面并非皆可量化;验证者的数量只是一个方面。除了必须考虑的个别实体数量外,还有其它因素,并且 DPoS 共识机制下,Token 持有者将不得不投票以确保区块链系统达到去中心化的所有预期效果。

    DPoS 存在一些缺点 ——主要是它对 Token 持有者提出了更多要求,比如需要监控网络的健康状况,注意区块生产者的不良行为,并决定系统是否足够去中心化。然而,作为妥协的结果,DPoS 提供了高效的性能,并具有其它非常有利的特性。我们认为 DPoS 有非常引人注目的特征和利弊,这使得它成为许多去中心化应用程序的一个很好的解决方案。

    DPoS 承认去中心化在经济上和性能上都有成本,它选择了弱中心化以换取可扩展性。如果 DPoS 系统仍然可以提供必要的审查阻力,无许可限制和无信任等级,那么 DPoS 对于大量去中心化应用程序来说是更好的选择。对于某些特定场景—— 抵抗审查的数字黄金,点对点数字货币,等等,以牺牲性能为代价进行去中心化的权衡可能是有意义的。对于绝大多数应用程序来说,可扩展性要实用得多。

    DPoS 并不是唯一能够在规模上取得成功的共识算法。它并不适合所有类型的分布式应用,但它很有可能在区块链领域占有一席之地。即使我们假设出现最坏的结果—— 21 个已知实体控制着数据库,或者国际社会的共同努力可能导致审查—— DPoS 仍然提供了一套特性,这些特性对于某些实例来说是非常可取的。企业需要一个中立的数据库,能够提供可扩展性,低延迟,甚至可能需要政府的背书和支持。而这个市场的规模可以用万亿来衡量。

    但是,我们预估,实际上,DPoS 将比我们上面的介绍更具有适应性。我们期待从 DPoS 这个令人难以置信的社会实验中学习到更多知识。

    感谢 Jesse Walden、Denis Nazarov、Trent MaConaghy、Sam Kazemian、Malcolm Mason Rodriguez、Thomas Cox、Ian Grigg 以及其他人的贡献与反馈。

    文章中相关链接资料:

    1.​scalability trilemma(三难问题)

    2.Delegated Proof of Stake​(委托权益证明)

    3.BitShares的链接1BitShares的链接2

    4.Larimer的这篇白皮书

    5.他们指出

    6.出色的文章

    7.Steem的统计信息

    8.文章中此处1

    9.文章中此处2

    10.Nothing-at-Stake(无损益攻击)


    区块链中文字幕组

    致力于前沿区块链知识和信息的传播,为中国融入全球区块链世界贡献一份力量。

    如果您懂一些技术、懂一些英文,欢迎加入我们,加微信号:w1791520555。

    点击查看项目GITHUB,及更多的译文…

    本文译者简介

    白马少年,坚持定投区块链,学用英语,坚信区块链必将改变潮水的方向。

    版权所有,转载请完整注明以上内容。

    相关文章

      网友评论

        本文标题:【字幕组】委托权益证明:特征&弊端(更新版02)

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