主页 > 下载安卓版imtoken钱包 > 从0到1:了解以太坊上海升级

从0到1:了解以太坊上海升级

下载安卓版imtoken钱包 2023-07-03 05:17:34

作词:石奇

长话短说

了解以太坊上海升级

什么是上海升级

上海升级是以太坊执行层的下一次硬分叉。 经历了君士坦丁堡升级、伊斯坦布尔升级、柏林升级、伦敦升级、巴黎升级(Merge)。 每一次升级都意味着以太坊有一些重大的更新,比如EIP-1559改变了矿工的收入结构,Merge改变了以太坊的运行机制等等。

信标链(beacon chain)——两年共识层实习生

2020 年 12 月,以太坊推出了 Beacon 链。 此后,以太坊从执行层和共识层分管一条链,变成了执行层共识层分管两条平行链,这也是从PoW到PoS的转变。

改造后,共识层负责Beacon链,执行层负责原以太坊主网,也就是大家平时在以太坊上与用户交互的主网。 Beacon链与主网合并前,仅通过执行层的Deposit Contract进行通信。 简而言之,用户在执行层的Deposit Contract上存入ETH,然后将ETH存储在信标链中,但从此之后,信标链上的ETH无法返回执行层。 , 存款合约中的 ETH 无法提取。

注:存款合约,简称Deposit Contract是部署在ETH主网上的智能合约,它会接受任何包含至少1个ETH和有效输入数据的交易,信标链上的节点会监听这个合约,并使用被监控交易中的输入数据在信标链中建立对应的Validator。

不过,Beacon链并没有一上线就登场。 经历了两年的共识见习阶段,直到2022年9月才正式与以太坊主网合并。中间的Beacon链经历了多次升级,从最初的,到,再到Bellatrix(又名作为The Merge),终于顺利出道。 此后,Beacon 链和以太坊主网相结合,形成了一个新的以太坊。 引擎 API 进行通信。

在Beacon链两年的共识见习过程中,Beacon链上积累了大量的ETH,至今仍无法提现。 用户平时在以太坊网络上操作时,使用自己的层级执行ETH余额。 所以信标链ETH的提现功能是必须要实现的,这次上海升级(Shanghai Upgrade)来了。

上海升级其实是指执行层的升级。 除了上海升级之外,还有共识层信标链的升级,称之为升级。 将Beacon链上的ETH提现到执行层的功能是由上海升级和Capella升级共同完成的。

上海升级重点

上海升级的首要目标是实现信标链的提现功能。 除了信标链退出之外,EOF(EVM Object Format)也是一次重大升级,但正是因为它如此重要,才会需要更多的测试时间。 为了不耽误信标链提现功能的实现,EOF的升级可能会推迟,主要看他的进度。

EIP-4844是另一个备受关注的重要升级。 由于对以太坊意义重大,也可能延迟信标链提现功能的实现,EIP-4844已确认纳入下一次坎昆升级(下一次上海升级)。

上海升级进度

以太坊私钥生成过程_以太坊联盟和以太坊的关系_有余额的以太坊私钥

预计2023年1月进行影分叉,3月进行上海升级硬分叉。 本次升级除了执行层的上海升级外,还将进行共识层的Capella升级,执行层和共识层的联合升级将完成信标链的提现功能,此外对信标链上质押的ETH提现功能,也会进行EOF等一些小的升级。 预计共实现9个EIP。 另一方面,根据2023年1月5日举行的下一次All Core Developers会议,将决定是否将EOP的实施推迟到2023年秋季,以免影响提现功能的实施进度。 备受期待的 EIP-4844 也将于 2023 年秋季实施。

注:Shadow fork,简单来说,shadow fork是一种压力测试的方法,利用主网的数据在小范围的节点上进行测试。 通过运行少量配置更新的节点对以太坊网络进行分叉,得到一个影子分叉网络,使得影子分叉可以继承原网络的状态和历史,而不影响原网络中大部分节点的状态。 不会影响分叉前网络的运行。 这样做的好处是主网的数据量和交易是最复杂的,可以帮助节点模拟真实情况。

升级的具体内容

取钱

可能涉及的概念

首先,您需要了解提款。 你需要对什么是Validator、什么是ETH 2.0、The Merge发生了什么有一个模糊的概念。 如果你熟悉下面提到的概念,你可以跳过它。

如果没有概念,也可以阅读以太坊2.0知识库,也可以对现状做一个简单的了解:以太坊现在分为共识层和执行层。 共识层有一堆打工仔,叫做Validators。 (Beacon 链)承诺 32 ETH 作为他们工作的保证。 有了这个保证,Validators 就可以为以太坊工作,互相监督,换取一些收入。 目前,用于担保和收益的资金,Validators无法收回。

验证者的职责

验证器具有三个主要职责:

(1) Propose block,继承了之前矿工的职责,但目前大多数Validators选择安装mev-boost,间接实现Proposer builder分离。 如果您想了解更多关于 MEV 和 MEV-boost 的信息,可以阅读 A&T View:Investment Opportunities in Ethereum Staking Extractable Value

(2) Sign Attestation,即Validator投票确认其他Validator提案区块的有效性,Attestation每个Epoch进行一次,是对Responsibility 1的补充

(3) 监控其他 Validators 的 Slashable offences(监控违规行为)。 常见的违规行为包括 Attestaion Violation

插槽和纪元

Slot和Epoch可以理解为一个时间单位,代表一个时间间隔,一个窗口期,他们对应的是一段时间的长度,12s/slot,32个Slots=1个Epoch,6.4mins/Epoch,所以一个每 12 秒时隙有余额的以太坊私钥,每 6.4 分钟一个纪元,每天 225 个纪元。

Slots 和 Epochs 在理解取款方面起着重要作用,因为 Validators 以 Slots 或 Epochs 为单位运行,因此,取款也以 Slots 或 Epochs 计算。

有余额的以太坊私钥_以太坊联盟和以太坊的关系_以太坊私钥生成过程

以太坊联盟和以太坊的关系_以太坊私钥生成过程_有余额的以太坊私钥

图片来自:

通常每个Slot都会有一个随机选择的Validator,这个Validator可以提议一个区块(一个Slot只会有一个有效区块,但每个Slot不一定有一个区块,比如这个slot选出的validator离线提议区块)。 同时,所有的Validators会被分成很多委员会(committees),每个委员会至少有128个,最多有2048个Validators。 每个委员会中的聚合器数量目前为 16 个。聚合器负责聚合验证器的证明投票并广播给下一个区块提议者。 在每个 Epoch 之后,委员会将解散,然后重新组织。

验证者的状态

Validator 有几种常见的状态。 根据不同的状态,会满足不同的 Validator 退出条件。 因此,有必要了解Validator的几种主要状态,才能正确理解提现是如何发生的。 显然,并不是所有的Validator都处于Active状态,只有处于Active和Withdrawable状态的Validator才满足退出条件。

1. 存款

首先,用于成为Validator的32ETH首先要存入主网的存款合约(Deposit Contract),这个状态会持续7个小时左右,然后进入Pending状态。 每个Validator创建成功后,都会有一个对应的Number(index),这个数字是单调递增的,也就是说越晚成为Validator,你的index越大

2.待定

Validator完成充值后,成为正式的Validator后备军。 它需要等待其他活跃的(Active)Validators投票后才进入Pending状态。 该投票每 4 小时进行一次。

进入Pending状态后,Validator会进入一个队列等待完全激活。 每个 Epoch 可以激活的 Validator 数量受“搅动限制系数 (CHURN_LIMIT_QUOTIENT)”限制。 计算方法是

最大(MIN_PER_EPOCH_CHURN_LIMIT,n // CHURN_LIMIT_QUOTIENT)

其中 = 4,n 是活跃验证者的数量,CHURN_LIMIT_QUOTIENT = 65536。

因此,以2022年12月29日的数据为例,目前全网有492,975个Active Validators,所以目前每个Epoch可以激活的新Validators数量为7个,按每天225个Epochs计算,每天可激活的新验证人 验证人数量为 1575。

3.主动

处于 Active 状态的 Validator 可以参与 Attestation 并提出区块(开始工作),直到 Validator 的余额降至 16ETH 以下,自愿退出或被 Slashed。

以太坊私钥生成过程_有余额的以太坊私钥_以太坊联盟和以太坊的关系

如果任何验证者错过了区块提议或参与证明,这种状态称为离线(缺勤)。 如果至少有 2 个 Epoch 没有参与 Attestation,则 Validator 将被扣除。 一般来说,Validator 必须至少有 50% 的时间在线才能获得正回报。 但是,离线的 Validator 仍然保持 Active 状态。 只有被罚没(违纪)才会被强制退网,至少没收1/32的余额

4. 退出&提现

不活跃的验证者将被迫离开网络(退出)并且无法重新加入。 另一方面,验证者离开网络的速度也受到严格限制。 实际上,Pending部分提到的验证者激活速度的限制,实际上是对全网验证者离场的限制。 这个限制的目的是为了防止验证者(Validator)数量的快速变化导致网络的不稳定。 同时,另一方面,退出网络(Exit status)的Validator需要大约27小时才能退出(Exit -> Withdrawable),以及因违规而被迫退出的Validator。 目前信标链自愿退出的Validator有867个,被Slashed退出的Validator有223个,目前都处于Withdrawable状态。 如果您想主动退出网络,请参考退出您的验证器 | 棱镜

Validator数量与以太坊流通量和APR的关系

详情可见:

N是验证者的数量,225是每天可以运行的Epochs的数量

以太坊联盟和以太坊的关系_有余额的以太坊私钥_以太坊私钥生成过程

以太坊联盟和以太坊的关系_以太坊私钥生成过程_有余额的以太坊私钥

APR与N的增长呈负相关。 这种设计有几个原因。 首先是保证 APR 是与 N 相关的函数,可以防止理性验证者在成本明显高于收益时果断退出。 同时,它可以避免为安全支付过高的成本。

另一方面,让 APR 和 N 负相关会鼓励 Validators 审查其他人的工作结果,以想办法将那些行为不当的 Validators 赶出网络。

有余额的以太坊私钥_以太坊联盟和以太坊的关系_以太坊私钥生成过程

以太坊私钥生成过程_以太坊联盟和以太坊的关系_有余额的以太坊私钥

0x01 凭据和 0x00 凭据

0x01 和 0x00 都是验证者在存款期间收到的证明。 对于提现,只需要知道只有持有0x01 Credential的Validators才能顺利提现,因为0x01包含了Validators收益的目标地址,而大部分Validators目前持有的是0x00 Credentials,升级后需要升级到0x01 Credentials在上海。 如果想知道如何升级到0x01 Credentials,可以看[Tim's Twitter]()。 这种转变是由于提款计划的变化。

现在 Beacon 链中有多少个验证节点和 ETH?

以太坊联盟和以太坊的关系_以太坊私钥生成过程_有余额的以太坊私钥

Beaconcha.in数据显示,截至12月29日,Beacon链上有效质押的ETH为15,775,062 ETH(),活跃(Active)验证人数量为492,975人,验证人总数为494,096人。 目前,每个验证者平均质押的 ETH 为 33.93 ETH(也就是说 Beacon 链上的 ETH 总数为 16,764,677 ETH)。 目前质押收益最高的Validator地址有36.9690 ETH,质押时间超过700天。

提款将如何实施

提现将由执行层和共识层共同升级。 执行层主要通过引入EIP-4895辅助共识层退出流程。 具体来说,EIP-4895基于“Push”而不是“Pull”的思想完成提现,即用户不需要主动发起提现请求,而是会根据Validators中的状态生成对应的validator信标链。 “Receipt”,这个rec​​eipt包含了完成提现所需要的详细信息,receipts会进入一个提现队列,每个block打包时会执行一部分receipt,一个block内可以执行的提现请求数固定时间由严格限制确定。

注意:1)这些提现请求将是“系统级”操作类型,不会独立进行,也不会进入用户正常交易的内存池。 争夺块空间。 只有当执行客户端通过Engine API同步时,才会进入执行块。因此,提现行为不会增加以太坊的gas,也不会使以太坊更加拥堵

2)Payload用于告诉合约用户要调用的函数以及这个函数使用的参数的值。 系统级操作意味着会定义一个新的payload对象withdrawal来区分提款行为和用户正常的Transaction行为,而不是将withdrawal定义为一种新的Transaction类型,这种方法更复杂但更容易测试也更安全去实现。更多关于Payload可以看

以太坊交易收据中有效载荷字段的用途是什么

了解以太坊交易中的数据有效载荷

3)卡佩拉升级内容

Capella 是一个共识层升级,包含许多与验证者提款相关的功能。

自动撤回 `withdrawable` 验证器。

对具有 0x01 提款凭证且余额超过“MAX_EFFECTIVE_BALANCE”(32ETH)的验证者进行部分提款。

从“BLS_WITHDRAWAL_PREFIX”(0x00)更改为“ETH1_ADDRESS_WITHDRAWAL_PREFIX”(0x01)版本化提款凭据以启用验证器提款的操作。

提款条件

提现分为两种。 “部分提现”和“全额提现”对应不同的条件。 部分提现和全额提现不会有优先级的区别,因为提现是全自动的,也就是说你只要满足条件就可以等待了。

提款将如何进行

以太坊私钥生成过程_有余额的以太坊私钥_以太坊联盟和以太坊的关系

可以直接看#has_eth1_withdrawal_credential

当Validator提出区块时,会根据Validator的索引线性扫描所有Validator,找到的前16个满足Withdrawal条件的Validator组成一个集合,计入ExecutionPayload,等待执行withdrawal。

也就是说,每个Epoch将有512个Validators可以被撤回(因为一个Epoch有32个Slots,一个Slot就是一个区块),一天将有115,200个Validators被撤回(一个Epoch需要6.4分钟,大约有225 Epoch),5天内遍历所有validators的所有validators。

理想情况下,如果这 115,200 个提现是 Partial Withdrawal,那么按照指数从低到高,指数中前 115,200 个 Validator 的可提现余额为 3 - 4 ETH(根据 beaconcha 数据质押,最早的 Validator 余额约为36.3 ETH,第115,200个Validator的余额约为35 ETH),以中间数3.5 ETH计算,首日提现功能解锁的ETH约为403,200 ETH(115200 * 3.5)。 同样的计算方式,升级第二天大约解锁2.5*115,200 = 288,000 ETH,第三天解锁1.5*115,200 = 172,800 ETH。 第四天,将解锁约0.5*115200 = 57,600 ETH。 从第五天开始,大部分Validator都已经提币,所以抛压不会像前几天那么大。

注:ETH质押于2020年12月开始有余额的以太坊私钥,此时ETH价格在1000美元左右,所以此后参与质押的ETH与当前价格相比,大部分会处于亏损状态。

有余额的以太坊私钥_以太坊私钥生成过程_以太坊联盟和以太坊的关系

图片来自:Cryptorank

但事实上,取款并不总是像想象中那么顺利,总会出现一些意想不到的情况,使实际取款金额高于或低于理想值。

退出的可能影响

注:以下只是自己做的时候想到的一些问题和自己的看法,不属于投资建议

Q1:解锁后的ETH会在市场上大量出售吗?

很有可能不会。 虽然在升级的前几天解锁了大量的ETH,但解锁并不代表一定会卖掉。 这批质押者解锁ETH的成本,以目前的ETH价格来看,已经不低了。 作为不知道什么时候解锁就加入ETH质押的用户,相信大部分都是做多ETH(没有证据纯属炒作),如果没有足够的收益,个人认为不会选择出售 ETH,但可以选择重新质押。 同时,开放提现后,质押的ETH有更明确的解锁时间和解锁期限,意味着风险更低,相信会吸引更多用户参与质押。

Q2:对流动性质押服务有什么影响?

这里以丽都为例,大家猜一猜。

根据提款流程,大部分提款将通过“部分提款”进行。 也就是说,对于流动性质押服务商而言,实际解锁的ETH只是平台上运行的Validator的盈利部分。 除非平台主动让Validator退出,但显然从各方面来看,平台都没有这样做的动力。

那么就会导致一个极端的情况,就是如果释放质押后stETH可以立即1:1兑换成ETH,那么一旦大量stETH持有者申请兑换,总量超过了Lido通过届时ETH提现 当ETH总量减少时,会出现stETH没有ETH可以兑换的情况(因为实际上是锁仓的),所以即使开启解锁后,stETH和stETH的1:1兑换ETH 仍将需要一个缓冲期,使得平台有时间释放验证者的质押,而由于这个时间差,以 stETH 为代表的质押衍生品仍将以略低于 1 的汇率与 ETH 池化: 1 在上海升级后。

延迟提款的一个好处是它可以减少恐慌和挤兑风险。 此外,还有一个潜在的好处,就是Lido遇到的困难是所有流动性Staking服务商都会遇到的,所以ETH质押的延迟提现很可能成为流动性Staking服务商的通用模式。 为什么这是一件好事? 因为stETH的护城河之一是其良好的流动性和可组合性,但有人担心质押解除后stETH的流动性优势消失,因为质押的衍生品可以1:1兑换ETH,但由于A存在延迟提款的机制,stETH 仍将保持其流动性优势。