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

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

原文作者: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

Google搜索已可显示以太坊合并倒计时:9月10日消息,据Google搜索引擎界面显示,搜索the merge、ethereum merge关键词,将直接在搜索页面显示以太坊合并倒计时、以太坊主网合并总难度(TDD)等信息。[2022/9/10 13:20:57]

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

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

当目标不在 accessed_addresses 中,收取 COLD_ACCOUNT_ACCESS_COST(冷账户访问成本)gas,并将地址添加到 accessed_addresses。否则,收取 WARM_STORAGE_READ_COST(暖存储读取成本)gas,暖读取消耗 gas 相对较低。

动态 | 以太坊链上逾131万枚USDC被销毁:据Whale Alert监测, 北京时间8月26日15点18分,以太坊链上1,310,320 枚USDC被销毁。[2019/8/26]

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

好处:

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

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

声音 | Lane Rettig: 并不担心以太坊DAPP活跃度低迷的问题:1月12日,在“以太坊的窘境与君士坦丁堡保卫战”为主题的金色直播间内,针对Primitive Ventures创始合伙人Dovey Wan反映的以太坊DAPP活跃度低迷的问题,以太坊核心技术成员、Ewasm团队创始成员Lane Rettig表示,这个现象并不令人烦恼,首先这些数字其实并不可靠,其次在期望DAPPs得到广泛使用前我们还有许多更重要的工作要做,如维持以太坊的稳定、低价和速度。[2019/1/13]

现有指令实现将 0 值压入堆栈需要通过执行 PUSH1 0,在 runtime 中需要消耗 3 gas,并且额外需要消耗 200 gas(2 字节的存储成本)

声音 | V神:以太坊2.0版本将网络处理交易的能力提高一千倍:据breakermag消息,以太坊联合创始人Vitalik Buterin在本周与布拉格以太坊开发者会议上表示,以太坊2.0即将推出,它可以将以太坊网络处理交易的能力提高一千倍。以太坊2.0,即Serenity升级有望使网络更快,更安全,能耗更低,并且能够每秒处理数千个事务。Buterin表示,Serenity是“真正意义上的世界计算机,而不是1999年的智能手机,每秒只能处理20笔交易。[2018/11/1]

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

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

目前 initcode 的最大为 MAX_CODE_SIZE: 24576(EIP-170),新的 initcode 的最大为 (MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152),这意味合约大小可以扩展一倍,合约开发者可以部署更丰富的功能。(合约代码过大会导致部署不成功,PS:L2 项目也部分已修改,支持更高的合约大小上限)

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

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

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

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

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

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

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

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

版本控制有利于以后实现引入或弃用新功能(例如引入账号抽象);

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

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

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

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

区块律动BlockBeats

媒体专栏

阅读更多

金色财经

文章汇

Yam

达瓴智库

CT中文

DeFi之道

硅星人

比推BitpushNews

01元宇宙

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

水星链

[0:31ms0-0:814ms