关于以太坊上海升级,你需要知道哪些?|Tokenview
2022-11-21 17:54
Tokenview
2022-11-21 17:54
订阅此专栏
收藏此文章

Tokenview

点击蓝字 关注我们

以太坊合并完成了以太坊网络从工作量证明(proof-of-work)向权益证明(proof-of-stake)的过渡。ETH 的发行方式在过渡时期发生了变化。以前,新的 ETH 发行有两个来源:执行层 ( 即主网 ) 和共识层 ( 即信标链 )。自从以太坊合并之后,执行层上的 ETH 发行现在为零。

Part.1

合并后的 ETH 发行

合并之后执行层发行:在升级的共识规则下,工作量证明不再是区块生产的有效手段。所有的执行层活动都被打包到“信标块”("beacon blocks")中,即由权益证明验证者发布和验证。验证和发布“信标块”的奖励在共识层上分别计算。

合并之后共识层发行:共识层的 ETH 发行仍在继续,就像合并之前一样,对验证和提议区块的验证者提供少量奖励。验证者奖励继续累积到在共识层内管理的验证者余额。信标链上的验证者账户和我们在以太坊主网上使用的账户是相互独立的,计划中在上海升级之前,提取验证者账户的资金是不可能的。在上海升级之后,如果用户愿意,他们将可以提取他们的奖励和质押。这也就意味着,尽管新的 ETH 仍在发行,但在上海升级发生之前,100% 仍被锁定在市场上。

Part.2

以太坊密钥

在这里我们介绍一下以太坊账户的“钥匙”。以太坊使用公私钥加密技术保护用户资产。公钥被用作以太坊地址的基础——也就是说,它对公众可见,并用作唯一的标识符。私钥应该只有账户所有者才能访问。私钥用于“签署”交易和数据,这样密码学就可以证明持有者批准了特定私钥的某些行为。随着以太坊从工作量证明转换为权益证明,用户需要一种新的密钥类型,通过质押 ETH 并管理验证者来参与权益证明。原来的以太坊主网密钥仍然和以前完全一样,但在信标链上希望成为独立质押者的用户则需要一个验证者密钥(validator key )取款密钥(withdrawal key)。上海升级之后,质押提款需要 withdrawal key。

Part.3

关于上海升级

上海升级将是以太坊网络实现合并后的首次重大升级。上海升级除了实现质押 ETH 提款之外,还纳入了四项即将激活的 EIP 。为什么要急于开始上海升级呢?主要是当前的以太坊网络,只能存款 ETH 但不能提取。而解锁以太坊质押提款功能不仅有利于保持以太坊网络活力,还有利于以太坊未来可持续性发展,继续吸引更多的验证者进入以太坊网络。那么以太坊上海升级即将激活的 EIP 又能带来什么?

我们总结了上海升级即将激活的四个 EIP:


EIP-3651 :Warm COINBASE

开始 COINBASE 地址预热

概述:根据读取账户的实际成本,COINBASE 地址在交易开始执行时应是经过预热的。

解释一下这里的 COINBASE 是来自比特币的概念,即区块中的第一笔交易是笔特殊交易,称为  COINBASE 交易,这种交易早期设计用于矿工打包收集挖矿的 gas 小费收入。交易执行时 COINBASE 地址是预热过的(已加载至系统),避免每次获取小费时都需要重新从 0 获取 COINBASE 地址的信息。

动机:COINBASE 直接支付正变得越来越受欢迎。COINBASE 付费被采纳是因为他们允许有条件付费,这对网络是有益的,例如可防止打包回滚的交易。但是与 COINBASE 交易价格很高,在 EIP-2929 引入的交互列表框架中 COINBASE 地址被列为“冷地址”,每次交易必须重新获取 COINBASE 地址的信息。这种 gas 成本不匹配虽然可以激励除 ETH 以外的其他付费方式,如 ERC20,但 ETH 才是以太坊交易的主要付费手段。EIP-3651 有利于让矿工节省 gas 费,加快矿工交易的速度。

EIP-3855,PUSH0 (0x5f) 指令

引入一条新指令,将常量值 0 压入堆栈

概述:引入 PUSH0 (0x5f) 指令,它将常量值 0 压入堆栈。

动机:许多指令期望将偏移量作为输入,在许多情况下偏移量为 0。一个很好的例子是 call 的返回数据参数,如果合约更喜欢使用 RETURNDATA*,则将其设置为零。这只是一个例子,但是还有许多其他原因导致合约需要推入 0 值。他们现在可以通过 PUSH1 0 实现这一点,它在运行时消耗 3 个 gas,并被编码为两个字节,这意味着 2 * 200 的 gas 部署成本。有了 PUSH0 指令后,就不需要消耗这额外的 gas 部署成本。此外,从“浪费”的角度来看,在现有的帐户中,在 push1 00 指令上浪费了 340,557,331 个字节,这意味着部署它们需要消耗 68,111,466,200 个 gas。EIP-3855 目标就是降低无意义的 gas 消耗。

EIP-3860,限制和计量 initcode

将 initcode 的最大大小限制为 49152,并为每个 32 字节的 initcode chunk 应用 2 个 gas 成本。

概述:通过引入 initcode 的最大大小限制 (MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152),扩展了 EIP-170。此外为每 32 字节的 initcode chunk 引入 2 个 gas 费用,以表示 jumpdest-analysis 的成本。

动机:在合约创建过程中,客户端必须在执行 initcode 之前对初始化代码执行 jumpdest-analysis。所执行的工作随 initcode 的大小线性扩展。基于 EIP170 是限制了 initcode 大小为 24576,而如今则是将 initcode 的最大大小限制提升为 49152 。显然,更大的代码容量,就意味合约大小可以扩展一倍,合约开发者可以部署更丰富的功能。简言之,EIP-3860 目的是支持更大型的 Dapp。

EIP-4895  信标链将提款作为操作指令

支持验证者通过新的“系统级”操作类型从信标链提款到 EVM。

概述:引入一个系统级“操作”来支持从信标链“推”到 EVM 取款。部署完成后,以太坊信标链质押提款功能将被激活。

动机:这个 EIP 为信标链上的验证者提款提供了一种进入 EVM 的方法。从结果上讲,实现的是质押的 ETH 提款操作,而实现方式是引入了系统级的指令 withdrawal 基于信标链(共识层)的信息,无条件地直接控制指定地址的 ETH 余额。EIP-4895 的目的就是实现质押提款功能。

除了确定包含的 4 个 EIP:EIP-3651,EIP-3855,EIP-3860,EIP-4895,在最近的以太坊核心开发者电话会议上这次电话会议期间,开发者们还讨论了其他可能纳入上海升级的 EIP。虽然每个提案确实为以太坊带来了一些独特的优点及好处,但开发者们对优先考虑纳入哪些 EIP 的问题,仍存在较大的争议。

更多区块链知识与干货,关注 Tokenview.io 。


参考文章:

https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/keys/#withdrawal-key

https://ethereum.org/en/upgrades/merge/issuance/#cl-issuance-post-merge

https://eips.ethereum.org/EIPS/eip-3651

https://eips.ethereum.org/EIPS/eip-3855

https://eips.ethereum.org/EIPS/eip-3860

https://eips.ethereum.org/EIPS/eip-4895 



https://services.tokenview.io/cn/product/nft

认识 Tokenview!


Tokenview.io 是全球最大的全币种区块链数据平台。Tokenview.io 包含 120+ 条公链的链上数据,涵盖 BTC,EVM,Layer2 系列的各种公链。链上数据全部由自建公链节点集群提供,包括交易数据、智能合约数据、链上统计数据,Defi,NFT 等,集丰富的区块链数据种类和数量于一体,接口以 Json 展示,结构化易于使用,数据准确度高,经多层校验精准完备。

联系 Tokenview!


【加入我们】

Website:https://tokenview.com/cn/

Twitter:https://twitter.com/tokenview2018

Telegram 中文:https://t.me/tokenview

Telegram英文:https://t.me/tokenview_en

Discord:https://discord.gg/9WCeZqdVqu

微信公众号:TokenviewLabs


【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

相关Wiki
Tokenview
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开