編者按:本文來自以太坊愛好者,作者:WeiTang,翻譯:阿劍,Odaily星球日報經授權轉載。本文為Parity開發者WeiTang寫作的,關于如何增強EVM后向兼容性的文章,改進Gas機制的方案堪稱大膽。如果我們有機會可以重新設計EVM、提升其后向兼容性、讓它對功能升級更為友好,而且可以完全不必考慮我們現有的歷史包袱,我們該怎么做呢?在這篇文章中,我會探究這個問題,并記錄下由此演化出來的技術說明和設計哲學。目標
Web是沒有版本區別的,而且已經存在了幾十年。因此我在此假設,我們想做一個同樣沒有版本區別的EVM。我們同樣希望保證,這種虛擬機具備良好的后向兼容性。也就是說,至少能良好兼容我們現有的合約,而且,也可以輕松加入新功能。無效操作碼
觀點:BRC20不能被稱為“協議”,因為它無法保護使用它的用戶:金色財經報道,據@AurtrianAjian在社交媒體上表示,像BRC20這樣的東西壓根不能被稱為“協議”,因為它根本無法保護使用它的用戶。但當時我沒有深入了解,我不知道它其實比我想象的還要離譜。從表面上看,BRC20定義了同質化代幣的兩種操作:“鑄造(Mint)”和“轉移(Transfer)”,在每一種操作的每一步中,都需要發起比特幣交易并在交易輸入中寫入銘文(Inscription,通過輸入的見證腳本在區塊中寫入數據)。但是,在BRC20中,這些寫入銘文的交易所形成的交易輸出幾乎沒有任何意義。這就是問題所在。[2023/8/3 16:16:59]
要設計一個永續的EVM,最簡單可能也最重要的改動便是為合約部署添加一個驗證過程。并非所有的字節序列都是有效的EVM代碼,任何無效的操作碼都不應該被部署到鏈上,因為在未來,這些代碼可能會被分配以一個新的操作碼,有不一樣的功能。此種檢查的技術詳述初次成文化是在EIP-1712中。簡要來說,在執行合約創建的狀態轉變函數之前,執行下列檢查:遍歷代碼的字節碼如果代碼是一個PUSH(n)操作碼,則跳過接下來n個字節如果字節碼是一個有效的操作碼,或者指定了無效指令,繼續否則,捕捉到錯誤上述檢查有點類似于jumpdestination檢查。注意,對于例外情形,我們在這里使用的是“trap”,下文我們會詳細解釋。功能調查
觀點:美國銀行業危機可能會在長期內加強加密生態系統:金色財經報道,市場觀察人士表示,從長遠來看,專注于加密貨幣的銀行的持續崩潰可能對加密生態系統有利,從而消除過去幾天加密圈中出現的看跌情緒。[2023/3/16 13:08:44]
如果EVM要消弭掉版本的差別,基于EVM的代碼執行應有能力調查出底層環境是否支持一種特定的功能。給定EVM所承擔的角色,我們總是希望一個已經定義好的操作碼的功能可以保持不變,并且還可以引入新的操作碼來添加功能。而一些合約可能在引入某些特定功能之前就已經部署上去了。這些合約可以安排一個備用的子程序,在EVM不支持某功能的時候就運行子程序,而一旦硬分叉激活后就立即開始使用新功能。功能調查組件就像這里要用到的跳轉器。因此,我們正式地定義一種新的操作碼HAS_FEATURE。該操作碼接收一個堆棧參數。它會檢查該參數是否位于0到2^8之間,如果不是,就捕捉錯誤如果參數不受支持,就把0x0推回棧中;否則就推入0x1例外與捕捉
觀點:近4億美元XRP轉移至Bithumb或是為SPARK空投做準備:12月10日消息,此前監測數據顯示,有價值約4億美元的XRP轉移至Bithumb,其背后的原因可能是為即將到來的SPARK(FLR)空投做準備。此前,瑞波合作伙伴Flare Networks宣布將于12月發布基于XRP Ledger的代幣Spark,將對XRP持有者進行1:1空投。今日早間消息,近7億枚XRP從未知地址轉入Bithumb交易所,價值約4.02億美元。(Crypto Potato)[2020/12/10 14:49:40]
在EVM的運行過程中,可能有很多因素會導致執行失敗。單個交易可能因為耗盡Gas而失敗;調用棧中的每一層都可能單獨失敗,而其錯誤必須被父調用框架明確處理。這些特性給了我們一定的彈性,但對于要運行在區塊鏈上的合約來說,并不必然就是好事。這里,我們想重新定義一下,任何EVM本身發出的異常,都可以有trap行為,作為對fail的替代。也就是說,所有調用框架的所有執行過程中、消耗任意gas的時候、甚至被當前的狀態函數回滾變更的時候,都可以有trap。合約接下來就被會鼓勵使用返回值,在它們想跟父調用者交流非致命錯誤的時候。Gas消耗量
過去的經驗已經證明,我們總是想調整Gas消耗量。因為我們要這樣做,我們不希望合約開發者對交易的Gas消耗量甚至是任何操作碼的Gas消耗量作任何假設。要實現這一點,只需將EVM內所有關于Gas消耗量的公開信息都移除。這樣Gas消耗量就成了一個外在于EVM、被隱藏起來的“實現上的細節”,只需在區塊層執行中妥善處理。正式地移除0x5a的Gas操作碼。此外,重新定義CALL、CALLCODE和DELEGATECALL,不再使用gas棧參數,而是采取現有執行框架中所有可用的Gas。
本文作者:汪潤宇,就職于X-Order,目前正專注于研究泡沫經濟和傳銷產業。有人認為所有的數字貨幣都是傳銷騙局;有人認為除了比特幣都是傳銷幣;有人認為A股連傳銷幣都不如……今年花樣頻出的“模式幣.
1900/1/1 0:00:00近日,區塊鏈產業專業委員會會長蔡維德受邀參加,針對近期區塊鏈行業熱點做出解答。相關文章將于近期陸續發布,敬請關注!引言:美國在延伸數字美元霸權方面,支持臉書穩定幣Libra是理想的選擇嗎?美國是.
1900/1/1 0:00:00頭條 Bakkt官方宣布正式推出比特幣存儲服務Bakkt在其官方推特宣布,該公司正式向客戶開放BakktWarehouse,開始提供比特幣存儲及提款服務.
1900/1/1 0:00:00頭條 阿里巴巴在美國申請區塊鏈系統跨鏈交互域名管理方案專利阿里巴巴在美國申請一項名為“區塊鏈系統跨鏈交互域名管理方案”的專利。8月15日,阿里巴巴提交了最新的申請,延續了2018年11月的申請.
1900/1/1 0:00:00!webp\"data-img-size-val=\"721,1050\"\u002F\\> 上期回顧 BTC:比特幣下周將會保持橫盤甚至是走弱的趨勢.
1900/1/1 0:00:00Overview作為一個新的趨勢,Staking經濟在2019年迎來了爆發式增長的一年。根據StakingRewards.com統計,截至8月29日,全球共有88只加密資產支持Staking.
1900/1/1 0:00:00