COD:以太坊上海升级即将激活的EIP将带来什么?_CODEX

原文标题:《以太坊上海升级的作用以及带来的好处》

原文作者:Xiang,W3.Hitchhiker

关于以太坊上海升级,我们来简单梳理一下,分别能带来哪些好处。

参考以太坊最新公开消息:https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md#eips-considered-for-inclusion,和上海升级的相关EIP如下:

确定包含的EIP:EIP-3651,EIP-3855,EIP-3860,EIP-4895

可能包含的EIP:EIP-3540,EIP-3670

而和L2扩容相关的EIP-4488,EIP-4844都不在本次升级范围内

EIP-3651:暖COINBASE

说到EIP-3651,得先介绍一下EIP-2929一个改动:

当目标不在accessed_addresses中,收取COLD_ACCOUNT_ACCESS_COSTgas,并将地址添加到accessed_addresses。否则,收取WARM_STORAGE_READ_COSTgas,暖读取消耗gas相对较低。

如今COINBASE直接支付正变得越来越受欢迎,但目前访问COINBASE的价格较高;这是由于在EIP-2929引入的访问列表框架下,COINBASE是按冷账户访问成本计算gas的,在EIP-3651后,accessed_addresses将包括COINBASE(0x41)返回的地址。

好处:

修改后,COINBASE在支付ERC20代币时会减少gas消耗。

EIP-3855:PUSH0指令

EIP-3855,引入一条新指令,将常量值0压入堆栈,黄皮书关于PUSH的指令集,目前只有PUSH1-PUSH32,作用是将1字节压入堆栈,到32字节压入堆栈

现有指令实现将0值压入堆栈需要通过执行PUSH10,在runtime中需要消耗3gas,并且额外需要消耗200gas

有了PUSH0指令后,就不需要消耗这额外的200gas了。

好处:

目前大约有11%的PUSH操作只是压入0,因此这个EIP执行后可以节省一定量的gas,也能稍微提高以太坊的现有的TPS。

EIP-3860:限制和计算初始化代码

目前initcode的最大为MAX_CODE_SIZE:24576,新的initcode的最大为(MAX_INITCODE_SIZE=2*MAX_CODE_SIZE=49152),这意味合约大小可以扩展一倍,合约开发者可以部署更丰富的功能。

此外为每32字节的initcodechunk引入2个gas费用,以表示jumpdest-analysis的成本。因为在合约创建期间,客户端必须在执行之前对initcode执行jumpdest分析。执行工作与initcode的大小成线性关系。

这意味着initcode每字节将添加成本0.0625gas,合约部署gas成本微微上涨。

好处:

合约部署gas费微微上调,但合约大小可以扩展一倍,合约开发者写更丰富的功能代码。

EIP-4895:信标链提款

主要内容是确定信标链提款至EVM的主要流程,部署完成后,以太坊信标链质押提款功能将被激活。

好处:

激活以太坊信标链质押提款功能。

EIP-3540:EVM对象格式(EOF)v1

此EIP涉及改动较大,并非一定包含在上海升级中。

此EIP中描述的格式引入了一个简单且可扩展的格式,并引入了验证。实现了合约代码和数据的分离。

新的EVM对象格式为:magic,version,(section_kind,section_size)+,0,

好处:

版本控制有利于以后实现引入或弃用新功能;

合约代码和数据的分离对于L2的验证(op)有益,减少L2验证器的gas成本;

合约代码和数据的分离也更加方便链上数据分析工具的工作。

EIP-3670:EOF—代码验证

此EIP并非一定包含在上海升级中,配合EIP-3540合约创建时引入代码验证。拒绝未定义指令的合约。

好处:

合约创建时,就可引入代码验证

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

XMRNFL:网络上线2周年:创始团队带你读懂Conflux_WEB

在加密行业很多人都认可一个说法,“华人擅长应用,欧美人擅长协议”。的确,在加密基础设施L1层公链风起云涌的过去几年,华人主创的公链确实屈指可数。但这绝不代表华人主导的公链在公链领域没有一席之地.

[0:15ms0-4:851ms