以太坊上海升级完成时间(以太坊技术升级是什么时候)
关于以太坊上海的升级,我们简单梳理一下它能带来哪些好处。
确定包含的EIP:EIP-3651、EIP-3855、EIP-3860、EIP-4895可能包含EIP:EIP-3540、EIP-3670和EIP-4488,与L2扩展相关的EIP-4844不包含在本次升级EIP中-3651范围内:温暖的COINBASE
说到EIP-3651,首先要介绍一下EIP-2929的一个变化:
当目标不在accessed_addresses中时,收取COLD_ACCOUNT_ACCESS_COST(冷账户访问费用)gas,并将地址添加到accessed_addresses中。 否则收取WARM_STORAGE_READ_COST(温存储读成本)gas,温读消耗的gas比较低。
现在COINBASE直接支付越来越流行,但是目前接入COINBASE的价格比较高; 这是因为在EIP-2929引入的access list框架下,COINBASE根据冷账户访问成本计算gas,在EIP-3651之后,accessed_addresses会包含COINBASE返回的地址(0x41)。
益处:
修改后,COINBASE 将减少支付 ERC20 代币时的 gas 消耗。
EIP-3855:PUSH0指令
EIP-3855,引入了一条新指令(0x5f),将常量值0压栈,黄皮书中PUSH的指令集,目前只有PUSH1-PUSH32,功能是压1个字节入栈,压栈入栈 32 个字节
现有指令的实现将0的值压入栈需要执行PUSH1 0,运行时消耗3gas,额外消耗200gas(2字节的存储成本)
使用 PUSH0 指令,不需要消耗额外的 200 gas。
益处:
目前约有11%的PUSH操作只是压0,所以这个EIP在执行后可以节省一定的gas以太坊建立时间,也可以略微提升以太坊现有的TPS。
EIP-3860:限制和计算初始化代码
目前最大initcode为MAX_CODE_SIZE:24576(EIP-170),新的最大initcode为(MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152),意味着合约大小可以翻倍,合约开发者可以部署更丰富的功能。 (合约代码过大,部署不成功。PS:L2项目也做了部分修改,支持更高的合约大小上限)
还引入每 32 字节 initcode 块 2 的 gas 费用,以表示 jumpdest-analysis 的成本。 因为在创建合约的时候,客户端在执行前必须对initcode进行jumpdest解析。 执行与 initcode 的大小成线性关系。
这意味着每个字节的initcode将消耗0.0625 gas,合约部署的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合约时引入代码校验。 拒绝未定义指令的合约。
益处:
创建合约时,可以引入代码校验
文章到此结束,我会在交流群做更仔细的分析,想入圈欢迎私信!所有资讯平台都是职称——Crypto Jerry