幾周前,我們宣布了 Specular—一個具有新穎 EVM 本地設計的 Optimistic Rollup—并且很高興看到我們的 Twitter 線程激發了關于如何最好地設計此類系統的興奮和討論。在這篇文章中,我們想澄清一下我們認為 EVM 原生方法相對于其他 Optimistic rollup 方法的一些關鍵優勢,包括 Optimism 和 Arbitrum 正在進行的工作,通過在較低級別 VM 上定義的欺詐證明系統來追求 EVM 等效性。
在我們開始之前,這篇文章假設您對 optimistic rollup (ORU) 有基本的了解;以及現代以太坊 ORU 如何依賴負責裁決爭議的鏈上交互式欺詐證明機制。可以在此處找到對相關先前工作的廣泛調查。
Optimism 和 Arbitrum 正在推出一種利用現有以太坊客戶端基礎設施的新架構,以便與現有的以太坊工具和 L2 智能合約(稱為 EVM 等效性)完全兼容。由客戶端執行導致的狀態轉換爭議通過鏈上驗證的交互式欺詐證明 (IFP) 解決。為了支持 IFP,客戶端程序被編譯為較低級別的目標 VM(例如 MIPS 或 WASM),可以在(MIPS/WASM)指令級別為其構建狀態轉換證明。然后將生成的二進制文件提交到鏈上,允許鏈上驗證者以較低級別 VM 語義的粒度強制執行其執行。
至關重要的是,這種較低級別的 VM 方法完全不知道 EVM 的存在及其語義。因此,它不是按照意圖強制執行 EVM 語義,而是強制執行較低級別的語義來執行據稱實現了 EVM 的特定二進制文件。因此,這種設計技術 (1) 排除了多個以太坊客戶端程序的無許可和信任最小化參與;(2) 導致難以獨立審計且無法正式驗證的臃腫、過大的可信計算庫(TCB);(3) 遭受頻繁觸發但不透明的升級過程的困擾,進一步增加了安全審計開銷。
為了解決這些問題,我們主張采用我們認為更簡單、更自然的 EVM 原生方法來處理 IFP。也就是說,我們建議在單個 EVM 指令級別顯式地在鏈上執行 EVM 語義。下面我們將描述這種設計相對于較低級別的 VM 方法的一些優點。
加密投資基金a16z推出NFT內容整合平臺Canon,幫助藝術家等了解和使用NFT:官方消息,加密投資基金a16z推出NFT Canon,幫助藝術家和創作者、開發者、公司和機構、社區以及其他組織,了解和使用NFT。NFT Canon是所有NFT內容的精選閱讀材料和資源,從NFT是什么以及它們為何重要的全局視圖,到如何創造、收集和利用NFT做更多的事情,包括各種應用,如藝術、音樂、游戲、社交代幣和其他。[2021/4/3 19:43:09]
雖然以太坊網絡由包括 Geth、Besu 和 Erigon 在內的不同客戶端運行(然而目前采用率不足),但當前的 L2 解決方案還沒有接近支持客戶端多樣性。這很重要,因為我們希望防止由軟件錯誤/漏洞引起的無效 ORU 狀態轉換因為未檢測到和無可爭議而出差錯。
Optimism 團隊提出了一種潛在的解決方案,該解決方案通過為許多列入白名單的客戶端程序中的每一個包括一個鏈上二進制承諾,將較低級別的 VM 方法擴展到多客戶端設置。驗證者必須準備好參與涉及其中任何一個的挑戰階段,只有在他們設法贏得所調用的挑戰階段的門檻時才能贏得整體爭議。
這種方法只提供外在的客戶多樣性,而不是證明系統本身的內在。每個客戶都有自己的獨立證明系統與之關聯。事實上,這只是一種通用的縱深防御技術,任何 Rollup 都可以在使用多數票組合不同證明系統的方案中使用(例如,甚至將 Optimistic Rollup 和 ZK-rollup 組合到一個多重證明系統中))。雖然它可能會提供一些客戶端多樣性的表象,但在單獨使用時會引入多個問題:
1.客戶端程序的參與是許可的。也就是說,客戶端程序的編譯二進制文件必須作為白名單程序提交到鏈上,才能被允許參與爭議解決。
聲音 | Synthetix首席執行官:DeFi的成功幫助人們了解到以太坊的潛力:Synthetix首席執行官Kain Warwick表示,DeFi的成功幫助人們了解到以太坊的潛力,以及在區塊鏈上建立大量項目有助于打擊“市場上的錯誤定價”。以太坊將傳統金融應用復制到去中心化平臺上的想法,終于跨越了鴻溝,達到了人們可以理解的程度。(CoinTelegraph)[2020/2/14]
此外,由于二進制承諾隨版本的變化而變化,Optimism 的治理過程也處于升級任何客戶端程序(甚至只是其編譯工具鏈)的關鍵路徑上。
理想情況下:客戶端程序可以參與和升級,而無需經過 ORU 的治理。
2.有一個強大的信任假設,即大多數客戶端程序正確地實現了 EVM。這可以解釋為 K-of-N 版本 或 N-of-N 版本編程。
正如我們在下一節中指出的,這尤其成問題,因為客戶端程序難以審計。
理想情況下:只需一個客戶端程序即可正確實現 EVM(即使用經典的 N 版本編程)。
3. 驗證者別無選擇,只能準備運行每個列入白名單的客戶端程序來解決爭議。
由于爭議過程中的額外冗余,這不僅昂貴且緩慢,而且操作上也更加復雜,因為驗證者必須學習如何配置和運行每個程序。
操作復雜性隨著客戶數量的增加而增加,對可以包含多少客戶端程序設置了實際限制。
總而言之,我們認為這種設計不能有效地分配信任——客戶端程序包含是許可的,必須信任大多數人才能正確實現 EVM 語義,并且支持的數量實際上會受到信任、devops 和一般操作復雜性問題的限制。
我們的方法提供了內在的客戶端多樣性,因為鏈上驗證者對客戶端程序是不可知的。所有客戶端都使用相同的證明系統進行交互。任何支持 EVM 語義的程序都可以無許可參與,并且只有一個程序必須實現正確的語義才能檢測/爭議故障。驗證者還可以真正選擇運行他們最熟悉的任何客戶端程序,從而提供更簡單的 devops。
聲音 | 高德納分析師:區塊鏈業務成功的關鍵在于了解投資的時機:知名咨詢機構高德納(Gartner)分析師David Furlonger和Christophe Uzureau在他們的新書《區塊鏈的真正業務:領導者如何在新數字時代創造價值》中解釋了如何制定區塊鏈戰略。Furlonger表示,區塊鏈業務成功的關鍵在于了解投資的時機。完全成熟的完整區塊鏈解決方案將允許組織重新設計業務關系,將非流動資產貨幣化,并重新分配數據和價值流,以更成功地參與數字世界。這是區塊鏈真正的業務。(TechRepublic)[2019/10/24]
因此,EVM 本地 ORU 為無需許可、信任最小化的客戶端多樣性提供支持。雖然這兩種方法都可以檢測惡意注入的狀態轉換(例如,由無效交易引起的),但只有 EVM 本地方法能夠可靠地檢測和解決錯誤/漏洞。
ORU 的 TCB 必須是可審計的和/或可正式驗證的,以確保其可信度。現有的 ORU 達不到這個目標。
在較低級別的 VM 方法中:因為鏈上驗證者在目標 ISA 指令級別(而不是較高級別的 EVM 語義)強制執行客戶端程序,因此僅檢查驗證者不足以確定等價性將強制語義與 EVM 的語義相比較。ORU VM 的強制語義由列入白名單的客戶端二進制文件隱式確定。如果不審計整個客戶端程序和編譯器,就不可能先驗地確定這些語義是否等同于 EVM 語義。而在外部客戶端多樣性的情況下,這個問題會進一步惡化,因為語義是由多數共識決定的(通過爭議機制表現出來),需要對所有或至少大多數客戶端程序和編譯器進行審計。
因此,TCB 不僅包括驗證者,還包括每個客戶端程序,以及與每個程序關聯的編譯器工具鏈和二進制提交生成器。TCB 臃腫的規模和復雜性造成了明顯的軟件錯誤/漏洞風險,這些風險可能會影響 ORU 的安全性,并相應地增加審計開銷。
我們強調,它不像捎帶由上游客戶端程序(即 Geth)的維護者進行的安全審計那么簡單,因為該程序必須定制以支持一步證明生成(請參閱此處和此處的 Geth 分叉)。此外,由于鏈上驗證者無法訪問存儲區塊、交易和帳戶/存儲狀態的以太坊數據庫,因此他們必須插入原像預言機組件以允許 MIPS/WASM 代碼查詢數據庫。
現場 | Wilmerhale訴訟及調查合伙人:SEC需要相關人員了解加密知識:金色財經現場報道,舊金山時間1月18日,在niTROn SUMMIT 2019區塊鏈峰會有關“美國未來的加密貨幣展望”的圓桌討論上,Wilmerhale訴訟及調查合伙人Micheal Mugmon表示,2017年12月美國證券交易委員會(SEC)正式開始監管舉措。當時由于聯邦安全的原因叫停了某些ICO。一直以來,SEC的執法是針對防止詐騙的,另外,如果涉及房地產和鉆石的產業的時候,SEC就會介入以保護投資人。總體來說,現在美國的執法機構做的相關監管并不多,而且跟以前做的事情也差不都。SEC需要有相關人員了解相關知識,將會繼續保護投資者的投資商。想要驅動改變,一定需要一些法律規定支持。[2019/1/19]
在 EVM 本地方法中,EVM 語義由鏈上驗證者明確實施。由于無需許可和信任最小化的客戶端多樣性,ORU 的整體安全性不會在很大程度上依賴于任何單個客戶端程序的正確性。因此,EVM 本地 ORU 的 TCB 僅包括鏈上驗證者。這很好,因為 TCB 的有限范圍允許它更容易審計,并且相對于正式的 EVM 規范完全可以正式驗證,正如我們在下面談到的那樣。
EVM 本地和較低級別的 VM 方法都在 TCB 中包含一步形式驗證者。雖然較低級別的 VM 驗證者可能更易于實施和審計(由于指令集較小),但考慮到端到端實施和/或審計系統其余部分的難度——尤其是客戶端和編譯器。
此外,形式驗證——尤其是 KEVM——使競爭環境更加公平。KEVM 是使用支持 Solidity 智能合約形式驗證的 K-Framework 實現的 EVM 的可執行形式規范。因此,KEVM 是 Specular 的完美補充,因為它提供了正式的規范和一套驗證工具,使我們能夠正式驗證我們的鏈上驗證者。我們正在積極參與這一研究方向,目前正在與 KEVM 團隊合作探索利用 KEVM 的各種方法。
加密貨幣投資人暴走恭親王:加密貨幣的投資,需要花時間學習和了解項目:今日凌晨,著名加密貨幣投資人暴走恭親王發布微博,稱:對于新人而言,我個人的建議是利用這段時間可以多學習行業的知識,我始終認為你只有對行業越了解,你才能對于行業越有信心。如果你對數字貨幣不了解,對參與的項目不了解,對全球發展趨勢不了解,那么群里只要有一些風吹草動,你馬上就會心中生出無數的疑慮,并且很快會在謠言中作出很多讓你可能抱憾終身的決定(這種決定我也做過)。很多人希望在群里面充值信仰,我個人覺得很難,如果你真的能夠把時間花在學習和了解知識以及項目上,那真的可以讓你握住自己的幣。發文疑似是對周末“過山車”行情的觀點表達,他也表示發文是“關于幣本位和充值信仰”。[2018/3/19]
另一方面,正式驗證采用低級別 VM 方法的 ORU 的 TCB 是不可行的。雖然可以正式驗證 MIPS 驗證者,但這并不能保證 EVM 語義的執行。為了實現這樣的保證,Geth 本身——連同它的編譯工具鏈——必須經過形式驗證;然而,鑒于這些程序的復雜、計算無界和并發的性質,這實際上是不可能的。
因此,EVM 本地 ORU 的 TCB 可以根據現有的、經過充分測試的正式規范進行形式驗證,而較低級別的 VM 方法則不能。
在較低級別的 VM 方法中,引入了高度定制的編譯工具鏈來支持一步證明生成。然而,這個工具鏈并不成熟。編譯器和目標 ISA 都是定制的(參見此處和此處)。Nitro 為原像預言機和收件箱添加了幾個自定義 WASM 操作碼,而 Cannon 則添加了幾個自定義 MIPS 系統調用。目標運行時模型也受到若干約定或約束的修改和約束。例如,Nitro 和 Cannon 都對內存進行了默克化處理,以實現簡潔的一步證明,而不會泄露整個內存空間。Cannon 還要求將編譯后的程序和輸入/輸出加載到內存的特定位置。此外,Nitro 和 Cannon 都將浮點指令替換為軟浮點實現(參見此處和此處?)。@pepyakin 寫了一篇很棒的博客文章?,它涉及到使用 WASM 作為目標 ISA 的其他復雜性。
這些定制中的任何一個都可能無意中改變已編譯的 Geth 二進制文件的行為,因此必須進行廣泛的審計。鑒于編譯器工具鏈的不成熟,x86 Geth 和 MIPS/WASM Geth 之間的一致性不能被視為給定的。
EVM 本地方法沒有任何這些問題——正常的執行和爭議解決在相同的抽象層面上運行,并且在實踐中密切共享代碼路徑。
雖然以太坊客戶端程序經常升級,但以太坊協議本身往往一年只硬分叉幾次。實際修改 EVM 語義的硬分叉甚至更少見,大約一年一次。此外,許多這些更改(例如共識)不會影響執行語義。因此,與采用較低級別 VM 方法的 ORU 相比,EVM 本地 ORU 的 TCB 需要相對較少的升級。相比之下,較低級別的 VM 方法需要每次客戶端升級時都升級 L1 合約,因為更改必須反映在鏈上新的二進制承諾中。
此外,我們預計以太坊協議和 EVM 規范最終會以某種形式穩定下來。這有兩個含義:
從長遠來看,EVM 本地 ORU 的 TCB(或等效意義上的鏈上驗證者)的升級頻率將會降低——最終趨于零。另一方面,個別客戶端程序可能會繼續經歷旨在提高性能和修復錯誤的升級,從而在較低級別的 VM 方法中觸發頻繁必要的 TCB 升級。
EVM 本地 ORU 可以與以太坊同步穩定。這是因為負責開發 Specular 的社區可能會放棄其 L1 合約升級密鑰,而不會失去向客戶提供性能升級和錯誤修復的能力。另一方面,一旦 Optimism 團隊扔掉了鑰匙(正如他們所說的那樣),就不可能及時進行此類升級(如果有的話)。這使得這樣做是一項風險更高的工作,即使外部客戶多樣性計劃提供了輕微的保護措施——以至于它可能永遠不夠安全,無法擺脫它們。
因此,我們認為放棄(快速)升級密鑰的最安全和最實用的途徑是通過 EVM 本地 ORU 設計。
較低級別 VM 方法中 TCB 的大小和復雜性導致升級過程不透明。例如,客戶端的升級方式不如以太坊規范透明,后者需要經過慎重的提議 (EIP) 流程。對特定于 ORU 的工具鏈組件的升級,例如 Golang-to-ISA 編譯器,仍然更不透明。
在我們的方法中,語義驗證與實現這些語義的客戶端程序之間存在明顯的區別。因此,更容易辨別升級是否會潛在地影響語義的解釋——審計人員只需要查看 L1 合約源代碼中的差異。
由于上述原因,我們相信 EVM 本地設計可提供卓越的安全性和信任屬性。
感謝 Patrick McCorry 對這篇文章的反饋和意見。
在本節中,我們對 @kelvinfichter 深思熟慮的博文?中的具體摘錄做出回應,他在博文中總結了(他的觀點)兩種方法之間的權衡。雖然這篇文章承認了上述大部分觀點,但它也提出了一些有趣的問題。
升級
二元承諾仍然必須改變。在治理過程中如何處理對安全關鍵合約代碼的修改和對合約中編譯和提交的安全關鍵客戶端代碼的修改之間應該沒有有意義的區別。任何一方的修改都會對較低級別 VM 方法中 Rollup 的安全性產生不利影響。
此外,雖然確實任何人都可以計算客戶端代碼版本之間的差異,以查看升級中發生了什么變化,但在實踐中審核跨越數萬到數十萬個 LoC 的代碼庫的更改更具挑戰性,因為任何給定修改的影響都不太清楚。
此外,由于客戶端的更改不需要傳播到證明,EVM 更新不會觸發新的智能合約審計。原生 EVM 故障證明必然受上游 EVM 更改的支配。以太坊硬分叉大約每年兩次,并且這些硬分叉中至少有一個通常會引入 EVM 調整(一些比其他更多,例如在倫敦硬分叉中引入 EIP-1559)。如果本地 EVM 證明系統想要維持上游 EVM 等效性,則必須升級證明合約。
在 EVM 本地方法中需要審計的相同硬分叉也可能會在較低級別的 VM 方法中觸發審計。在我們看來,單個客戶端的工程/審計工作的差異并不顯著——正如前面所討論的,EVM 原生方法在多客戶端案例中領先。
引入新功能
我們同意 EVM 范圍之外的某些功能(例如調用數據(calldata)壓縮)可能有助于為用戶實現低交易成本(盡管最近數據可用性層的發展利用了對以太坊的現有信任,這可能不是立即需要的)。較低級別的 VM 方法在這里確實具有更大的靈活性。然而,所有的希望都不會消失。
通過將 L2 擴展與 EVM 語義分離,我們可以專注于確保鏈上驗證者的安全性。可以引入不同的驗證者來支持 L2 擴展,從而保持核心 EVM 驗證者獨立且完整。我們目前計劃插入零知識證明技術來驗證此類擴展。雖然在 SNARK 中執行 EVM 語義可能很復雜,但數據壓縮(calldata)等 L2 擴展更易于處理,因為語義規范完全在我們的控制之下(因此可以設計為對 SNARK 友好)。我們注意到,這仍然是一個正在進行的研究領域。
工程努力
鑒于迄今為止我們為構建 Specular 所投入的工程資源數量,我們認為這是一個高估。此外,如上所述并在帖子中承認,許多問題實際上可以通過形式的方法來解決。
我們使用術語 EVM 語義,包括以太坊黃皮書中定義的交易間和交易內語義。
為了消除歧義,我們將實現以太坊的軟件稱為客戶端程序,并將它們的實例(即運行該軟件的實際節點)稱為客戶端。
原文:Specular,由 DeFi 之道翻譯編輯。
來源:DeFi之道
DeFi之道
個人專欄
閱讀更多
財經法學
金色早8點
鏈捕手
PANews
Bress
Odaily星球日報
區塊律動BlockBeats
成都鏈安
Tags:以太坊MISOPTPTI以太坊幣最新價格美元行情Space MisfitsAirdropTokenOptimus Inu
大力 iNFTnews資深作者Web3技術——包括虛擬現實和增強現實、機器學習、人工智能、區塊鏈、智能合約等——將解決Web2時代創作者遇到的問題,徹底改變創建內容、聲明所有權和獲得報酬的方式.
1900/1/1 0:00:00撰寫:Jacquelyn Melinek編譯:深潮 TechFlow周三,Alliance DAO 的“演示日”活動在 FTX 崩盤期間舉行,我們仍然看到了許多新的且不錯的加密初創項目.
1900/1/1 0:00:00金色財經獨家合作媒體Coinlive在Token2049會議期間(9.28-9.29)對孫宇晨進行了獨家采訪.
1900/1/1 0:00:0001 據NFT數據分析平臺NFTGO數據,最近一年來,NFT總市值在2022年2月22日、3月30日兩次見頂,分別達到35.3B USD和35.5B USD,隨后陷入下跌調整期.
1900/1/1 0:00:00走出五道口地鐵站,穿過酒吧一條街,經過一條林蔭小道,不遠處是一家咖啡館。它夾在電動車店和房產中介門店之間,灰色的墻面、黑色的logo、白色的店名,和四周閑適的氛圍,劃開一條硬朗的分割線.
1900/1/1 0:00:00吳說作者 | @defioasis本期編輯 | Colin Wu近日 Twitterscan 頂住壓力開啟了其 .nft 的注冊和鑄造.
1900/1/1 0:00:00