警惕潜在风险:用Geth进行质押,可能会失去所有资产?
原文作者: Labrys
原文编译:深潮 TechFlow
本文讨论了以太坊网络中执行客户端 Nethermind 遇到的一个故障,导致所有使用 Nethermind 的验证器(约占网络的 10% )离线。文章强调了 Geth 客户端在以太坊网络中占据的超多数地位以及由此带来的潜在风险。尽管 Geth 是稳定且可靠的客户端,但如果出现严重故障,由于其在网络中的普遍使用,可能对整个网络造成重大影响。文章呼吁社区重视执行客户端的多样性,以降低网络面临的集中化风险。
介绍
本周,以太坊网络的一个执行客户端 Nethermind 经历了一个故障,导致所有运行 Nethermind 的验证器(约占网络的 10% )离线。
这是一个较小的事件,因为 Nethermind 是少数利益相关者运营的。以下是我自己运行 Nethermind 的验证器的总余额的图表。你可以看到在当地时间凌晨 4 点左右,当故障首次发生时,验证器就离线了。团队在大约 4 小时后发布了一个补丁,等我安装好后,验证器在当地时间上午 9 点左右恢复运行。在此期间,我的验证器受到的惩罚与它获得的奖励相同。在同一天下午 1 点,验证器的余额高于宕机前。总的来说,这是一个小的故障。
许多人错误地假设,当运行 Geth 时,如果发生类似的故障,惩罚会类似。这不是真的。这与 Geth 或 Geth 的构建方式无关,而与运行 Geth 的人数有关。
根据 ClientDiversity.org 的数据,以太坊上约 84% 的验证器都在运行 Geth。现在这些持有者的辩护是,Geth 无疑是最好、最稳定的客户端。虽然像 Nethermind 这样的少数客户端本周受到了故障和停机的困扰,但 Geth 自合并以来(甚至在此之前)一直运行良好。根据我自己的经验,当从 Geth 转换到少数派客户端时,我发现验证器需要更多的资源,遗漏的验证也更多。
这篇文章并不是对 Geth 的攻击。我非常尊重他们的团队。不幸的是,由于 Geth 的广泛使用,我们需要诚实地讨论当 Geth 持有绝大多数质押时运行 Geth 的风险。
如果他们知道自己更有可能经历更多错过的证明和更多的停机时间,那么没有人愿意离开 Geth,尤其是那些依赖于正常运行时间来宣传最高收益的商业模式,比如专业的质押运营商。
截至去年 9 月,估计最大的运营商 Lido 在 Geth 上运行约 76% 的验证器。
但我很高兴我在运行一个少数的客户端,即使我失去了一些额外的奖励,不是因为我是利他主义者,为了网络的去中心化牺牲个人利益,而是因为我知道我的 ETH 会因此免于大多数 bug 的影响。
如果 Geth 出现 bug,会发生什么?
这取决于 bug 本身。
因为超过三分之二的以太坊验证器运行 Geth,任何 Geth 中的严重故障都会立即阻止链的最终确定。这并不意味着链停止或中断。只要其他客户端仍在运行,链就会继续运行。大约 84% 的区块将被遗漏,这意味着每隔约 75 秒才会提出一个新区块,而不是约 12 秒的区块时间。这些区块将容易发生重组,因此当链再次完成时,这些区块中包含的交易不保证仍然存在。这听起来很糟糕,但让我们记住,多年来以太坊在合并前从未有过最终确认的概念,比特币今天也是如此——这就是为什么交易所让你等待 6 个以上的区块确认才能存款,以降低发生重组和损失资金的风险。
有些人可能还记得,以太坊在 2023 年 5 月就已经发生过这种情况,当时一些共识客户端出现了 bug。在两天时间里,链条两次停止终结,导致许多区块被遗漏,一度只有 40% 的网络仍在运行。网络恢复后,大多数 DApp 用户除了交易区块确认速度稍慢外,没有发现任何问题。
但验证器会怎么样呢?
非活动泄漏
当少数客户端失败时,惩罚是以与获得它的速率相同的速率失去 ETH(正如您在我上面的验证器图中看到的),但如果 Geth 失败,因为它会立即阻止链最终确定,所以惩罚会更加严厉。这种增加的惩罚被称为非活动泄漏(The inactivity leak),当链停止最终确定 4 个周期(约 25 分钟)或更长时间时,它会应用于离线验证器。这种更严厉的惩罚旨在鼓励离线验证器尽快恢复在线,或者在最坏的情况下,销毁离线验证器的权益,直到他们的权益占总权益的 1/3 以下,从而允许在线验证器完成链的确认。
在非活动泄漏期间,验证器仅需离线 2 天就会损失其权益的 0.6% ,或相当于 2 个月的权益奖励!
仅需离线 5 天,就会消耗掉整整一年的质押奖励(3.5% )!这意味着需要超过 2 年多的质押才能恢复验证者在事件发生前拥有的余额。
在离线 1 周内, 10% 的权益,或 3 年的奖励,将会丢失。在大约 20 天内, 50% 的权益将会丢失,在大约 40 天内, 90% 的权益将会丢失。
相比之下,由于少数客户端故障而离线的验证器在 40 天内仅会损失其权益的 0.4% 。
不活跃的惩罚将持续多久?
这取决于 bug。
如果 bug 能被修补,那么惩罚将持续到 Geth 团队修补 bug 并将其应用到您的验证器所需的时间(或切换到其他执行客户端所需的时间)。
实际上,我们预计这个问题可以在几个小时或最多几天内得到解决。如果修复 bug 所需的时间与最近的 Nethermind 事件相同,验证器将损失 0.004% 的权益,这不是什么大问题。
如果 bug 导致验证器产生无效区块,并且 Geth 将其视为有效并对其进行认证,情况就会变得糟糕。这将导致链分叉。链将分成两个分支,一个包含无效区块的分支(Geth 链),另一个忽略无效区块的分支(非 Geth 链)。运行 Geth 的验证器将认为这两个分支都是有效的,因此决定在权重最重的链上构建。84% 的验证器将其权益认证给 Geth 链,仅有 16% 的验证器将其权益认证给非 Geth 链。因此,Geth 验证器将选择 Geth 链作为权重最重的链,并继续在其上构建。
当然,一旦所有这些问题解决了,Geth 链上的区块将被弃用(这将引起自己的问题),但更大的问题是 Geth 链将拥有足够的权益(大于 2/3)来确认无效链。
一旦 Geth 链最终确定,如果一个验证器对 Geth 链进行了认证,它就不能参与非 Geth 链的建设(直到非 Geth 链也被确认),否则会被削减。本质上,运行 Geth 的验证器已经承诺使用无效链,并被锁定在该链上,直到非 Geth 链被确认。这正是许多人误解的关键风险所在。
由于 Geth 验证器被困在无效链上,他们在非 Geth 链上被视为不活跃,并将遭受非活动泄漏的损失。没有任何软件更新或 bug 修补可以拯救这些验证器。他们将被耗尽,直到他们的权益占网络的 1/3 以下,从而让非 Geth 链得以确认。
目前网络上有 28, 976, 695 ETH 处于质押状态。其中 84% (约 2400 万枚 ETH)可归因于运行 Geth 的验证器, 16% (约 500 万枚 ETH)归于不运行 Geth 的验证器。为了让非 Geth 链得以确认,运行 Geth 的验证器需要将其权益销毁,直到其所占的剩余总权益少于 1/3 。这意味着需要从这些验证器中销毁约 2150 万枚 ETH(约占总权益的 90% ),将 Geth 权益减少到约 25 万枚 ETH,少于总量的 1/3 (250 万枚 + 500 万枚 ETH)。非 Geth 验证器控制的约 500 万枚 ETH 现在将代表多于 2/3 的权益,使他们能够确认链。
这将是一个极其痛苦的过程,大约需要 40 天时间来完成。它将导致所有 ETH 的总供应量减少约 18% ,,使总供应量低于 1 亿枚 ETH。
争夺出口
这里的一个重要点是,处于无效链上的验证器不太可能坐视不管。他们仍然有选择退出他们的权益的选项,如果他们不这么做,网络将在他们的有效余额达到 16 ETH 时强制将他们驱逐出去。但这并不意味着他们的损失仅限于 16 ETH。
当你退出一个验证器(即使是被强制退出)时,你会进入退出队列,而你在退出队列中时,你仍会流失 ETH!
我们知道,在最坏的情况下,需要约 40 天的时间,非活动泄漏才能允许有效链重新开始确认。那么退出队列需要多长时间呢?
退出队列有一个流失限制,限制每个时期可以退出网络的验证者数量(约 6.4 分钟)。流失限制定义如下:
当前的退出率为每 6.4 分钟退出 13 个验证器,如果每个运行 Geth 的验证器都想退出,至少需要约 260 天才能让所有验证器退出。鉴于 90% 的权益将在约 40 天内被销毁,大多数验证器的余额将在他们能够退出链之前就被耗尽。
最初 2% 的 Geth 验证器发起退出的将在前 5 天内退出,损失的最大值约为 1 年的质押奖励。
你需要成为前 3% 的退出验证器,才能将损失控制在你权益的 10% 以下。
只有前 8% 的退出验证器才能将损失控制在其权益的 50% 以下。此时,任何未手动发起退出的人将被强制退出,并添加到退出队列中,有效余额为 16 ETH。
在 40 天后,当他们的 90% 权益被销毁时,超过 85% 的验证器仍将在队列中。
退出的能力将无法拯救你,你的下行风险不仅限于你被强制退出的损失(16 ETH)。
那么削减呢?
一些人错误地认为,如果出现 bug,运行 Geth 的质押者不仅会遭受非活动泄漏,还会被削减。这是错误的。
削减惩罚只适用于双重签名事件,这完全由共识客户端控制。Geth 中的 bug 不应该导致共识客户端犯下可削减的错误。Geth 产生无效区块不是可削减的错误。
只有非活动泄漏的惩罚适用于 Geth 的 bug。
你应该怎么做?
当今运行 Geth 的质押者可能并不完全了解运行绝对多数执行客户端相关的风险。许多人错误地假设,一旦出现 bug,将在几小时内发布补丁解决问题,并且在此过程中损失的以太币很少。
许多人并不了解,证明一个无效区块的风险会让他们被锁定在一个无效的最终链中,几乎可以肯定他们大部分 ETH 将被销毁。这是一个有可能成为现实的真实风险。
质押以太坊并非无风险收益。你是否会向最大潜在收益为每年 3.5% 的工具投资至少 75000 美元?但有可能产生 100% 的损失?可能不会,但这正是今天 84% 的以太坊质押者所做的。
通过转向少数客户端(假设相同的 bug 不会在多个客户端中出现),你可以将损失最大限制在年化 3.5% 。
有了这些知识,任何人仍在运行 Geth 看起来都是疯狂的。我只能假设那些运行 Geth 的人并没有完全理解这个风险。
如果你持有 LST(例如 stETH、cbETH 等),并且 LST 在其验证器上运行 Geth,请理解你的以太坊处于风险中,并考虑取消质押或切换到另一个 LST,直到 Geth 不再占据超主流地位。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum