Lido社区质押模块CSM v2设计解读

-2_u2peQRuiumZHE_B0vhA?view 发布于 2026-07-19 阅读 21

本文是Lido社区质押模块(CSM)第二版的设计文档,尽管已标记为弃用,但其中对Pectra升级后的模块演进规划仍具参考价值。文档提出CSM v2需支持EIP-7002执行层触发退出,设计罢工系统以淘汰表现不佳的验证者,改进CSM性能预言机算法(纳入区块提议和同步委员会参与度,并妥善处理错过的奖励帧),将早期采用机制转化为可更新的识别质押者列表,并为识别单独质押者提供优惠费用、优先存款队列和单独性能阈值。此外,文档讨论了EIP-7251对大型验证者的影响,认为当前不适宜在CSM中支持大型验证者,同时还计划移除单独的罚没报告机制。

[已弃用] CSM v2

本文档已关闭!

请评论并参阅 https://learnblockchain.cn/article/27223

image

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

范围

image

CSM 新版本需要实现以下几个重要特性和改进:

  • 支持 EIP-7002,并在 LoE 协议中作出相应更改;
  • 建立罚分系统,用于驱逐表现不佳的验证者;
  • 改进 CSM Oracle 算法;
  • 将早期采用机制转变为准入门槛(Entry Gates)机制;
  • 为已识别独立质押者引入有利的奖励分成;
  • 为已识别独立质押者引入优先存款队列;
  • 为已识别独立质押者引入单独的性能阈值;
  • 由于 Pectra 降低了初始罚没惩罚,移除单独的罚没报告;
  • 根据 Pectra 的更改重新考虑保证金曲线;

关于 EIP-7251 的说明:提高 MAX_EFFECTIVE_BALANCE

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

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

关于预确认支持的说明

预确认(Preconfirmations)是以太坊领域的热门话题。目前正在进行在 Lido 协议层实现预确认支持的研究。根据研究结果,应考虑将附加功能纳入 CSM v2。

EIP-7002 支持

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

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

  • 为已被 VEBO 请求退出但未及时退出的验证者触发退出;
  • 为长时间处于不可接受表现水平的验证者触发退出;
  • 允许 CSM 节点运营商在验证者私钥丢失的情况下,为其自有验证者触发退出;

第一种情况应在 VEBO 内部解决,因为在因提款保障或 targetLimit 而请求退出的情况下,CSM 没有 VEBO 所请求退出的验证者密钥信息。然而,VEBO 应(使用“Hook”方法)将正在为延迟验证者触发的退出告知 CSM,以便 CSM 可以扣罚节点运营商的保证金。该惩罚不应被销毁,而应转入 Lido DAO 金库,以覆盖 VEBO 触发退出请求所支付的费用。

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

在因罚分被驱逐的情况下,所有相应惩罚都应在驱逐时施加。值得考虑为方法调用者提供小费,以补偿 Gas 费用及溢价。该小费应从节点运营商的保证金中扣除。

对于主动请求退出的情况,模块不应施加任何额外惩罚,前提是节点运营商自行承担触发退出的全部费用。

还建议允许 DAO(通过投票或 EasyTrack)明确请求触发 CSM 验证者的退出。

总结

上述考虑可以总结如下:

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

表现不佳罚分

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

CSM Oracle 算法的改进

目前,已确定对 CSM 性能预言机进行以下几项改进:

  • 如果在奖励分配周期内,节点运营商的任何验证者被罚没,则将该节点运营商排除在奖励分配池之外;
  • 引入更复杂的性能计算算法,将区块提议以及可能的同步委员会参与纳入计算。参见此处
  • 正确处理错过的报告周期。如果某个周期因故错过,下一个报告应作为两个独立报告的总和计算,而不是作为覆盖更长周期的一个报告;

总结

上述考虑可以总结如下:

  • CSM 性能预言机应(SHOULD)在奖励分配周期内,如果节点运营商的任何验证者被罚没,则将该节点运营商排除在奖励分配池之外;
  • CSM 性能预言机应(SHOULD)在所用性能指标中纳入区块提议和同步委员会参与情况;
  • CSM 性能预言机应(SHOULD)正确处理错过的报告周期,并将下一个报告作为两个独立报告的总和提交,而不是作为覆盖更长周期的一个报告;

早期采用机制的演进

早期采用机制的主要目的是让已识别的独立和社区质押者能够在早期采用期间加入 CSM。早期采用期自模块部署时开始,一旦结束便无法再次激活。

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

反对完全移除早期采用机制的一个理由是,优惠的保证金曲线是为使用早期采用列表中的地址创建的节点运营商设置的。

建议将早期采用机制转变为可更新的已识别运营商列表。这样可以按不同标准维护多个可更新的已识别运营商列表,例如独立质押者、公共产品运营商、小型专业运营商等。

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

  • 将早期采用列表重命名为已识别质押者列表(Identified Stakers List(s));
  • 将现有早期采用列表中尚未加入 CSM 的参与者迁移到已识别独立质押者列表(Identified Solo Stakers List);
  • 允许 Lido DAO 更新已识别独立质押者列表,以便在 CSM 运行期间添加新的独立质押者;
  • 允许无许可加入的参与者在加入 CSM 后,其地址若被添加到已识别独立质押者列表,即可申领独立质押者权益;

已识别质押者列表功能需要为 CSM 合约引入重大更改,如下图所示:

image

需要新增一个需许可的方法 createNodeOperatorVettedAddressesRegistry 的实例可以在执行前置检查后创建 CSM 节点运营商。同时需要 PermissionlessGate 来保留 CSM 的无需许可入口。

每个入口合约都应支持暂停,以缓解任何可能出现的列表问题。列表可以通过 EasyTrack 更新,以降低治理负担。

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

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

为已识别独立质押者提供优惠费用

一个可能有助于 CSM 可持续增长的选择是累进费用。简而言之,CSM 可以为前 N 个验证者、接下来的 M 个验证者等设置不同的费用。这样既可以对前 N 个验证者(早期加入者)收取较高费用,也能确保模块增长的费用结构保持可持续。

CSM 在 SR(质押路由器)层面的费用无法设置为可变的。因此,应将其设置为最高可行值。CSM 应能在 Oracle 报告时将多余的 stETH 奖励转入 Lido DAO 金库。CSM 预言机应在链下负责费用分配。

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

总结

上述考虑可以总结如下:

  • CSM 在质押路由器(Staking Router)中的费用应(SHOULD)设置为 CSM 验证者的最高可行费用;
  • CSM 应(SHOULD)能够在 Oracle 报告时将多余的 stETH 奖励转入 Lido DAO 金库;
  • 费用参数应(SHOULD)存储在链上,并应(SHOULD)允许由 Lido DAO 配置;

为已识别独立质押者提供优先存款队列

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

为已识别独立质押者设置优先存款队列的主要思路是:当 CSM 队列已经挤满无需许可的运营商时,已识别独立质押者仍有机会在合理时间内加入 CSM 并开始验证。将这一权益限制在一定数量的验证者密钥内,对于防止针对已识别独立质押者列表的主动 Sybil 攻击至关重要。

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

此外,上述方案可以扩展到多个优先队列。更详细的信息见单独的文档

总结

上述考虑可以总结如下:

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

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

随着 CSM 不断壮大,Lido DAO 可能会考虑提高 CSM 性能预言机使用的性能阈值。这将使已识别独立质押者面临更严格的性能条件。

建议为已识别独立质押者引入单独的性能阈值,以便他们可以继续使用现有的性能阈值。相比之下,无需许可运营商的性能阈值可能会提高。

总结

上述考虑可以总结如下:

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

参数注册表

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

如果 CSParametersRegistry 可升级,则未来可以在该方法的基础上添加更多权益和参数。

移除单独的罚没报告

根据 EIP-7251,32 ETH 验证者的初始罚没惩罚将从 1 ETH 降至 1/64 ETH。考虑到相关 Gas 费用,在 Pectra 之后报告初始罚没将不再有意义。

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

总结

上述考虑可以总结如下:

  • 应(SHOULD)从 CSM 和 CSVerifier 中移除用于罚没报告的无需许可方法;

相关链接

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

相关文章

0 条评论