波卡节点的 Slash 机制是什么,如何减少惩罚的发生?

波卡节点的 Slash 机制是什么,如何减少惩罚的发生?

“ 波卡知识图谱 ” 是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识, 今天是该栏目的第 13 期,详解针对网络中的恶意行为,波卡是如何通过 Slash 机制制衡参与者的。

Slash 是什么

Slash 意为削减,是针对在网络中作恶验证者的一种惩罚机制。

当验证者在网络中有一些不当行为,例如离线、攻击网络以及运行修改过的软件等,被 Slash 的验证者会和他们的提名者一起失去一定比例的质押的 DOT。所有被 Slash 的 DOT 都将被收归到国库中,之所以不选择烧毁或是作为奖励分发,是因为在某些情况下,比如不是由验证者自己的错误而是运行错误导致的 Slash 或者是强制性的脱机行为,议会可以以简单的方式从国库中支付来恢复 Slash,将通证从作恶验证者转移到建立生态系统的人手中。

值得注意的一点是,Slash 只发生在给定提名者的活跃验证中,不会因有其他不活跃验证或等待提名而减少 Slash。验证者单独运行也不会减轻 Slash,每个验证者都被看作是自己的实体,就像通过质押获得奖励一样。

Slash 的评判标准

由于 Slash 的金额是固定百分比,那么质押的 DOT 越多,被 Slash 的 DOT 也越多。分散 Staking 也能减少验证者被 Slash 带来的损失。波卡定义了作恶的级别,但是,这些级别并没有在代码和系统中实现和引用,主要是作为不同程度作恶的参考。

级别 1:偶尔的无响应,即在整个 epoch 处于离线状态。一般不会进行 Slash,只是被取消提名。

级别 2:无响应和偶尔的重复签名。从 Staking 中 Slash 很少一部分,并且被取消提名。

级别 3:不太可能是意外行为,但不会对网络造成很严重的危害。比如在 GRANPDPA 中重复签名或是不公正投票的个别情况。Slash 适当的 Staking 并且被取消提名。

级别 4:对系统构成严重安全或货币风险的不当行为,或是群体性共谋。将会 Slash 验证者全部或是大部分的质押的 DOT 并且被取消提名。

拥有较大质押支持的验证者比不太受欢迎的验证者将受到更严厉的 Slash,因此会鼓励提名者将他们的提名转向不太受欢迎的验证者,以减少可能会带来的损失。因为波卡基本每个验证者节点获得的 Staking 收益是差不多的,然后再根据支持的 DOT 数量按比例分配给提名者,所以更受欢迎的验证者的提名者获得的 Staking 会少一些,并且由于 Slash 是按照比例来削减的,所以一旦被 Slash,受到的损失也比不太受欢迎的验证者更多。

波卡节点的 Slash 机制是什么,如何减少惩罚的发生?

哪些行为会导致遭到 Slash 惩罚

1

无响应

对于每个会话控制,验证者将发送“I'm Online”心跳以表示他们在线。如果验证者在 epoch 期间既没有产生新的区块也没有发送心跳,那么它就会被报告为无响应,随之就可能发生 Slash 的情况。

2

GRANDPA 的重复签名

验证者在同一阶段的不同链上签署两张或多张选票

3

BABE 的重复签名

验证者在同一阶段的中继链上生成两个或多个区块

4

Chilling

Chilling 是指从提名或验证中退出的行为。可以由验证者或提名者在任何时候进行,会在下一个 era 生效。也指将验证者从活跃的验证者池中移除,使其在下一个 NPoS 周期中失去可候选的资格。

值得注意的是,Chilling 可能是验证者发起或自愿的,比如,供应商计划中断服务时,验证者可以发起 Chilling 以保护自己不被 Slash。如果是自愿的,Chilling 就会在当前的会话控制中保持验证者的活跃状态,但是会在下一个会话控制中将验证者移动到非活跃的验证者池中。验证者将不会失去他们的提名者。

5

横跨 era 的 Slashing

在 NPoS 中,有三个问题需要解决

1、提名者可以提名多个验证者,并通过其中任意一个进行 Slash

2、在被 Slash 之前,质押的 DOT 在各个 era 被重复使用。比如你质押的 DOT 数为 N,被重复使用的 era 数量为 E 次,这并不意味着你会被 Slash 掉 N 乘以 E 个 DOT 数,因为你只有 N 个 DOT,所以,Slash 只会发生在你实际拥有的 Stake 上。

3、大幅的 Slash 可以在事后发生,且不按顺序

为了平衡这一点,只对参与者在某段时间内可以获得的最大 Slash 进行惩罚,而不是总和。这样也可以防止过度的 Slash。

为了有更多的人参与到波卡的网络中,共同维护整个网络的安全,波卡通过 Staking 的方式对那些认真“工作”的波卡网络参与者进行激励。除了正常的正向激励以外,网络也要通过负向激励来抑制网络参与者的作恶行为,对作恶行为的节点进行 Slash,即削减质押的 DOT,以此对参与者形成制衡,维护整个网络免受损害。


▢ 一文了解波卡的通货膨胀
▢ NPoS 机制是怎样运作的?
▢ 波卡的 Staking 机制是怎样的?
▢ 关于 DOT 通证的几大基础知识
▢ 波卡的跨链是如何实现的?


鉴于波卡生态项目层出不穷,但其中劣质项目,骗局项目充斥其中,值得警惕,而另一方面只在波卡项目方的群又很难了解到波卡整个生态发展的全貌,错失许多机会。所以,我们 决定建立一个波卡生态群,可以开放式地讨论所有波卡生态项目,大家可以客观的分享对各个项目的观点,了解波卡各个项目的发展情况,又可以互通信息共同把握机会