解读以太坊 2.0 Slash 机制:如何避免重度惩罚?_SLA:LASH

原文标题:《以太坊?2.0slash机制详解》

撰文:InfStones

slash意为大幅削减,是PoS共识公链常用的对作恶验证人的惩罚机制。以太坊2.0的slash规则可能是目前所有PoS公链中最复杂的一个。通过研读以太坊2.0设计规范与源代码,对其slash规则做如下解读。

slash的种类

slash一般指对严重作恶行为的惩罚,而非对普通离线节点的惩罚,后者一般被称为inactivitypenalties。在一般的PoS公有链中,一般只有「双签」类行为会触发slash,而在以太坊2.0中则特定为下列行为:

美国银行:加密市场监管的不确定性给区块链发展蒙上阴影:6月19日消息,美国银行 (BAC) 在周五的一份研究报告中表示,风险资产的涨势仍在继续,但自5月初以来,数字资产的表现落后于纳斯达克股票指数24%,而今年年初已上涨52%。分析师Alkesh Shah和Andrew Moss写道:“由于美国证券交易委员会 (SEC) 的执法行动造成监管不确定性,给代币价格带来压力,因此数字资产情绪仍然不佳。”

美国银行表示,过度关注监管阻力、比特币现货ETF在美国的批准以及非法活动,“给分布式账本和区块链技术基础设施的快速发展和整合蒙上了阴影”。报告补充说,“特别是私人许可的分布式账本和区块链子网”,这使得传统金融资产的代币化成为可能,预计区块链基础设施和代币化将“在未来5到10年内改变金融和非融资基础设施和市场”。[2023/6/19 21:47:21]

在同一个slot中提议两个冲突的区块;在同一个slot中投给两个冲突的区块;投票与历史投票冲突。行为a,b会造成区块链上不必要的分叉,行为c则是企图篡改历史。

派盾:BNB桥接攻击者清算AVAX上头寸,约718万美元的JUSDTNative受影响:2月2日消息,据派盾监测,BNB桥接攻击者在AVAX上的头寸被清算,约718万美元的JUSDTNative受到影响。

据悉,攻击者在Trader Joe存入了约790万枚USDT作为抵押品,以桥接形式借入了USDCe、USDTe、eWETH,并铸造了JUSDTNative。[2023/2/2 11:43:40]

slash后验证者状态

slash后,验证者将被强制进入验证者退出队列,然后退出。

验证者将立刻被扣除有效余额/128作为罚金。如果有效余额是32ETH,则为0.25ETH。

科技部回应对科技行业的监管:更多地是把激励放在更重要的位置:6月6日消息,科技部部长王志刚表示,实际上任何一个政府的管理都是激励和约束两个方面,没有单方面的激励也没有单方面的约束,而是该激励的时候激励,该约束的时候约束。我们国家更多地是把激励放在更重要的位置,相信我们的企业家、我们的企业能够规范发展企业的同时,对整个经济社会、民生等方面作出更多积极正向的贡献,这是最主要的标准。在这个标准下,剩下就是因时因势来调整,不同的时间、不同的对象、不同的场合、不同的领域有不同的调节方式,从而作出正确的选择。[2022/6/6 4:04:49]

8192个epoch后,验证者账户允许提款。

允许提款前,被slash的节点将在每个epoch开始收到3倍于在线奖励的惩罚。

被slash的验证者不被允许再次回到验证者队列,只能重建新的验证者并重新质押。

多节点同时slash的情形

有效余额/128的惩罚和每个epoch的不在线惩罚之外,还会在被slash的epoch和允许取款的epoch中间一半的位置,也就是被slash后4096个epoch时再受到一次额外惩罚。

该惩罚比例与这期间所有被slash的验证人总余额与全网活跃验证人总余额的比例成正比。

原设定正比系数为3,当前信标链阶段暂时下调至原值的三分之一也即系数为1。也就是说之后多节点slash的额外惩罚会变为当前的3倍。

因此,一个验证人节点slash后会受到三次惩罚:

立刻被扣除有效余额/128每个epoch的开始受到惩罚多节点同时slash的额外惩罚举报奖励

slash机制不光对触发slash的节点有惩罚,对举报slash的「举报人」也会有奖励。正常来讲会奖励分为两部分,一是奖励提交slash的「举报人」,金额较大,一是奖励打包slash区块的出块者,金额较小。目前来看大多数情况下两部分奖励都是直接转移给出块者。

触发slash的原因

除非有意为之,大部分过失slash发生的情形都是因为在两台服务器上运行了相同的验证人密钥,也即两台服务器运行同一个节点。「一用一备」是传统服务器冗余防宕机的通用做法,很可惜在有slash机制的PoS公链节点运行问题上,不能如此简单地处理。

InfStonesCEOJonathanShi曾在公开演讲中提到:在区块链领域里安全性不等于可靠性。在传统互联网中,安全性和可靠性并不矛盾,可以通过增加系统冗余的方式提高安全性和可靠性。但在区块链中,如果对出块节点做冗余性设计,则很有可能造成多个节点同时出块,导致双重签名;但若不对节点做冗余性设计,就会出现单点故障。如果这个节点掉线,则会导致整个系统服务宕机,影响系统的可靠性。

此外,客户端一般默认有slash保护历史记录,该记录通过记录所有历史的attestation和proposal记录来预防slash。如果在运行过程中不慎删除该记录,也有可能导致slash问题。

质押并建立一个验证人节点,只是第一步也是最简单的一步。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:355ms