执行层触发退出是什么?EIP-7002 让提币凭据也能发起质押退出 图 1
执行层触发退出是什么?EIP-7002 让提币凭据也能发起质押退出 · 图 1

质押 ETH 的退出流程长期有一个别扭的地方:决定”不再验证”的那条消息,必须用验证者日常签名用的那把热钥匙来签。钥匙在托管方手里、资产所有者想撤资时,就只能等对方配合。EIP-7002 改变的就是这个不对称——它引入了执行层可触发的退出(execution layer triggerable exits),让持有提币凭据的一方直接在以太坊主网调用一个合约就能发起退出,不碰验证者签名密钥,也不需要和信标节点打交道。ethereum.org 的 Pectra 页面把这一点列为该升级对质押者的主要改动之一,并明确该升级在 2025 年 5 月 7 日(UTC)激活。

两种钥匙,原来只有一把能用

每个验证者有两类关键材料:执行用密钥(BLS 签名密钥,常驻节点,用于证明和聚合签名)和提币凭据(withdrawal credentials,指向收款地址的冷侧信息)。在 Electra 之前,退出消息只能由前者签名——换句话说,冷钱柜的所有人如果想让一个由别人运维的验证者停下来,流程上必须经过运维方。EIP-7002 的动机里还提到更极端的场景:验证密钥丢失时,资产原先缺少一条链上自救路径。新机制让”用提币地址签名发起一笔交易”本身成为退出指令的来源。

合约怎么接住这些请求

机制示意(图片由 Agnes 生成,非产品界面或链上数据图)

规范在主网预部署了专门的请求合约 0x00000961Ef480Eb55e80D19ad83579A64c007002(EIP-7002 文本中的 WITHDRAWAL_REQUEST_PREDEPLOY_ADDRESS)。用户向它提交一个 56 字节输入:验证者公钥拼上大端编码的金额。合约把请求排队,信标链每批最多收取 16 条(MAX_WITHDRAWAL_REQUESTS_PER_BLOCK),目标值 2 条,超出目标会按比例推高后续请求的固定费用——这是 EIP-7685 通用请求队列的标准玩法,防的是请求洪峰。请求被信标层处理后,退出按既有的退出队列规则走完。

排队仍然是排队

链上触发只是改了发起方式,不豁免共识层的节奏。一个验证者的退出要先进入信标链的退出队列,再经过一段为了防范”先撤资再作恶”而设的安全暴露期,资金才真正到达提币地址。队列长度和等待时间随全网验证者规模、当期进入与退出流量动态变化,协议文档从不承诺固定天数——任何给出精确小时数的说法都值得核对出处。想评估自己何时能拿到资金,正确做法是参考信标链官方文档对退出队列(exit queue / churn)机制的当期说明,或用可信的质押面板观察实时速率。

值得一提的是请求费用本身的设计:队列长期空转时,第一条请求只需支付 1 gas 的最低费用,但每条未处理的积压请求会按固定系数抬升后续请求的价格,直到积压被消化回落。这套自动定价让零散的散户退出几乎免费,同时让短时间内的批量退出请求承担递增成本,避免请求池被无成本灌满。用户可以直接查询请求合约的 fee 接口,在发起前先看清当时的排队价格。

对质押产品的意义

EIP 文本和 Pectra 页面都点到了这层价值:当退出可以由提币凭据在链上直接触发,质押协议的信任假设就能弱化对节点运维方的依赖——池子运营方不再天然握有”不帮你退出”的软权力。对使用质押池或再质押服务的用户,这是一条可以拿去问服务的检查项:该产品的退出路径是否支持执行层触发;发起后费用如何;队列等待由谁承担。

发起一笔退出长什么样

从用户视角,流程被压缩成一次普通的以太坊主网交易:向请求合约发送 56 字节 calldata,签名者必须是提币凭据对应的地址。区块浏览器上可以直接核对三件事:交易的目标地址是否就是那个预部署合约、输入长度是否为 56、前 48 字节是否与你登记的验证者公钥一致。三项中任何一项对不上都应停下来核实——仿冒质押页面诱导用户向错误合约地址操作,是这一流程下典型的攻击路径,防骗的要点就是把目标地址和 EIP 规范给出的常量逐项对照。

风险边界

新路径扩大了攻击面的一点是:提币凭据对应的地址私钥现在成了退出指令的授权来源,这个地址的安全等级需要相应上调。同时,触发退出不会终止当期的罚没暴露,退出队列也可能在流量高峰时变长。本文引用版本事实以 EIP-7002 规范(状态 Final)与 ethereum.org Pectra 页面的自带标注为准,不构成投资建议,也不预测任何质押收益。