惩罚系统现代化提案(草案)

rocket-pool 发布于 2023-05-12 阅读 8

Rocket Pool 协议提出了一套全新的惩罚系统草案,以取代当前基于 Atlas 的旧系统。旧系统通过 Oracle DAO 标记作弊区块,对验证节点进行罚没,但存在多次违规惩罚无力、惩罚对象错位、Oracle DAO 权力过大(可触及 Beacon Chain 上 ETH)以及惩罚无法及时执行等问题。新系统改为从违规节点的质押 RPL 中按被窃 ETH 价值扣除等值 RPL,并附加 10% 的“盗窃税”,再以 5% 的折扣公开出售,所得 ETH 用于补偿 rETH 持有者和平滑池。同时,被标记节点将失去 RPL 通胀奖励和平滑池资格。该方案简化了合约实现,避免 Oracle DAO 接触质押 ETH,并有望废除现有复杂的 RPL 拍卖系统。提案仍处于讨论阶段。

注意:本文档仍为草稿,可能随时更改。

本提案描述了一个针对 Rocket Pool 协议的新罚没系统的候选方案,用于取代当前(截至 Atlas)的系统。它旨在解决当前系统中的许多问题,并具备可升级性,以便在相关技术限制被移除后,减少对受限/可信组件的依赖。

当前系统的缺点

当前系统在宏观层面上的运作方式如下:

  • 每个区块提案都由 Oracle DAO 进行“检查”。
    • 如果提议者是 Rocket Pool 验证者,则检查其费用接收者。
    • 如果所属节点已加入 Smoothing Pool,且费用接收者不是 Smoothing Pool(在 MEV 区块的情况下,最后一个交易的地址可以用作费用接收者),则将该提案标记为作弊。
    • 如果所属节点已退出 Smoothing Pool:
      • 如果自退出以来不到 2 个 epoch,且费用接收者不是 Smoothing Pool,则将该提案标记为作弊。
      • 如果自退出以来已满 2 个 epoch(或者从未选择加入):
        • 合法的费用接收者包括 rETH 地址、Smoothing Pool 地址或节点的 Fee Distributor 地址。其他任何地址都会被标记为作弊。
  • 如果有足够多的 Oracle DAO 成员投票将该区块标记为作弊,则向提出该区块的 minipool 提交罚没
  • 前两次罚没称为 strikes,不产生任何行动。第三次及以后的罚没称为 infractions,每次都会在对应 minipool 退出 Beacon Chain 并提款后,扣减其锁定在 Beacon Chain 上的部分 ETH。
  • 目前,每次 infraction 的罚没金额为 bond 的 10%,最高可达 80%。
  • 每次 infraction 的罚没金额可由 Oracle DAO 控制,最大金额由 Protocol Guardian 控制。

自该系统最初提出以来,人们指出了若干问题:

  1. “三振出局规则”使得它对那些只在知道某个大额区块即将出块时才选择性作弊的参与者毫无威慑力,因为他们只需在第二次罚没后退出并提款,然后重新质押即可,不会有任何问题。
  2. 罚没针对的是 minipool 而非节点,这意味着拥有许多 minipool 的大型节点运营商能够比小型节点运营商窃取多得多的奖励,却仍会受到与小型节点运营商同等程度的罚没。
  3. 它使 Oracle DAO 能够转移节点运营商质押在 Beacon Chain 上的 ETH,而这些 ETH 按设计本应不可变,从而引发了对 Oracle DAO 中心化和/或妥协的担忧。
  4. 目前,在节点运营商退出验证者并从 Beacon Chain 提款之前,实际上无法真正“落实”这些 infraction;换句话说,作弊的节点运营商可以无限期继续作弊,而无需承担这些 infraction 的后果。这会拖累 rETH 用户和其他 Smoothing Pool 成员(如果适用)的收益。

这些担忧,尤其是第三个,让 Rocket Pool 开发团队对按原样实施该罚没系统犹豫不决。用于根据上述规则检测作弊的数据会永久保留在链上,这一事实给了我们时间来反思和改进该系统。

本提案是我们基于经验教训和以太坊生态现状,对新罚没系统进行标准化的首次尝试。它旨在更有效、更公平、更快速,显著降低现有合约的复杂性,并为 RPL 代币提供额外用途。

新系统

以下是描述所提议系统各个步骤和组件的高层示意图。

在新提议的系统中,Oracle DAO 在很大程度上会遵循与旧系统相同的规则来检测作弊:它会扫描每个区块,比较区块的费用接收者,如果不是预期地址,则比较最后一笔交易的接收者。如果两者都不是预期地址,该区块将被标记为作弊;一旦就标记某个提案达成共识,便会采取行动。这些部分保持不变。

然而,其余的一切,包括“将要采取的行动”,现在都完全不同了。

标记作弊区块

该过程的确切规则将在日后编入正式规范。我们在 Redstone Rewards Tree 系统 的开放规范方面取得了巨大成功,这促使第三方对该程序进行了自定义实现(以及独立的 treegen 工具),并共同促成了对规范本身的修复和改进。我们希望继续沿用这一方法,为“feecheck”(名称待定)制定详细规范,多个参与方可以将其实现为类似的独立工具,以确保在部署前的正确性。

顺便提一下,我们想强调,有人可以通过两种方式从协议中窃取资金:

  1. 使用不正确的费用接收者。
  2. 故意构建恶意区块(自己构建,或与构建者/中继者合谋),提取 MEV 并将其发送到其控制的地址,然后通过一笔补充交易将少量 MEV 发送到正确的费用接收者,以此掩饰其实际提取了更多 MEV。

前者很容易通过链上数据验证,这也是我们即将推出的规范将重点关注的。后者则难以检测得多,正是出于对其威胁的担忧,我们才宣称节点运营商最终将必须使用 MEV-Boost。

有鉴于此,我们在该规范的第一版中将仅关注第一种向量作为检测作弊的方式。这意味着在这个系统下,我们将不再计划要求节点运营商使用 MEV-Boost;MEV-Boost 将像现在一样永远保持可选退出(opt-out)状态。

作为标记流程的一部分,该系统需要提供以下信息:

  • 被标记节点运营商的地址
  • Beacon Chain 上违规的 slot 编号,以及对应的 Execution Layer 区块编号
  • 基于 Smoothing Pool 状态的“预期”费用接收者
  • “实际”费用接收者
  • 区块中最后一笔交易的接收者
  • 被盗的 ETH 数量
    • 如果是本地构建的区块,则直接使用区块费用
    • 如果是 MEV-Boost 区块,则通过查询提供该区块的中继者获得

然后,这些信息会被传递给 Rocket Pool 协议合约。

质押 RPL 的扣减与出售

一旦 Oracle DAO 就标记达成共识,合约将从违规节点的质押 RPL 中扣除相应数量的 RPL。合约将使用网络内部保存的当前 RPL 价格(由 Oracle DAO 每 19.2 小时报告一次)来确定与被盗 ETH 金额等值的 RPL 数量,并在此基础上增加一定比例的附加“盗窃税”(暂定为 10%,确切数字交由社区讨论)。该总额将被扣除。

如果节点没有足够的 RPL 来覆盖损失,则尽可能多地扣除,但在其 RPL 质押归零后将不再采取任何行动。将来若条件允许,这种情况将很适合触发强制退出。

除了确定 RPL 数量外,合约还将确定从池质押者(rETH 持有者)以及(如果选择加入)Smoothing Pool 中被盗的 ETH 数量。这些数字将由实施作弊的 minipool 的 bond 金额和佣金率决定。一旦确定,它们将被记录在链上,作为该作弊事件的一部分。

在完成上述记账后,合约将使这部分 RPL 以略低于市场的折扣价格立即向任何人出售。该过程不会使用当前的拍卖系统;折扣价格只是一个以 ETH 计价的数字,由当前 Rocket Pool 网络价格决定。

这样做是为了尽快卖出 RPL,让 rETH 质押者和 Smoothing Pool 用户能尽快获得损失补偿,从而尽量减少对 rETH 比率的影响,并避免出现 Smoothing Pool 在跨越奖励周期时仍缺少被盗部分收益的情况。5% 的折扣有望吸引套利机器人(就像 deposit pool 那样)参与,使补偿几乎即时完成。尽管以市场折扣出售,但 10% 的税意味着,总共盗窃 1 ETH 将导致 1.045 ETH 被提供给相关池;因此,作弊最终对 rETH 用户和 Smoothing Pool 而言是净收益(尽管微乎其微)。(诚然,5% 是任意设定的,留待社区讨论。)

购买 RPL 后,ETH 将相应地在 rETH 地址和 Smoothing Pool(如果适用)之间分配。

对其他奖励的影响

一旦被标记为作弊,该节点将不再有资格获得 Redstone Rewards 系统的奖励。它将不再获得 RPL 增发奖励,也不再具备享受 Smoothing Pool 的资格。如果它想继续赚取 RPL 或享受 Smoothing Pool 的福利,就必须完全退出、创建新节点并重新开始,这会产生可观的 gas 成本。

我们将这个问题留给社区讨论,以判断这是否过于严厉或是否合理。

优点

以下是该系统的优点:

  1. 它完全移除了旧罚没系统,确保 Oracle DAO 永远无法触及节点质押的 ETH,这应有助于缓解人们对其权力的担忧。
  2. 它在合约中的实现相当简单且快速,这意味着与 Redstone 或 Atlas 这样的大型更新相比,它可以“相对”较快地完成审计和部署。
  3. 它日后很容易升级以进一步减少所需信任(例如通过欺诈证明,如果/当它们基于 EVM 可访问信息而变得可行时),因为整个系统可以存储在一个可替换的合约(rocketNetworkPenalties)中。
  4. 它本身不影响 minipool,因此实现它无需进行 delegate 升级。
  5. 我们可以断言,基于这些规则,我们永远不会要求节点运营商使用 MEV-Boost;它可以像今天一样永远作为可选退出(opt-out)的附加功能存在。
  6. 它更准确地契合了 RPL 代币作为协议安全补充性、可获取抵押品的定位。

一个有趣的附带效果是,这样做很可能会导致我们移除当前非常复杂的 RPL 拍卖系统。取而代之的是,如果节点退出时剩余的 ETH 低于其 bond 所需覆盖的金额,由此产生的 RPL 削减将直接使用这个新系统处理。但请注意,如果发生这种情况,这些削减也将与作弊罚没一样适用 10% 的税。

缺点

以下是该系统的缺点:

  1. 固定的 RPL 折扣(暂定为 5%)如果改为动态机制,可能会更高效;为了简单起见,我们选择将其设为一个较小的固定值。
  2. 如前所述,节点运营商如果在被大幅罚没后才分配其 Beacon 余额,则其被扣除的 RPL 还要承担 10% 的税。
  3. 由于这取消了对节点运营商的 bond 中 ETH 进行罚没的能力,系统可能会吸引一批人,他们故意只质押最低限额,并长期致力于作弊,期望 MEV 奖励的 APR 高于失去 RPL bond 和补充性 RPL 奖励所带来的损失。在没有强制退出的情况下,目前没有任何手段可以阻止这类用户。要做到这一点,需要让 RPL 奖励高于预期的 MEV 奖励,以威慑恶意行为者。
  4. 有可能 MEV 盗窃很少发生,或只涉及极小额的 ETH;在这种情况下,购买折价 RPL 所需的 gas 费用将超过折扣本身,这意味着补偿系统无法按预期运作。可能需要替代方案,例如先将罚没所得的 RPL 集中起来,待购买成本变得合适后再批量出售。

讨论

开发团队赞成这个简化的系统及其带来的旧代码清理,不过它仍有一些挑战需要进一步细化。我们渴望与社区互动,以完善、调整并进一步演进罚没系统,使其更适合当前的 Rocket Pool 网络。

  • 原文链接: github.com/rocket-pool/r...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论