当前位置:首页 > 知识 >

比特币今日收益&以太坊2.0Slash机制解读:避免严厉惩罚

除非有意为之,大部分过失slash发生的情形都是因为在两台服务器上运行了相同的验证人密钥,也即两台服务器运行同一个节点。

《以太坊2.0slash机制详解》 撰文:InfStones

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

slash的种类 slash一般指对严重作恶行为的惩罚,而非对普通离线节点的惩罚,后者一般被称为inactivitypenalties。在一般的PoS公有链中,一般只有「双签」类行为会触发slash,而在以太坊2.0中则特定为下列行为: - 在同一个slot中提议两个冲突的区块; - 在同一个slot中投给两个冲突的区块; - 投票与历史投票冲突。

行为a,b会造成区块链上不必要的分叉,行为c则是企图篡改历史。

slash后验证者状态 slash后,验证者将被强制进入验证者退出队列,然后退出。 验证者将立刻被扣除有效余额/128则为0.25ETH。(需要注意,原设定惩罚量为有效余额/32也即1ETH,只是在信标链阶段暂时下调至原值的四分之一) 8192个epoch(约36天)后,验证者账户允许提款(在以太坊2.0支持交易功能后)。 允许提款前,被slash的节点将在每个epoch开始收到3倍于在线奖励的惩罚。 被slash的验证者不被允许再次回到验证者队列,只能重建新的验证者并 - 立刻被扣除有效余额/128(之后会调为有效余额/32) - 每个epoch的开始受到惩罚(当前数据每天约0.009ETH) - 多节点同时slash的额外惩罚

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

触发slash的原因 除非有意为之,大部分过失slash发生的情形都是因为在两台服务器上运行了相同的验证人密钥,也即两台服务器运行同一个节点。「一用一备」是传统服务器冗余防宕机的通用做法,很可惜在有slash机制的PoS公链节点运行问题上,不能如此简单地处理。 InfStones CEO Jonathan Shi曾在公开演讲中提到:在区块链领域里安全性不等于可靠性。在传统互联网中,安全性和可靠性并不矛盾,可以通过增加系统冗余的方式提高安全性和可靠性。但在区块链中,如果对出块节点做冗余性设计,则很有可能造成多个节点同时出块,导致双重签名;但若不对节点做冗余性设计,就会出现单点故障。如果这个节点掉线,则会导致整个系统服务宕机,影响系统的可靠性。 此外,客户端一般默认有slash保护历史记录,该记录通过记录所有历史的attestation和proposal记录来预防slash。如果在运行过程中不慎删除该记录,也有可能导致slash问题。 质押并建立一个验证人节点,只是第一步也是最简单的一步。

猜你喜欢

关注我们

微信二维码

微信