EIP-7044: 永久有效的签名自愿退出
将 Capella 上的自愿退出签名域锁定为永久有效
Authors | Lion (@dapplion) |
---|---|
Created | 2023-05-18 |
摘要
将验证者自愿退出签名域锁定在 Capella 上,以实现永久有效性。目前,签名的自愿退出仅在两次升级中有效。
动机
目前,由于信标链状态仅考虑当前和之前的分叉版本,因此签名的自愿退出最多只能在两次升级中有效以供区块包含。这种限制增加了某些 staking 操作的复杂性,特别是那些 staking 运营商(活跃密钥的持有者)与资金所有者(提款凭证的持有者)不同的操作。由于自愿退出只能由活跃密钥签名,因此这种关系需要提前交换签名退出,以适应数量不限的分叉。
自愿退出的有限有效期最初是为了在硬分叉导致两条维护链的情况下将其隔离。如果存在分叉 A 和 B,并且验证者在两者上运行,如果他们发送退出,则它可以在两者上重放。但是,这种可能性不足以证明上面暴露的 UX 降级是合理的,因为没有资金处于风险之中,并且 staker 可以在一条或两条链上重新 staking。
规范
共识层
规范更改已构建到共识规范 Deneb 升级中。
该规范对状态转换函数进行了一项更改:
- 修改
process_voluntary_exit
以计算在CAPELLA_FORK_VERSION
上固定的签名域和根。
此外,voluntary_exit
gossip 条件被隐式修改以支持此更改。
为了使更改向后兼容,签名域锁定在 Capella 分叉上
执行层
此规范不需要对执行层进行任何更改。
理论依据
永久有效的签名自愿退出允许更简单的 staking 操作设计。它还将此类对象的 UX 与 BLSToExecutionChanges
和存款对齐,这样下游工具就不需要使用分叉版本信息进行更新。
向后兼容性
此更改与以太坊区块处理逻辑的共识层向后兼容。
对退出未来有效性的期望不向前兼容。具体来说,已经预先签署了使用 Deneb 分叉域的退出的用户,并期望其有效性,应该意识到这些预先签署的退出将不再被识别为有效。因此,用户应调整其前进方向。为了在包括 Deneb 和后续分叉在内的分叉中保持持续有效性,用户应确保使用 Capella 分叉域对其退出进行签名。
执行层不存在向前/向后兼容性问题。
测试用例
此 EIP 的测试用例可以在 consensus-specs
存储库的 deneb
测试套件中找到。
安全考虑
跨分叉网络的不同签名域先前会阻止在两次硬分叉后重放 VoluntaryExits。此规范更改导致重放保护不再存在。这些潜在的重放可能会影响分叉双方的 individual staker,但不会将资金置于风险之中,也不会影响链的安全性。
版权
在 CC0 下放弃版权和相关权利。
Citation
Please cite this document as:
Lion (@dapplion), "EIP-7044: 永久有效的签名自愿退出," Ethereum Improvement Proposals, no. 7044, May 2023. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7044.