Skip to main content

Polkadot共识第4部分:安全性

December 30, 2019 in 共识-zh-cn
Avatarby Joe Petrowski

翻译:First.vip

来源链接: https://www.first.vip/project/6688.html

这是Polkadot共识系列的第4部分。有关简介请参见第1 部分,有关GRANDPA的讨论参见第2 部分,有关BABE的讨论参见第3部分。

到目前为止,我们已经讨论过BABE是如何创建区块链候选者和GRANDPA如何最终确定它们。我们知道我们需要超过三分之二的验证者来正确遵循协议。但是,到底有多少验证者呢?他们是如何被选择的呢?他们为什么要遵守规则?

选举周期

为了让验证者知道一个区块具有超过三分之二的协议,GRANDPA 需要知道总共有多少个验证者。该链的治理流程设置(并可以更改)数量,目标是至少有 1000 个验证者在Polkadot中运行BABE和GRANDPA。

一旦我们知道了集合中有多少验证者,我们将举行一次选举来决定谁将成为验证者。就像 BABE 将时间拆分为周期一样,GRANDPA也将时间拆分为各个周期。在每个周期结束时,都会奖励过去的周期,并为下一个周期进行选举。周期长约 24 小时。

Polkadot使用提名权益证明(Npos)来选举验证者,并使用Phragmen的方法来进行选举。简介部分讨论了PoS网络中的安全性与风险价值有关。用户通过锁定资金(称为staking)来表明其参与网络安全的意图。

虽然验证者的数量是有限的,但是可以通过staking参与网络安全的人员的数量却不是。如果你不是验证者,你仍然可以通过提名参与。提名者质押(stake)他们的代币,然后选择 16 个值得信赖的验证者作为自己的代表。提名者能享受他们所支持的验证者的收益,同时也会连带受到惩罚。

Polkadot的一个功能性目标是形成一个均匀质押的验证者集。奖励是根据绩效来支付的,因此提名者如果支持一些较小的验证者,将有概率可以获得更高的回报率。

我们使用Phragmen 's方法优化了这种质押分配。在选举之前,有一个希望成为验证者的帐户列表。每个验证者都有一个潜在提名者列表。Phragmen的方法将首先通过找出最具价值的组合来选择赢家。一旦它知道了提名集,它将以这种方式来申请提名,这种方式会使提名集得到最均衡的质押。这样的结果将为网络带来最高的安全性,并为提名人带来最大的回报。

奖励

奖励是人们在网络上运行验证者的主要激励因素。正如在第2部分和第3部分中所讨论的,验证者运行BABE和GRANDPA协议来创建和完成Polkadot区块链。

与其他PoS协议不同,Polkadot会根据验证者活动而不是根据每个验证者的质押金来确定奖励。验证者根据它们的活动累积积分。积分分配主要根据有效性声明和常规链中生成的区块。还有一些积分是为没有在常规链中终止区块而发出的。

当大家明确了一个周期内总积分的量后,也只有到一个周期结束之后才能转换为相应的代币价值。在一个周期内奖励分配是根据验证者所拥有的积分在总周期积分内的占比。之后再将奖励分配给每个验证者的提名者。

遵循奖励制度相对容易。通过运行标准客户端和拥有高可用性网络体系结构,验证者将能够正确地遵循协议并获得积分。

规则和惩罚

奖励提供了质押的理由,但网络必须确保质押者遵守规则,削减代币(Slashing)是对不遵守规则者的惩罚。网络的安全性要求对企图攻击者的惩罚要大到足以防止攻击的发生。

违规的范围从明显的懒散到彻头彻尾的欺骗,验证者最基本的要求是在线可用。验证者通过创建区块或向网络发送消息来证明它的可用性。因为每个系统都可以在合理的范围内经历周期性的停机,因脱机而被惩罚的概率非常低。但是,只要验证者正确地处理它们的基础结构配置,停机就应该是一种罕见的事件,而且停机时间足够小的话,是很容易恢复的。

更严重的违规行为被认为是模棱两可。在BABE和GRANDPA中都可能发生模棱两可的情况。在BABE中,模棱两可在同一个槽位(slot)中生成两个区块。在GRANDPA中,则会为同一回合中相互冲突的两条链发送预投票或预传递信息。模棱两可往往伴随着严重的惩罚。如果有过多模棱两可验证者,则不可能选择单个规范的链。

有些行为可能会被削减(slashed)100%的质押金。这些操作将在极端情况下使用,例如对与已结束的链冲突的进行预投票或预提交。网络认为这种行为是一种攻击,因为它试图逆转已确定的区块。

超线性削减(Slashing)

你可能已经注意到奖励与质押无关,所以如果你有足够的代币来运行两个验证程序,你的奖励可能会加倍。

这种行为是值得被鼓励的。我们希望单个实体(无论是大量代币持有者还是作为服务提供者的公司)运行多个验证程序。对于阻止某些实体获得大量质押并运行验证程序,Polkadot是无能为力的。为了防止单个实体获得过多的权力,Polkadot可以让他们在尝试做破坏时增加其风险值。

Polkadot使用超线性削减机制。随着实质犯罪的验证者的数量增加,代币削减的百分比也跟着增加。如果单个验证者模棱两可,则可能是由于基础设施设置不佳所致。然而,如果 30%的验证者在一回合中模棱两可,则更有可能是协同攻击,所以惩罚力度也会跟着加大。

随着更多验证者的模棱两可,惩罚严厉的程度越来越高。当超过 33%的验证人模棱两可时(此事件将使网络中断),违规者将被代币惩罚力度将至 100%。

当单个实体向网络添加更多验证程序时,它将必须确保验证程序不依赖于彼此或任何集中式的服务。

共享安全

POS网络中的安全性是依赖于经济学,因此世界上只能存在有限数量的安全性,因为根据经济学定义,经济价值是有限的。由于单链扩展问题带来了区块链数量增加,其经济价值和安全性分散在多条链上,每条链的价值都更加分散,使得每个链都比之前更脆弱。

在共享执行环境中执行的智能合约(如以太坊虚拟机)可以在无信任的情况下进行交互。使用Polkadot,可以将逻辑接口从区块链中的单个执行环境移动到区块链的逻辑本身。

但是,当考虑如何在打破信任界限的同时使链进行交互时,必须意识到信任不是来自在同一环境中执行。信任来自在相同的经济和国家过渡保证下运作。

Polkadot引入了一个共享的安全模型,这样链就可以与其他链进行交互,同时充分认识到其他链与自己的链具有相同的安全保障。基于桥的解决方案——每个链都处理自己的安全性——迫使接收者信任发送者。Polkadot 的安全模型为跨链消息传递提供了必要的安全保证,而不必去确认信息发送链自身的安全状况。

中继链区块通常由平行链的有效性证明组成,这意味着当中继链验证平行链的状态转换并在最终的中继链中包含证明时,平行链的块也是最终的。要还原平行链的区块,攻击者必须还原整个 Polkadot 系统,包括增加每个单独的平行链和安全化竞争。

这种通过在中继链中共享状态来共享安全性的系统,甚至不需要平行链提供自己的安全性和验证者社区的安全性。Polkadot的中继链提供了这种经济保障,因此Polkadot生态系统中的链可以专注于发展其应用的逻辑。

[1]这是允许逻辑进行同步调用

要了解更多关于Polkadot的共识和经济学,请访问Polkadot Wiki:https://wiki.polkadot.network/docs/en/

来源|波卡官方博客

翻译|头等仓Annie

编译|头等仓Mark

译文版权属头等仓所有,任何转载请保留文末信息。

From the blog

Polkadot

Empowering Next-Level Insights: Dune Brings Polkadot and Kusama Analytics into Focus

Unlock powerful insights for the Polkadot & Kusama ecosystem with comprehensive on-chain data and custom dashboards on Dune Analytics.

Polkadot Blockchain Academy

Polkadot Blockchain Academy Adds Remote Option for Select Students

PBA introduces a remote learning option for the Wave 5 Developers Track. Become a skilled Polkadot developer from the comfort of your home.

Developers

The Polkadot Alpha Program: A New Era of Collaborative Building

The Polkadot Alpha Program is a new initiative the helps lower entry barriers for teams eager to build in the ecosystem.

Subscribe to the newsletter to hear about updates and events.