BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

觀點:無版本區別的EVM

星球君的朋友们
Odaily资深作者
本文約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官方社群