觀點:無版本區別的EVM
本文約1576字,閱讀全文需要約3分鐘
如果我們有機會可以重新設計EVM、提升其後向兼容性、讓它對功能升級更為友好,而且可以完全不必考慮我們現有的歷史包袱,我們該怎麼做呢?
AI總結
如果我們有機會可以重新設計EVM、提升其後向兼容性、讓它對功能升級更為友好,而且可以完全不必考慮我們現有的歷史包袱,我們該怎麼做呢?
編者按:本文來自以太坊愛好者(ID:Ethfans)編者按:本文來自
以太坊愛好者(ID:Ethfans)
編者按:本文來自
編者按:本文來自
,作者:Wei Tang,翻譯:阿劍,Odaily經授權轉載。
二級標題
二級標題
二級標題
二級標題
Web 是沒有版本區別的,而且已經存在了幾十年。因此我在此假設,我們想做一個同樣沒有版本區別的EVM。
二級標題
我們同樣希望保證,這種虛擬機具備良好的後向兼容性(這是一種必需的屬性)。也就是說,至少能良好兼容我們現有的合約(在當前的EVM 中,甚至單個操作碼的Gas 耗費量變更都有可能破壞現有的合約),而且,也可以輕鬆加入新功能。
二級標題
無效操作碼
此種檢查的技術詳述初次成文化是在EIP-1712 中。簡要來說,在執行合約創建的狀態轉變函數(或者說給狀態添加合約代碼)之前,執行下列檢查:
如果代碼是一個PUSH(n) 操作碼,則跳過接下來n 個字節
二級標題
否則,捕捉到錯誤(trap)
二級標題
二級標題
功能調查(Feature Probe)
該操作碼接收一個堆棧參數。它會檢查該參數是否位於0 到2^8 之間,如果不是,就捕捉錯誤
例外與捕捉(Exceptions and Trap)
二級標題
Gas 消耗量开发者
ETH
歡迎加入Odaily官方社群


