上海升级后验证者提款需要使用什么凭证?提款需要多长时间?有哪些细节需要注意?
<!--StartFragment-->
来源 | notes.ethereum.org
作者 | Trenton Van Epps
翻译 | John, ECN
校对 | Stephanie, ECN
$\,$
这篇文章的受众是?
如果你运行以太坊验证者,你现在可以测试提款并为提款在主网激活做准备了。
请留意 Goerli 和 Sepolia 测试网,因为这些测试网会在主网之前升级。在那之前,还有开发者测试网和主网的影子分叉。
在客户端软件准备好接受你的 BLS 密钥修改之前不要尝试修改你在主网上的 BLS 密钥,每一个客户端团队在准备好之后都会发出公告。我们会提供一个测试BLS修改的无风险测试网环境
Q: 上海/Capella 升级是什么?
Q: 什么是提款?
Q: 两种提款分别是怎么样的?
Q: 什么是 0x00 和 0x01 提款凭证前缀?
Q: 我怎么查看自己是 0x00 还是 0x01 地址?
Q: 如果我一开始存款时使用了 eth1 提款地址,我拥有哪一种提款凭证?
Q: 部分提款会自动执行吗?
Q: 完整提款会自动执行吗?
Q: 我如何为我的验证者进行完整提款(退出)?
Q: 现在上海升级后的每天提款限额提案是什么样的,且如果提款请求超过了该限额,决定该日谁有机会提款的规则是什么样的?
Q: 部分或完整提款是否每次都消耗gas?
Q: 自动余额会被提款到哪去?
Q: 我的验证者索引号是什么?
Q: 我如何从 0x00 凭证迁移到 0x01 凭证?
Q: 一旦我把凭证改为 0x01,我可以把它修改为另一个提款地址吗?
Q: 我把提款地址的 ETH 密钥弄丢了,我该怎么做?
Q: 进行部分提款要花多长时间?或者我什么时候可以拿到我验证者上的奖励?
Q: 如果我进行完整提款,但是我忘了把提款凭证改成 0x01,那么我的 ETH 会怎么样?
Q: 有什么办法能在不危及主网 ETH 的情况进行测试吗?
Q: 我没有 Goerli ETH 做测试,我能去哪里弄点来?
Q: 我已经是 Goerli的验证者了,我什么时候可以测试凭证修改?并在上面进行部分/完整提款?
Q: 我能取消已经在队列中的提款请求吗?
Q: 我还有很多问题,我该问谁去?
A:上海和 Capella 是即将到来的以太坊硬分叉的代号,被纳入的 EIP 可以在这里找到,其中的一个主要新功能就是允许验证者从以太坊信标链提款。上海升级是执行客户端分叉升级的代号,Capella 是在共识层客户端升级的代号。
A:以太坊网络目前支持个人通过锁仓 32 个 ETH 来运行一个验证者。验证者们参与以太坊信标链,处理网络共识。提款分叉将使得个人能够停止运行他们的验证者,退出网络,并解锁他们的 32 个 ETH 以及任何赚取的奖励。
A: 它们分别是:
0x00
和 0x01
提款凭证前缀A:信标链验证者们有一个被称为提款凭证的字段。这个凭证的头两个字节被称为提款前缀。目前这个值不是 0x00
就是 0x01
。当使用存款工具完成存款时,这个值就会被生成。题款凭证前缀是 0x00
的验证者们将不能马上进行提款,在部分和完整提款被启动且他们的资金被解锁前,这些验证者将需要迁移到 0x01
。转移是一次性的,所以请谨慎对待。
A:有很多方法,最简单的方法是使用 ethdo 工具。
ethdo validator info --validator=<yourvalidatorIndex> --verbose
这会输出一个”提款凭证“的字段,有可能以 0x00
或者 0x01
开头。另外,还可以查看信标链区块浏览器。举个例子,在 beaconcha.in 网站上,导航到你的验证者页面并在存款的标签下查看 Beaconchain Deposits
的字段。
eth1_withdrawal_address
,那么我拥有的是哪种提款凭证?A:在设置初始存款时得到--eth1_withdrawal_address
标志和一个以太坊地址的用户将已经拥有 **0x01
** 格式的提款凭证。从现在开始,提供这个标志和执行层提款地址将成为质押者的默认模式。只有那些初始存款没有这些数据的的用户才需要提交 BLSToExecutionChange
信息以升级他们的凭证。
A:若你的提款凭证被设定为 0x01
并被指向一个有效的以太坊地址,那么部分提款会自动发生。
Q:完整提款会自动执行吗?
A:不会,如果你的验证者目前是活跃状态,并正在参与信标链验证,那么完整提款不会自动发生,你必须手动启动一个退出进程才行。
另外,如果你启动了一个退出进程但持有的还是 0x00
的提款凭证,那么在你提交的 BLSToExecutionChange
的消息被打包到链上前,你的资金都不会被提出。
A:验证者退出需要从你的验证者客户端发送一条签名信息,退出进程的细节因客户端而异,以下链接将介绍每种客户端的情况:
A:任何余额超过 32 个 ETH 的部分都是自动提款的,并且目前的设计是平均每个星期就会有 1 次轮询调度,通过一次验证者退出可以实现完全提款,验证者退出时将会进入到一个退出队列里去,退出队列长度取决于网络里的验证者集的规模,限制了验证者退出的和进入信标链验证者集的频率。
A:不,部分/完整提款会在你的执行层地址上出现,不需要任何以太坊网络费用,它被看作是一次余额增加而不是一笔交易,是一次不需要 gas 的状态改变。
A:如果你在使用旧式提款凭证 0x00
,提款将无法进行,你需要迁移到 0x01
凭证才能完成提款。如果你已经配置了你的提款地址并且拥有一个 0x01
提款凭证,那么 32 个 ETH 以外的奖励会被转帐至你配置的以太坊地址。请注意这是一次余额更新,它不会被当作交易,不会触发智能合约钱包执行代码。
A:你验证者加入信标链时被赋予的的索引号码。
0x00
凭证迁移到 0x01
A:请参考这个,手把手教你
0x01
,我可以把它修改为另一个提款地址吗?A:不可以,从 0x00
迁移到 0x01
是一次性的,而且以太坊地址设置了就不能更改,所以迁移时请千万小心。注意,这可以是外部账户 (EOA) 或者是智能合约
A:不幸的是,如果提款地址地址丢失了,那么什么也做不了。请保证这个地址做好了备份并且被安全地保管着。
A:有一个单独的提款队列会处理部分和完整提款,每个 slot (每 12 秒)有 16 笔部分提款,从第一个索引号 0 开始。如果一个验证者成功退出了,那么一笔完整提款就完成了。相反,如果一个验证者的余额超过 32 个 ETH,那么一笔部分提款通过自动扫描完成了。完整提款是同一条队列下的一部分,但是他们处理地慢一点,这取决于验证者数量,有可能有不同数量的完整提款:
在网络上有 327680 名活跃验证者之前,每个 epoch 能激活 4 个验证者,每多 65536 名验证者 (4 * 16384 = **65536)**则验证者激活率上升 1。
每个 epoch 里激活 5 个验证者则需要 327680 名活跃验证者,即每天能激活1125名验证者
每个 epoch 里激活 6 个验证者则需要 393216 名活跃验证者,即每天能激活1350名验证者
每个 epoch 里激活 7 个验证者则需要 458752 名活跃验证者,即每天能激活1575名验证者
每个 epoch 里激活 8 个验证者则需要 524288 名活跃验证者,即每天能激活1800名验证者
每个 epoch 里激活 9 个验证者则需要 589824 名活跃验证者,即每天能激活2025名验证者
每个 epoch 里激活 10 个验证者则需要 655360 名活跃验证者,即每天能激活2200名验证者
激活数与活跃验证者数成正比,极限则是活跃验证者集除以 64。
这个表可能对你来说有点似曾相识,因为它使用的验证者数量与你想在信标链上开始验证时完全一样。
验证者退出机制的道理一样,退出信标链的验证者数的比率需要受限,以保证网络稳定性。
简单来说,最多需要的天数=(((active_validator_count)/16)12)/60/60/24。目前来说,大概4.34天。。
A:不会怎么样。你的验证者会完成退出,不会再被分配任务,也无法再赚取或损失任何额外的 ETH。你还是能把你的凭证从 0x00
迁移到 0x01
,一旦完成之后,验证者的余额就会被提到配置好的以太坊地址上。
A:当然有,有不同的测试网,有一些已经开启了提款功能了。第一个公共测试网叫做 Zhejiang,留意关于这个测试网的公告,你可以成为第一批测试提款功能的人。你可以在这里找到加入 Zhejiang 测试网的方法。
A:请试一下诸如 Zhejiang 这样的公共测试网来测试提款功能。如果你非常有兴趣并且不介意使用早期测试版软件(Alpha),你也可以请求加入开发者测试网。Goerli ETH 难以获得,但你可以试下 ethstaker 水龙头。
A:很快,留意下 blog.ethereum.org 上即将到来的公告。
A:不行,这是一次性,不可逆的进程。一旦你提交了你的提款请求(BLSToExecutionChange
和/或 退出),你就无法回头了。请你在完全清楚具体操作,确保万无一失的情况下进行退出和凭证修改操作。
A:请在 Discord或者Reddit 上加入 EthStaker
Discord invite: discord.io/ethstaker and look out for the #withdrawals channel.
Subreddit: reddit.com/r/ethstaker
核心规范:
<https://github.com/ethereum/consensus-specs/tree/dev/specs/capella>
特别地,阅读 validator.md 文档查看开启部分提款的方法。
ethdo (<https://github.com/wealdtech/ethdo>) 处理 BLS 凭证修改操作(若你目前使用的是 0x00 BLS 凭证)
staking-cli 工具 (<https://github.com/ethereum/staking-deposit-cli>)
如何触发提款,凭证修改操作 (<https://notes.ethereum.org/@launchpad/withdrawals-guide>)
如何加入公共提款测试网 (<https://notes.ethereum.org/@launchpad/zhejiang>)
-留意社区的 PM repo 公告 <https://github.com/ethereum/pm/issues>
$\,$
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!