Lido CSM v2 设计提案:提升灵活性与可持续性

-2_u2peQRuiumZHE_B0vhA?both 发布于 2026-07-24 阅读 16

本文是Lido社区质押模块(CSM)第二版的设计提案,涵盖多项改进:支持EIP-7002执行层触发退出,建立表现不佳验证者的strikes剔除机制,优化Oracle算法(排除被罚没节点、纳入区块提议等),将早期采用机制升级为可更新的识别质押者列表,为识别出的独立质押者提供优惠费率、优先存款队列和单独的性能阈值,移除单独的罚没报告,并因EIP-7251的罚没上限变化重新考虑债券曲线。文档还讨论了大型验证者支持问题,认为当前不合并。这些设计旨在提升CSM的灵活性和可持续性。

一年前已更改

[已弃用] CSM v2

本文档已关闭!

请在 https://hackmd.io/@lido/csm-v2-internal 上评论并参考该文档

image

社区质押模块(CSM) 的第一个版本自 2025 年 10 月起已在主网上线。为了确保与 Pectra 硬分叉相关的更新以及已发现的各项改进能够及时交付,应启动对 CSM 第二版本的研究与开发。

范围

image

CSM 新版本中需要实现以下几项重要功能和改进:

  • 根据 LoE 协议中的相应更改,支持 EIP-7002
  • 引入 Strikes 系统,允许剔除表现不佳的验证者;
  • 改进 CSM Oracle 算法;
  • 将早期采用机制转变为入口门(Entry Gates)机制;
  • 为已识别独立质押者引入有利的奖励份额;
  • 为已识别独立质押者引入优先存款队列;
  • 为已识别独立质押者引入单独的性能阈值;
  • 由于 Pectra 中初始罚没惩罚的减少,移除单独的罚没报告;
  • 重新考虑与 Pectra 更改相关的保证金曲线;

关于 EIP-7251 的说明:增加 MAX_EFFECTIVE_BALANCE

随着 EIP-7251 的引入,以太坊验证者可以合并为大型(2048 ETH)验证者,也可以在创建之初就直接设定为大型验证者。由于对等节点数量的减少,P2P 网络的负载可以显著降低。然而,由于无法为大型验证者指定“自定义上限”,质押者只能在小型(32 ETH)和大型(2048 ETH)验证者之间做选择。就整体协议资本效率而言,只有当合并后的大型验证者余额 >= 1700 ETH 时,将小型验证者合并为大型验证者或创建大型验证者才有意义(参见 Lido 贡献者的研究结果)。CSM 名称中的“社区”一词意味着该模块的目标受众是平均运行约 10-20 个验证者的社区质押者。这意味着,对大多数社区质押者而言,合并对协议来说是资本效率低下的做法。同时,考虑到社区质押者的验证者保证金要求较低(目前为 1.3 ETH,CSM v2 中约为 0.6 ETH),合并不会给他们带来太多好处。话虽如此,由于在不更改底层 LoE 协议的情况下 CSM 无法支持大型验证者,因此建议不要在 CSM v2 中添加对大型验证者的支持。

然而,一旦获得关于运营商平均验证者数量的真实数据,且 LoE 协议引入对大型验证者的支持,未来可能会再次考虑支持 EIP-7251 中的大型验证者。

关于预确认支持的说明

预确认是以太坊领域的热门话题。目前正在研究在 Lido 协议层面实施预确认支持。根据研究结果,应考虑将其他功能纳入 CSM v2。

EIP-7002 支持

执行层可触发退出(EIP-7002)将允许质押协议为提款凭证指向其合约的验证者请求退出。然而,这种退出请求方式需要支付费用。因此,现有的使用验证者私钥签署相应消息来请求退出的方法仍然更可取。

以下情况下,CSM 可能需要使用 EL 可触发退出:

  • 为那些被 VEBO 请求退出但未及时退出的验证者触发退出;
  • 为那些长期表现不可接受的验证者触发退出;
  • 在验证者私钥丢失的情况下,允许 CSM 节点运营者为其自己的验证者触发退出;

第一种情况应在 VEBO 内部解决,因为对于因提款覆盖或 targetLimit 而发起的退出请求,CSM 并不掌握 VEBO 所请求的验证者密钥信息。但是,VEBO 应(通过“hook”方法)通知 CSM 正在为延迟验证者触发退出,以便 CSM 可以惩罚节点运营者的保证金。此惩罚不应被销毁,而应转移到 Lido DAO 国库,以支付 VEBO 触发退出请求所支付的费用。

CSM 必须直接发起第二种和第三种情况,因为退出必须针对特定密钥触发。这意味着 LoE 对 EIP-7002 的实现应该能够直接请求为特定验证者密钥触发退出。

在因 Strikes 被剔除的情况下,所有相应惩罚都应在剔除时执行。值得考虑向方法调用者支付一笔小费,以补偿 Gas 成本及溢价。这笔小费应从节点运营者的保证金中没收。

对于自愿退出,在节点运营者自行承担全部退出费用的前提下,模块不应施加任何额外惩罚。

还建议允许 DAO(通过投票或 EasyTrack)明确请求剔除 CSM 验证者。

摘要

上述考虑可以总结如下:

  • VEBO 应负责为已被请求退出但未自愿退出的验证者触发退出;
  • 负责退出触发的协议部分应通知 CSM 正在为延迟的 CSM 验证者触发退出(包括节点运营者 ID 信息);
  • LoE 协议应允许 CSM 直接为 CSM 验证者请求触发退出;
  • CSM 应实现 voluntaryEjectValidator 方法,允许节点运营者请求为其验证者触发退出;
  • voluntaryEjectValidator 方法应可被 DAO 调用;
  • CSM 应实现一个允许为具有大量 Strikes 的验证者触发退出的方法;

表现不佳的 Strikes

这个话题内容过于宽泛,不适合在本文档中展开。请参阅单独的文档了解详情。

CSM Oracle 算法的改进

目前,已经确定了对 CSM Performance Oracle 的几项改进:

  • 如果节点运营者的任何验证者在奖励分配期间被罚没,则将其从奖励分配池中排除;
  • 引入更复杂的性能计算算法,其中将包括区块提议以及可能的同步委员会参与。参见此处
  • 正确处理错过的报告周期。如果某个报告周期因故错过,下一份报告应按两个周期的报告合并计算,而不是作为一个更长周期的报告;

摘要

上述考虑可以总结如下:

  • 如果在奖励分配期间有任何验证者被罚没,CSM Performance Oracle 应将节点运营者从奖励分配池中排除;
  • CSM Performance Oracle 应在其使用的性能指标中考虑区块提议和同步委员会参与;
  • CSM Performance Oracle 应正确处理错过的报告周期,并将下一份报告作为两个单独报告的总和交付,而不是作为一个更长周期的报告;

早期采用机制的演变

早期采用机制的主要目的是允许已识别的独立和社区质押者在早期采用期间加入 CSM,该期间从模块部署开始,一旦结束就不能再次激活。

预计到 CSM v2 升级时,早期采用期已经结束。因此,从模块代码中移除该机制似乎是合理的。

反对完全移除早期采用机制的一个理由是,有利的保证金曲线是为那些由列入早期采用列表的地址所创建的节点运营者设置的。

建议将早期采用机制转变为可更新的已识别运营商列表。这将允许多个可更新的已识别运营商列表,按不同标准分组,如独立质押者、公共利益运营者、小型专业运营者等。

为了鼓励这些运营商群体即使在早期采用期结束后也能加入 CSM,建议:

  • 将早期采用列表重命名为已识别质押者列表;
  • 将现有早期采用列表中尚未加入 CSM 的参与者移至已识别独立质押者列表;
  • 允许 Lido DAO 更新已识别独立质押者列表,以便在 CSM 运营期间添加新的独立质押者;
  • 如果无许可参与者是在加入 CSM 之后才被加入已识别独立质押者列表,也应允许其申领独立质押者福利;

已识别质押者列表功能将需要对 CSM 合约进行重大更改,如下图所示:

image

需要新增一个权限化方法 createNodeOperatorVettedAddressesRegistry 的实例被允许在执行前置检查后创建 CSM 节点运营者。需要 PermissionlessGate 来保持 CSM 的无许可准入。

每个入口合约都应可暂停,以减轻任何可能的列表问题。列表可以通过 Easy Track 更新,以减少治理负担。

由于入口合约通过角色与 CSM 关联,第三方可以开发自己的 Gate 合约。Gate 合约可以是入口门,为运营者分配自定义保证金曲线,也可以是具有自身核算和底层运营商结构的全功能附加组件(例如,用于 DVT)。这为第三方 CSM 集成开辟了巨大的潜力。

一种更通用的方法称为 Gates and Extensions,在单独的文档中描述。建议在 CSM v2 中实现这种通用方法。上面描述的解决方案可以被视为通用方法的一个特例。

对已识别独立质押者有利的费用

一个可能有助于 CSM 可持续增长的方案是累进费用。简而言之,CSM 可以为前 N 个验证者、接下来的 M 个验证者等分配不同的费用。这将允许对前 N 个验证者(早期加入者)收取高费用,并确保模块增长的费用结构保持可持续。

Staking Router(SR)层面的 CSM 费用不能是可变动的。因此,应将其设置为尽可能高的值。CSM 应能够在 Oracle 报告时将多余的 stETH 奖励转移到 Lido DAO 国库。CSM Oracle 应在链下负责费用分配。

关于累进费用的其他考虑见此处

摘要

上述考虑可以总结如下:

  • Staking Router 中的 CSM 费用应设置为 CSM 验证者适用的最高可能费用;
  • CSM 应能够在 Oracle 报告时将多余的 stETH 奖励转移到 Lido DAO 国库;
  • 费用参数应存储在链上,并应由 Lido DAO 配置;

已识别独立质押者的优先存款队列

“应该总是有一种方式让独立质押者加入 CSM 并快速开始验证” - Max

为已识别独立质押者设置优先存款队列的主要想法,是在 CSM 队列已被无许可运营者填满的情况下,为已识别的独立质押者提供一个可行的机会,让其在合理的时间内加入 CSM 并开始验证。将这一福利限制在特定数量的验证者密钥上,对于防止已识别独立质押者列表被滥用至关重要。

建议引入一个单独的优先队列。如果节点运营者是已识别的独立质押者,其上传的前 N 个密钥应被放入优先队列,并先于主队列处理。

此外,所提出的方法可以扩展到多个优先队列。更详细的信息见单独的文档

摘要

上述考虑可以总结如下:

  • CSM 应为已识别独立质押者实现优先存款队列;
  • 只有已识别独立质押者上传的前 N 个密钥应被放置在优先队列中;
  • 优先队列应在主队列之前处理;

已识别独立质押者的单独性能阈值

随着 CSM 的发展,Lido DAO 可能会考虑提高 CSM Performance Oracle 使用的性能阈值。这会导致已识别独立质押者面临更严格的性能条件。

建议为已识别独立质押者引入单独的性能阈值,从而为已识别独立质押者保留现有的性能阈值;相比之下,可以调高无许可运营者的性能阈值。

摘要

上述考虑可以总结如下:

  • CSM 应为已识别独立质押者实现单独的性能阈值;

参数注册表

为了支持上述三个功能并将其扩展到其他已识别质押者列表,需要一个单独的注册表合约。该合约在单独的文档中详细描述。

如果 CSParametersRegistry 是可升级的,这种方法将允许在将来添加额外的福利和参数。

移除单独的罚没报告

初始罚没惩罚将在 EIP-7251 中从 1 ETH 减少到 1/64 ETH(对于 32 ETH 验证者)。考虑到相关的 Gas 成本,在 Pectra 之后报告初始罚没将不再有意义。

更多关于解决方案空间的细节见此处

摘要

上述考虑可以总结如下:

  • 应移除 CSM 和 CSVerifier 中的无许可罚没报告方法;

链接

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

相关文章

0 条评论