EigenLayer 文档

  • Layr-Labs
  • 发布于 2025-03-07 13:52
  • 阅读 36

本文档是 EigenLayer 核心合约 v1.3.0 版本的文档,介绍了 EigenLayer 的系统组件,包括 EigenPodManager、StrategyManager、DelegationManager、RewardsCoordinator、AVSDirectory、AllocationManager 和 PermissionController。

EigenLayer 文档 - v1.3.0 版本

此仓库包含 EigenLayer 核心合约,这些合约支持对流动性质押代币 (LST)、信标链 ETH 和免许可部署的 ERC20 策略进行重新质押,以保护称为 AVS(主动验证服务)的新服务。有关 AVS 的更多信息,请查看 EigenLayer 中间件合约此处

本文档概述了系统组件、合约和用户角色,并且是最新的 ELIP-002。有关主要系统合约的更多文档,请参见/core

目录

系统组件

EigenPodManager

文件 类型 代理
EigenPodManager.sol 单例 透明代理
EigenPod.sol 实例化,每个用户部署一个 信标代理

这些合约协同工作以实现原生 ETH 重新质押:

  • 用户通过 EigenPodManager 部署 EigenPods,其中包含用于验证验证者的提款凭证和当前余额的信标链状态证明逻辑。EigenPod 的主要作用是充当一个或多个用户验证者的费用接收者和/或提款凭证。
  • EigenPodManager 处理 EigenPod 的创建,以及重新质押原生 ETH 的用户与 DelegationManager 之间的会计和交互。

参见完整文档:

StrategyManager

文件 类型 代理
StrategyManager.sol 单例 透明代理
StrategyFactory.sol 单例 透明代理
StrategyBaseTVLLimits.sol 实例化,每个支持的代币一个 - 在 StrategyFactory 外部署的策略使用透明代理 <br /> - 通过 StrategyFactory 署的任何内容都使用信标代理

这些合约协同工作以实现 EigenLayer 支持的 ERC20 代币的重新质押:

  • StrategyManager 充当 EigenLayer 中任何受支持代币的进入点和退出点。它处理存入 LST 特定策略的存款,并管理重新质押的 LST 的用户与 DelegationManager 之间的会计和交互。
  • StrategyFactory 允许任何人部署策略来支持新的 ERC20 代币的存款/提款
  • StrategyBaseTVLLimits 被部署为多个单独的实例,每个支持的代币一个。当用户通过 StrategyManager 存入策略时,此合约接收代币,并按比例向用户奖励策略中的存款份额。当用户提款时,策略合约会将 LST 发送回用户。

参见完整文档 /core/StrategyManager.md

DelegationManager

文件 类型 代理
DelegationManager.sol 单例 透明代理

DelegationManager 位于 EigenPodManagerStrategyManager 之间,用于管理质押者到 operator 的委托和取消委托。它的主要功能是允许用户成为 operator,跟踪跨不同策略委托给 operator 的 shares,以及通过 EigenPodManagerStrategyManager 代表质押者管理提款。

DelegationManagerAllocationManager 紧密结合。DelegationManager 摄取有关 slashing 的信息,作为管理已被 slashing 的 operator 的质押者的 shares 会计的一部分。当 AVS slashing 一个 operator 时,它还会收到 slashing/销毁 operator shares 的指令。

参见:

RewardsCoordinator

文件 类型 代理
RewardsCoordinator.sol 单例 透明代理

RewardsCoordinator 是在 EigenLayer 中提交和索取 ERC20 奖励的主要入口点。它执行三个基本功能:

  • AVS(通过 AVS 的合约)在特定时间段内向其注册的 operator 和质押者提交“奖励提交”
  • 链下,奖励更新器将使用每个 RewardsSubmission 时间段将奖励金额应用于历史质押者/operator 质押权重。这被整合到一个 merkle 根中,该根被链上发布到 RewardsCoordinator,允许质押者/operators 索取他们分配的奖励。
  • 质押者/operators 可以索取奖励更新器发布的奖励。

参见完整文档 /core/RewardsCoordinator.md

AVSDirectory

文件 类型 代理
AVSDirectory.sol 单例 透明代理
注意:此合约保持不变是为了向后兼容。Operator<>AVS 注册将完全被 AllocationManager 替换,并且该合约将在未来的版本中被弃用。

以前,AVSDirectory 处理 AVS 与 EigenLayer 核心合约之间的交互。一旦在 EigenLayer 核心中注册为 operator(通过 DelegationManager),operator 就可以注册一个或多个 AVS(通过 AVS 的合约),以开始向他们提供链下服务。作为向 AVS 注册的一部分,AVS 会通过调用 AVSDirectory 在核心合约中记录此注册。截至 slashing 版本,此过程现在由 AllocationManager 管理。

参见完整文档 /core/AVSDirectory.md

有关 AVS 合约的更多信息,请参见 中间件仓库

AllocationManager

文件 类型 代理
AllocationManager.sol 单例 透明代理

AllocationManager 通过引入operator 集和 slashing 替换了 AVSDirectory。它处理几个用例:

  • AVS 可以创建 operator 集,并且可以在其中定义 EigenLayer 策略
  • Operators 可以注册或注销 AVS 的 operator 集
  • operators 可以通过分配其策略的总委托股份的一部分来进行可 slashing 的安全承诺,使其可被 slashing。例如,作为 operator,我可以分配 50% 的委托 stETH,使其可被特定的 operator 集 slashing
  • AVS 可以 slashing 已分配给 AVS 的一个 operator 集并已注册的 operator

参见完整文档 /core/AllocationManager.md

PermissionController

文件 类型 代理
PermissionController.sol 单例 透明代理

PermissionController 允许 AVS 和 operator 将调用某些核心合约函数的能力委托给其他地址。此委托能力不适用于质押者,并且不适用于所有核心合约函数。

以下核心合约在某些方法中使用 PermissionController

  • DelegationManager
  • AllocationManager
  • RewardsCoordinator

参见完整文档 /permissions/PermissionController.md


角色和参与者

要查看本节中描述的用户流程示例,请查看我们的集成测试:/src/test/integration

质押者

质押者是指已将资产存入(或“重新质押”)到 EigenLayer 的任何一方。目前,这些资产可以是:

  • 原生信标链 ETH(通过 EigenPodManager)
  • 任意 ERC20(通过 StrategyManager)

质押者可以重新质押这些资产的任意组合:质押者可以持有所有这些资产,或者只持有其中一种。

流程:

  • 质押者通过 StrategyManager(对于 ERC20)或 EigenPodManager(对于信标链 ETH)将资产存入 EigenLayer
  • 质押者通过 DelegationManager 提取 资产,无论他们提取的是什么资产
  • 质押者通过 DelegationManager 委托给 operator
Operator

Operator 是指帮助运行构建在 EigenLayer(AVS)之上的软件的用户。operators 在 EigenLayer 中注册并允许质押者委托给他们,然后选择加入以提供构建在 EigenLayer 之上的各种服务。operator 本身可能是质押者;这些不是互斥的。

流程:

  • 用户可以通过 DelegationManager 注册为 operator
  • Operators 可以像质押者一样 存入提取 资产
  • Operators 可以选择加入以使用 AVS 的中间件合约为 AVS 提供服务。有关更多详细信息,请参见 EigenLayer 中间件 仓库。

常见用户流程

存入 EigenLayer

存入 EigenLayer 取决于质押者是存入原生 ETH 还是 LST:

![.](https://img.learnblockchain.cn/2025/09/01/Depositing.png

委托给 Operator

![.](https://img.learnblockchain.cn/2025/09/01/Delegating.png

取消委托或排队提款

从 operator 处取消委托会自动排队一个需要通过 DelegationManager 的提款延迟的提款。想要提款的质押者可以选择 undelegate,或者可以直接调用 queueWithdrawals

![.](https://img.learnblockchain.cn/2025/09/01/Queue20Withdrawal.png

以 Shares 完成提款

如果质押者想要更改他们委托给哪个 operator,此流程最有用。质押者首先需要取消委托(见上文)。此时,他们可以委托给不同的 operator。但是,只有在质押者将其排队的提款“以 shares”完成后,新的 operator 才会获得 shares:

![.](https://img.learnblockchain.cn/2025/09/01/Complete20Withdrawal20as20Shares.png

以 Tokens 完成提款

对于原生 ETH 和 LST,将排队的提款以 tokens 完成大致相同。

但是,请注意,可以完成提款之前,原生 ETH 质押者将需要执行其他步骤,如下面的图表所示。

![.](https://img.learnblockchain.cn/2025/09/01/Complete20Withdrawal20as20Tokens.png

EigenPods:处理验证者退出

如果质押者想要完全从信标链中提款,他们需要在完成提款之前执行这些额外的步骤:

![.](https://img.learnblockchain.cn/2025/09/01/Validator20Exits.png

EigenPods:处理验证者收益

随着质押者的 EigenPod 累积共识层或执行层收益,EigenPod 的余额将增加。质押者可以检查他们的验证者以将此收益作为 shares 索取,这些 shares 可以保留在 EigenLayer 中,也可以通过 DelegationManager 提款队列提取:

![.](https://img.learnblockchain.cn/2025/09/01/Validator20Yield.png

  • 原文链接: github.com/Layr-Labs/eig...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Layr-Labs
Layr-Labs
江湖只有他的大名,没有他的介绍。