
原文作者:Xiang,W3.Hitchhiker
關於以太坊上海昇級,我們來簡單梳理一下,分別能帶來哪些好處。參考以太坊最新公開消息
,和上海昇級的相關EIP如下:
一級標題
一級標題
一級標題
EIP-3651:暖COINBASE
說到EIP-3651,得先介紹一下EIP-2929 一個改動:
當目標不在accessed_addresses 中,收取COLD_ACCOUNT_ACCESS_COST(冷賬戶訪問成本)gas,並將地址添加到accessed_addresses。否則,收取WARM_STORAGE_READ_COST(暖存儲讀取成本)gas,暖讀取消耗gas 相對較低。
一級標題
一級標題
EIP - 3855:PUSH0 指令
EIP - 3855:PUSH0 指令
EIP-3855,引入一條新指令(0x5f),將常量值0 壓入堆棧,黃皮書關於PUSH 的指令集,目前只有PUSH1-PUSH32,作用是將1 字節壓入堆棧,到32 字節壓入堆棧
現有指令實現將0 值壓入堆棧需要通過執行PUSH1 0 ,在runtime 中需要消耗3 gas,並且額外需要消耗200 gas(2 字節的存儲成本)
一級標題
一級標題
一級標題
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 的大小成線性關係。
一級標題
一級標題
一級標題
EIP-4895: 信標鏈提款
一級標題
一級標題
一級標題
EIP-3540:EVM 對象格式(EOF) v1
此EIP 涉及改動較大,並非一定包含在上海昇級中。
此EIP 中描述的格式引入了一個簡單且可擴展的格式,並引入了驗證。實現了合約代碼和數據的分離。
新的EVM 對象格式為:magic, version, (section_kind, section_size)+, 0,
好處:
一級標題
一級標題
一級標題
EIP-3670:EOF —代碼驗證
原文鏈接
原文鏈接