参加ETH2.0质押怎么还罚款了?
自2019年开始,PoS和其背后的Staking Economy逐渐进入主流视野,鲜少再有人提及经典的PoW。而随着今年ETH2.0以及波卡这两大PoS公链IP逐渐落地,这种趋势已经达到了顶峰, 截至目前ETH2.0信标链存款合约质押的ETH已经达到了138万枚,波卡达到了7.6亿枚。 这种浪潮鼓动了大批持币者拿着32个ETH成为验证者,但问题是外界大部分的注意力几乎都放在暴涨的ETH行情和质押上,并没有完全知悉其中的风险。
PoS项目Staking情况
20075:第一个倒霉蛋
PoS由于机制设计的一些原因,挖矿的风险远高于PoW, 除了奖励丢失之外,还有可能出现一种叫Slash的惩罚机制会出现, 大部分矿工或者用户都是从PoW挖矿的认知过来的,所以很多人不懂得什么叫Slash,更不知道Slash的严重程度。
在 ETH 2.0信标链主网成功启动的第二天晚上,出现了第一个受到系统处罚的人:验证人20075。为此这个验证人付出了0.2344个ETH的Slash罚款,余额变成了31.77个ETH。而验证人20075之所有收到了这张Slash罚单,是因为其出现了双签行为,也就是该验证人在一个插槽中选出了两个不同的区块。而且不管是因为节点操作失误还是有意为之,这种行为都对主网产生了一定的不良影响。
本来,ETH2.0的Slash罚金是1ETH起,但是由于早期大家都需要时间去适应规则,出错的概率可能会增加,因此当前这个处罚的力度是被缩减了的,只要后面运行正常肯定还会调整到1个ETH起步,而且只要有多个人遭到Slash惩罚,那么这个罚金还会不断增长。需要注意的是, 这个罚金是直接在你质押的32个ETH里面去取,并且验证人也不能说通过补全或者换掉原先质押的币来重置整个验证人节点,如果最后最早质押的32个ETH被扣到16个以下时,这个验证人节点就会被自动踢掉。
后期数据统计,在信标链主网上线第二天的一天内,有多达600个验证人被开出了Slash罚单。这在社区内引发了一股争议:“好好的验证人做着,怎么还会被罚呢?”而相比于其他PoS公链内的Slash惩罚,验证人20075这样的遭遇算是好的了。
Tezos社区的tzscan浏览器,专门记录着被Slash过的矿工。有一个最高被罚24256个XTZ的记录,等于这个矿工在不到1分钟的时间里被罚了17万左右。无独有偶,2019年6月,在同样是跨链方向的Cosmos上,一个名为Cosmospool.org因为除了两个不同的区块,当天就被系统扣除了价值90万的代币。
Slash罚没出现的情况
1.私自试图分叉
其实也就是在同一区块高度出现双块(或多块)的情况,因为在PoS 共识机制里,无论是软分叉还是硬分叉,都需要通过投票来共同决定,所以任何节点私自试图分叉的行为都有可能受到 Slash 惩罚。开头提到的 Cosmos 节点,就是因为服务器运行问题,在同一高度提交了双块而受到 Slash 惩罚,因为这样可能造成不必要的分叉和链上混乱。
2.双签行为
双签行为,是指在同一个高度下,一个节点验证了不同链上的块;或者指在同一高度下,一个节点在一条链上的同一个块签多次名。
3.长期掉线或者节点运行不稳定
以 Cosmos 为例,如果节点离线时间大于网络中生成 9500 个区块的时间(大概 18 个小时),节点将会受到 Slash 惩罚。但是短暂的离线并不会受到Slash罚没。
波卡里面关于Slash惩罚的机制
在不同的网络内,可能这些惩罚机制会有所不同,例如Filecoin不是PoS共识机制,但机制有相似之处,PoS共识中,Staking的是token,但Filecoin中 Staking的是存储空间。与PoS不同的只是,token可以被Slash,而存储空间不能。所以系统会对不作为乃至作恶的节点进行降权,降低收益。无论是什么样的场景或者机制,Slash的核心原则是不变的,即任何有损主网稳定运行的行为都会受到惩罚。
树立Slash罚没机制的核心目的是什么?
首先,拿ETH2.0举例,由于共识机制转向POS,矿工再也不需要通过比拼算力从而获得处理交易也就是出块权,改成让一个个验证人节点去处理这些交易。
然后为了让这些验证人能够正常且稳定地“工作”,除了正常的激励机制之外,还需要对验证人进行利益绑定,也就是必须要存入32ETH作为保证金才能够运行验证程序并获得相应的“奖励”。这里的激励是正向的,此外还有反向“激励”,来抑制不良企图的恶意行为, 反向激励的方式一般有两种,一种是扣除节点押金也就是Slash惩罚,另外一种就是降低甚至短期剥夺节点的收益,目前这种抑制方式的设计难点在于如何在奖励清算中去涵盖对恶意行为的考虑并有所体现。
单纯的PoS机制存在一个很严重的问题Nothing at Stake(无利害关系)。 拿分叉这件事儿来举例,假如说有一个节点希望分裂社区,通过分叉重新分配权力,节点会告知其他节点,分叉不会对他们的利益产生影响,反而会让他们受益,节点受到蛊惑纷纷表示同意,虽然最终分叉完成,但是社区项目都遭受了重创,最终的结果也并不是大家想要的。但是主网对此是无可奈何的。
为了防范类似“无利害关系”这样的攻击,PoS机制引入了Slash惩罚机制来抑制那些试图恶意制造分裂和混乱的节点,一般这样的机制还会伴随拜占庭容错机制出现。Slash是Staking后期变革的一个典型机制,通过削减Staking中质押Token的威慑,达到进一步维护系统安全的目的。
相比于PoW,Staking-Slash让PoS的奖惩机制更加完善。PoW中,大部分作恶的惩罚是错失奖励。而在PoS中,除了错失奖励之外,还面临着本金的损失。
Slash惩罚的争议点
Slash惩罚机制除了能够提升PoS网络的安全性,同时基于一个合理的设计,这种机会更会带来一个高质量的验证系统,同时这也让某些验证者不得不考虑风险分配,从而有利于代币奖励在验证者之间的公平分配。但这种机制可能会对后续的某些衍生品产品产生极大的干扰,因为衍生品一旦生成后,万一锚定的原质押资产遭到Slash惩罚,那么原本的锚定关系就会被破坏,其中产生的损失和价差需要谁来负责是一个很大的问题。
而关于Slash惩罚本身来说,最大的争议点在于平衡惩罚的力度。原本只是一个敲打提醒的木棍,很有可能变成一枚核武器,就像此前提到的Cosmos网络中的那个倒霉节点一样。 Slash大多以扣除抵押金中的百分比作为惩罚,大概比例在1%~5%,视情节严重情况而定。已上线的PoS项目中,Slash发生的频率并不是很高,威慑的效果较为明显,已知的Slash大都因为操作不规范所导致。但是随着网络的发展这种惩罚的比例可能会越来越高,但问题就在于如何判断节点的某些不合规行为是否是恶意攻击,网络初始阶段应该设置什么程度的Slash惩罚?这需要一个全面且系统的评估机制来解决。
其实, Slash惩罚也在无形中催生了一些新的机会,例如专业的代质押服务。 Slash罚没一般是因为运行服务不稳定,而一般Staking中用户除了需要质押代币,还需要配置节点运行环境和程序,并且要租赁专门的云计算服务器,很难保证稳定性,因此实际上Staking对于一般用户来说门槛很高。因此就会有类似“专家”这样的角色来帮助不具备自主Staking的用户来进行操作,就相当于选择了一个委托人,但是代价就是你委托给“专家”的这些代币会有一个锁定期。可以说, Slash机制在Staking Finance当中承担着举足轻重的作用,而充分理解Staking经济中的所有风险和机制是每一个验证者必备的功课。