十一月底,以太坊開發人員宣佈擬將8項提案納入以太坊下一步進行的『上海』升級當中。
這是以太坊在今年的倫敦、巴黎兩次重大升級後的下一步重大升級計劃。
此次升級雖然已經在計劃當中,但尚未確定具體的升級計劃和時間,其中可以確定的是解鎖信標鏈質押的ETH取款提案EIP-4895一定會出現在升級列表當中。
針對此次升級,以太坊基金會於10月就已經推出了此次升級的測試網『山東』。
目前開發者團隊內對於升級時間的決定分為兩派,一派認為應當加快EIP-4895的應用,為此可以將上海升級分為多個步驟,最快在2023年3月將信標鏈上的質押解鎖,並在接下來幾個月內應用其他升級;另一派認為作為一次大升級,應當將上海升級作為一個較為完善的大型更新,將EIP-4895與其他EIP的升級放在2023年9月前後進行。
信標鏈提款
導致開發者團隊內意見不一的核心就是EIP-4895。
該提案內容非常簡單,即確定信標鏈提款的主要流程,部署後,以太坊信標鏈質押提款功能將被激活。
開發團隊急於部署該升級的原因也很簡單,在合並後,以太坊信標鏈僅能存入無法提款,目前有近235億美元的以太坊被『困』在信標鏈上,在市場動蕩的大背景下,能夠迅速解鎖提款功能無疑是對市場信心的一次極大的刺激。
分片方案
預計將在上海升級中可能包含的其他EIP還包含Vitalik在今年3月提出的EIP-4844,即proto-danksharding。
該方案在11月初的計劃中被排除出了上海升級,但在11月25日公佈的EIP列表中仍然包含該EIP。
Danksharding是以太坊分片方案,主要目的是在不犧牲去中心化的情況下降低網絡上的gas 費用,特別是針對rollup方案。
Rollup方案,例如Arbitrum和Optimism,可以將gas費用降低多達100到1000倍。
proto-danksharding可以視為Danksharding的『青春版』,是以太坊2.0升級完全完成之前的替代方案,主要用來驗證規則和交易格式,實際上並未進行分片操作。
因此EIP-4844可以視為對未來分片的一次預演。
EIP-4844 引入了一種新的交易類型blob,與常規交易類似,該交易攜帶一個額外的數據塊,即blob《數據塊》。
該數據塊的大小約 125 KB,但這種類型的交易執行起來比使用相同數據的 calldata 要便宜。
但是,存儲在 blob 中的數據不能被 EVM 訪問,隻能看到它,而不能驗證它。
根據Vitalik在Twitter發佈的Q&A,在EIP-4844中,為了應對較大的數據塊可能導致的儲存壓力,共識層可以實施單獨的邏輯以在一段時間後自動刪除 blob 數據,但仍然建議盡快實施歷史記錄到期方案 (即EIP-4444),該方案允許客戶端刪除超過某個時間段的歷史記錄。
與EIP-4844相匹配的EIP-4488也可能在此次升級中出現。
EIP-4488旨在用最小的改動來實現gas費用的降低,主要方式是將Calldata gas 成本從每字節 16 gas 降低到每字節 3 gas,同時每個塊 1 MB 的限制加上每個Rollup額外的 300 字節《理論最大值:~1.4 MB》。
按照Vitalik的說法,EIP-4844和EIP-4488兩者之間的選擇不是非此即彼的:以太坊可以盡快實施 EIP-4488,然後在半年後使用 proto-danksharding 跟進它。
其他升級
其他預計被應用的EIP還包括EIP-3651,該方案擬將『COINBASE』地址由冷地址變為熱地址。
『COINBASE』地址在交易執行開始時應為熱地址,以降低讀取該帳戶的實際成本。
在EIP-2929引入的訪問列表框架下,COINBASE地址為冷地址,這意味著交易者每次與COINBASE地址交易時需要付出更多的gas費將其『預熱』為熱地址。
EIP-3651的主要改動就是將COINBASE地址放入熱地址列表中,以此來降低交易成本。
即將更新的EIP-3855是為新增操作碼PUSH0,允許將常量值0壓入堆棧。
該改動可以減少合約的代碼大小,同時作為優化措施降低合約錯誤的風險。
EIP-3860的主要改動是將EIP-170定義的最大initcode大小從24576擴展到49152,並為每32字節增加2gas費用。
該改動可以極大提升合約容量,但會略微提升合約部署的費用。
另外呼聲很高的EIP-3540和配套的EIP-3670也可能在此次更新中引入。
這兩個方案的核心是為EVM 字節碼引入了一種容器格式,即EVM Object Format (EOF) v1。
該方案使分離代碼和數據更加幹凈;允許根據平臺規則在部署時驗證字節碼;支持更輕松引入新的突破性更改功能。
EIP-3670在EIP-3540的基礎上增加了代碼驗證的功能。
【本文原發佈於鏈得得,授權鈦媒體App發佈,作者:大文】