menu-icon
anue logo
熱門時事鉅亨號鉅亨買幣
search icon

區塊鏈

以太坊上海升級即將激活的EIP將帶來什麼?

BlockBeats 律動財經 2022-11-08 19:03

cover image of news article
律動財經圖片

關於以太坊上海升級,我們來簡單梳理一下,分別能帶來哪些好處。

參考以太坊最新公開消息: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_COST(冷帳戶訪問成本)gas,並將地址添加到 accessed_addresses。否則,收取 WARM_STORAGE_READ_COST(暖儲存讀取成本)gas,暖讀取消耗 gas 相對較低。

如今 COINBASE 直接支付正變得越來越受歡迎,但目前訪問 COINBASE 的價格較高;這是由於在 EIP -2929 引入的訪問列表框架下,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,在 runtime 中需要消耗 3 gas,並且額外需要消耗 200 gas(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 chunk 引入 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 合約創建時引入代碼驗證。拒絕未定義指令的合約。

好處:

合約創建時,就可引入代碼驗證

原文連結

暢行幣圈交易全攻略,專家駐群實戰交流

▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!

前往鉅亨買幣找交易所優惠

文章標籤


Empty