质押提款

自上海/卡佩拉升级时起,已经在信标链上启用了提款功能,并且包含了 EIP-4895。该以太坊改进提案使奖励能够自动提取到执行层,并且还为退出的验证者提供了一种解锁其全部余额的方法—不需要燃料。

启用提款

为了让你的验证者能够进行任何类型的提款,必须提供一个提款地址并注册到你在信标链上的帐户。提款地址应该是由你控制的地址,且一旦设置就不能更改。

当前验证者

根据你的初始存款设置方式,你的帐户可能已经或者不能进行提款:
  • 质押存款CLI:如果你在生成密钥时使用了 --eth1_withdrawal_address 标志,那么就可以开始提款了
  • Wagyu Key Gen GUI:如果你在生成密钥时提供了提款地址,那么就可以开始提款了(可以在“高级模式”下找到)。
在此处输入验证者索引,查看你的帐户是否可以提款:

如何更新验证者密钥

如果验证者帐户仍然有 BLS 提款凭证(0x00),则必须广播一条一次性信息,指示应将哪个执行层帐户用于所有提款。
  • 0x00 = “类型 0” = BLS 密钥 = 旧提款凭证:不符合提款条件
  • 0x01 = “类型 1” = 执行密钥 = 新提款凭证:已启用提款
请注意,您的 提款凭证 与从提出的区块接收交易费的 费用接收地址 不同。两者可以设置为相同的地址,但必须分别设置。

可用于生成密钥变更信息的工具

这些工具将帮助您生成必要的密钥和要签名的信息。从上海/卡佩拉升级开始,可以广播已签名的消息,以便将其包含到区块中。
这需要使用你的助记词,并且应该在一个离线物理隔离机器上执行。

BLS 至执行变更 (BTEC) 队列

有一个值得注意的队列,它限制在给定区块期间可以将多少 BLS (0x00) 提款地址更新为一个执行地址 (0x01)。If more than 16 requests are being made at one time, a queue will be formed and these will be processed in subsequent blocks. Once completed, your validator is permanently enabled for withdrawals, and will be eligible for payouts during the next sweep.

超额余额提款(部分提款)

当活跃验证者的有效余额最大值达到 32,且总余额超过 32 时,处理 超额余额提款。单个验证者无法获得针对超过 32 个以太币的超额余额的奖励,因此这些帐户会自动将任何多余的余额提取到其以太坊地址。这类提款也称为“部分提款”或“奖励支付”,因为剩下的 32 个以太币处于锁定和质押状态。
📝 无法手动请求要提取以太币的具体数量

如何退出质押(全额提款)

任何不活跃的验证者,如果不再被视为质押,则会处理全额提款,并完全退出其验证职责。因此,要完全提取其余额,验证者必须首先完成退出过程。

要退出质押并完全提取您的全部剩余余额,你必须做两件事:

  1. 请确保你使用执行提款地址更新了你的提款凭证
  2. 通过使用验证者密钥和验证者客户端对自愿退出信息签名并向网络广播,表明你退出质押的意图
通过完成第一步,你将启用从验证者帐户中提款。这将自动触发超额余额支付(部分提款)的处理,但不会自动解锁你的其余资金,也不会触发退出网络。那些希望从质押中退出并提取以太币的验证者,应查看下方与您设置相匹配的指南:共识客户端:备选节点工具:
要让帐户符合全额提款条件,必须首先退出验证者帐户。验证者帐户可以通过两种主要方式退出质押:自愿退出或强制退出。
  • 任何想要履行质押义务的人都可以签署“自愿退出”信息并随后广播到信标链上,以开始此流程。这是一个手动步骤。
  • 根据网络规则,遭到罚没或余额不足的帐户将被强制退出。该过程是自动执行的,并且一旦启动就无法停止。
任何一种退出(无论自愿与否)都必须通过退出队列处理。退出不会立即进行,而是取决于同一时间有多少其他帐户也在退出。
📝 验证者在退出之前仍需要完成其验证职责
一旦验证者退出并提取其全部余额,存入该验证者的任何额外资金将在下一次验证者扫描期间自动转移到提款地址。要重新质押以太币,必须激活新的验证者。

提款机制:工作原理

提款是一种操作,而非新的交易类型

以太坊用户习惯于以手动方式进行交易ーー如果你想转移资金,你必须签署交易并支付燃料费用。名为 信标链的提款推送操作 的 EIP-4895 采用了一种设计,为质押人简化了整个流程。质押人不再使用新的交易类型手动请求提款,而是每隔几天就会自动检查账户是有否符合条件的超额余额。所有验证者都将被无限循环地检查,任何可用的奖励或退出资金都会自动“推送”到提供的提款账户中。

提款队列

提款队列由区块提议者自动填充和处理,提议者通过一种扫描机制自动检查有无任何可用的支付。在永不停息的循环中,会持续评估每个验证者帐户是否可作为符合条件的以太币提款地址(有两种类型,下面将详细介绍)。将按从 0 开始的索引号依次处理验证者,之后每位提议者都从上一位提议者停止的地方继续。当一个验证者计划提议下一个区块时,它会执行验证者帐户扫描,以寻找符合条件的提款。在扫描过程中,验证者将检查最多16,384个帐户,试图找到16个可用的提款,以便在下一个区块中处理。就像时钟指针一样,此过程是不可逆转的。到达最后一个验证者时,扫描从头开始。对于此过程中的每个验证者,都会对其帐户进行评估,以确定是否有可能进行提款。
📝请注意,“提款”和“BLS-to-execution”队列是独立的,并不相互竞争。每个队列在每个时段都受到限制。

退出队列和激活队列

任何已经经历过激活验证者过程的人都知道,这个过程不是自动的,特别是当有许多其他用户试图同时加入的时候。这是因为共识层使用激活队列 来限制新验证者帐户加入 网络的速度。同样,还有一个退出队列,它限制验证者可以离开网络的速度。这是出于安全考虑。考虑到每个验证者的最大有效余额被限制为 32 个以太币,这可以防止大部分以太币有可能被用于攻击,并随后迅速一次性退出网络。在给定时段(6.4 分钟)内可以激活或退出的验证者数量取决于当前网络上有多少活跃的验证者。每个时段允许四 (4) 个验证者退出,每 65,536 个活跃验证者可以增加一个(验证者总数为 327,680 个)。截至 2023 年 2 月,该限制为 七 (7) 个验证者,当验证者数量达到 524,288 时,将增加到八 (8) 个。
📝请注意,“激活”和“退出”队列是独立的,并不相互竞争。每个队列在每个时段都受到限制。

退出时段和提款时段

在广播已签名的自愿退出信息后,立即根据当前的时段编号计算 退出时段可提款时段 的值。这些值分别确定在线执行验证时不再需要验证者的时间以及验证者符合全额提款条件的确切时间。
退出时段 - 你的验证者不再活跃、不再获得奖励、不再受到罚没规则约束的时段。此时段由第一个因其他验证者退出而未达到最大值的可用时段确定(速率限制取决于网络上的验证者总数),并且必须距启动退出后至少四 (4) 个时段。在这个时段之前(“在队列中”时),你的验证者应该是在线的,并且始终遵守相同的罚没规则。 在这个时段之前,不要关闭你的验证者。
可提款时段 - 你的验证者资金在下一次验证者扫描期间符合全额提款条件的时段。这发生在退出时段后 256个 时段,大约需要 27.3 小时。
退出队列摘要一旦广播了已签名的自愿退出信息,就需要:
  • 从当前时段至少过去 大约 25 分钟(四个时段)后到达退出时段(队列中没有其他验证者,易变
  • 然后,再经过 大约 27 小时(256 个时段),这些资金才标记为可提取
  • 然后最多再过 再过几天,下一个验证者扫描将执行全额提款(持有 0x01 提款凭证)
This timing of this last step is variable depending on validator index, current sweep position, and number of validators. 下面介绍更多关于支付频率的信息。
请注意,用户一旦有 0x01 提款凭证并且已经广播了自愿退出信息,则在处理完成之前不需要进一步的操作。

如何就提款评估每个验证者

请遵循决策树,以确定将启动哪种类型的提款。如果被检查的验证者有符合提款条件的以太币,则将其添加到提款队列。如果没有,则跳过该帐户。
  1. 是否提供了提款地址?
    • 如果是这样,请进入下一个问题
    • 如果没有,请停止。不会处理任何提款并跳过该帐户
  2. 验证者是否完成了退出流程?
    • 如果是,请停止。已为任何余额处理全额提款
    • 如果不是,那么进入下一个问题
  3. 有效余额是否已达到最大值 32?
    • 如果是,处理了 超额余额提款
    • 如果不是,将不会处理任何提款并跳过该帐户
然后,区块生成者检查队列中的下一个验证者,并再次确定是否需要处理提款。重复这一过程,直到找到16个符合条件的提款,或者直到检查了16,384个验证者,以先达成为准。此时,提款队列被发送到执行层,以包括在下一个区块的末尾。

影响支付频率的因素有哪些?

检查每个账户需要多长时间取决于:
  1. 取款队列上设置的费率限制(可以在上海之前通过测试进行更改)
    • Max withdrawals per payload: 16 (24)
      单个区块中可处理的最大提款次数
    • Max validators per withdrawals sweep: 16,384 (214)
      一个区块中可以检查的最大帐户数。当发现16次提款时停止。如果在检查的前16,384个帐户中没有找到16个合格的奖励,那么该区块的提款队列将按原样提交,下面的提议者将从中断的地方继续。
  2. 验证者帐户总数(索引计数、所有注册过的验证者帐户,只会随着时间增加)
  3. 符合提款条件的验证者帐户总数(变量)
    • 将跳过没有已更新提款凭证的帐户
    • 已全额提款且余额为零的帐户将被跳过
    • 有效余额或总余额小于 32 个以太币的活跃帐户将被跳过
  4. 空时隙数(错过的区块机会、变量,通常最小)
  5. 共识层时隙计时:12 秒(没有要更改的计划)
可以将这些因素归纳总结,以根据需要处理的提款数量预估完整扫描所需的时间上限:
提款次数完成时间
400,0003.5 天
500,0004.3 天
600,0005.2 天
700,0006.1 天
800,0007 天

延伸阅读