幾周前,我們宣布了 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 方法的一些優點。
肖颯:幣圈投資人要減少僥幸心理,充分了解投資項目與運作機理:中國銀行法學研究會理事肖颯則從法律的角度指出,當前,不同類型的資金盤模式和套路形式多樣,需拋開表象看實質法律關系。在她看來,不同的資金盤模式,投資人與操盤方處于不同的法律關系之中,進而會面臨不同的法律風險,包括但不限于一般財產損失、遭遇詐騙以及傳銷組織活動等。因此,建議幣圈投資人減少僥幸心理,充分了解投資項目與項目運作機理,了解法律常識,及時尋求專業人士幫助等。(北京商報)[2020/6/9]
雖然以太坊網絡由包括 Geth、Besu 和 Erigon 在內的不同客戶端運行(然而目前采用率不足),但當前的 L2 解決方案還沒有接近支持客戶端多樣性。這很重要,因為我們希望防止由軟件錯誤/漏洞引起的無效 ORU 狀態轉換因為未檢測到和無可爭議而出差錯。
Optimism 團隊提出了一種潛在的解決方案,該解決方案通過為許多列入白名單的客戶端程序中的每一個包括一個鏈上二進制承諾,將較低級別的 VM 方法擴展到多客戶端設置。驗證者必須準備好參與涉及其中任何一個的挑戰階段,只有在他們設法贏得所調用的挑戰階段的門檻時才能贏得整體爭議。
這種方法只提供外在的客戶多樣性,而不是證明系統本身的內在。每個客戶都有自己的獨立證明系統與之關聯。事實上,這只是一種通用的縱深防御技術,任何 Rollup 都可以在使用多數票組合不同證明系統的方案中使用(例如,甚至將 Optimistic Rollup 和 ZK-rollup 組合到一個多重證明系統中))。雖然它可能會提供一些客戶端多樣性的表象,但在單獨使用時會引入多個問題:
1.客戶端程序的參與是許可的。也就是說,客戶端程序的編譯二進制文件必須作為白名單程序提交到鏈上,才能被允許參與爭議解決。
動態 | Coinbase研究:學生越來越有興趣了解區塊鏈和加密如何使全世界的人受益:Coinbase博客發文稱,研究表明,學生們越來越有興趣了解區塊鏈和加密如何使全世界的人受益。在2018年至2019年期間,學習區塊鏈中對于“社會公正”的興趣從13%上升到20%。與此同時,學生對于“安全”和“未來應用與增長”的學習興趣在過去一年中都有所下降,分別從37%降至29%和31%至27%。[2019/8/31]
此外,由于二進制承諾隨版本的變化而變化,Optimism 的治理過程也處于升級任何客戶端程序(甚至只是其編譯工具鏈)的關鍵路徑上。
理想情況下:客戶端程序可以參與和升級,而無需經過 ORU 的治理。
2.有一個強大的信任假設,即大多數客戶端程序正確地實現了 EVM。這可以解釋為 K-of-N 版本 或 N-of-N 版本編程。
正如我們在下一節中指出的,這尤其成問題,因為客戶端程序難以審計。
理想情況下:只需一個客戶端程序即可正確實現 EVM(即使用經典的 N 版本編程)。
3. 驗證者別無選擇,只能準備運行每個列入白名單的客戶端程序來解決爭議。
由于爭議過程中的額外冗余,這不僅昂貴且緩慢,而且操作上也更加復雜,因為驗證者必須學習如何配置和運行每個程序。
操作復雜性隨著客戶數量的增加而增加,對可以包含多少客戶端程序設置了實際限制。
總而言之,我們認為這種設計不能有效地分配信任——客戶端程序包含是許可的,必須信任大多數人才能正確實現 EVM 語義,并且支持的數量實際上會受到信任、devops 和一般操作復雜性問題的限制。
我們的方法提供了內在的客戶端多樣性,因為鏈上驗證者對客戶端程序是不可知的。所有客戶端都使用相同的證明系統進行交互。任何支持 EVM 語義的程序都可以無許可參與,并且只有一個程序必須實現正確的語義才能檢測/爭議故障。驗證者還可以真正選擇運行他們最熟悉的任何客戶端程序,從而提供更簡單的 devops。
動態 | 胡潤研究院報告:國內超過半數的受訪者表示不太了解虛擬貨幣:據鳳凰網商業報道,1月16日,胡潤研究院頒布《2019至尚優品—中國千萬富豪品牌傾向報告》,報告中指出,“對于投資虛擬貨幣,盡管虛擬貨幣近年來在國際市場上吸引了投資者極大的熱情,但是在國內仍然有待觀望,超過半數的受訪者表示不太了解虛擬貨幣,已投資虛擬幣者中,投資比特幣的占多數,達15%;20%的受訪者對虛擬貨幣表示“感興趣”。”[2019/1/17]
因此,EVM 本地 ORU 為無需許可、信任最小化的客戶端多樣性提供支持。雖然這兩種方法都可以檢測惡意注入的狀態轉換(例如,由無效交易引起的),但只有 EVM 本地方法能夠可靠地檢測和解決錯誤/漏洞。
ORU 的 TCB 必須是可審計的和/或可正式驗證的,以確保其可信度。現有的 ORU 達不到這個目標。
在較低級別的 VM 方法中:因為鏈上驗證者在目標 ISA 指令級別(而不是較高級別的 EVM 語義)強制執行客戶端程序,因此僅檢查驗證者不足以確定等價性將強制語義與 EVM 的語義相比較。ORU VM 的強制語義由列入白名單的客戶端二進制文件隱式確定。如果不審計整個客戶端程序和編譯器,就不可能先驗地確定這些語義是否等同于 EVM 語義。而在外部客戶端多樣性的情況下,這個問題會進一步惡化,因為語義是由多數共識決定的(通過爭議機制表現出來),需要對所有或至少大多數客戶端程序和編譯器進行審計。
因此,TCB 不僅包括驗證者,還包括每個客戶端程序,以及與每個程序關聯的編譯器工具鏈和二進制提交生成器。TCB 臃腫的規模和復雜性造成了明顯的軟件錯誤/漏洞風險,這些風險可能會影響 ORU 的安全性,并相應地增加審計開銷。
我們強調,它不像捎帶由上游客戶端程序(即 Geth)的維護者進行的安全審計那么簡單,因為該程序必須定制以支持一步證明生成(請參閱此處和此處的 Geth 分叉)。此外,由于鏈上驗證者無法訪問存儲區塊、交易和帳戶/存儲狀態的以太坊數據庫,因此他們必須插入原像預言機組件以允許 MIPS/WASM 代碼查詢數據庫。
動態 | 畢馬威推出新服務 幫加密貨幣投資者了解納稅義務:畢馬威澳大利亞公司推出了一項解決方案,幫助加密貨幣投資者了解其納稅義務。在一開始,該項服務“Crypto Tax Estimator”將首先提供給澳大利亞數字資產交易平臺Independent Reserve的用戶。[2018/11/16]
在 EVM 本地方法中,EVM 語義由鏈上驗證者明確實施。由于無需許可和信任最小化的客戶端多樣性,ORU 的整體安全性不會在很大程度上依賴于任何單個客戶端程序的正確性。因此,EVM 本地 ORU 的 TCB 僅包括鏈上驗證者。這很好,因為 TCB 的有限范圍允許它更容易審計,并且相對于正式的 EVM 規范完全可以正式驗證,正如我們在下面談到的那樣。
EVM 本地和較低級別的 VM 方法都在 TCB 中包含一步形式驗證者。雖然較低級別的 VM 驗證者可能更易于實施和審計(由于指令集較小),但考慮到端到端實施和/或審計系統其余部分的難度——尤其是客戶端和編譯器。
此外,形式驗證——尤其是 KEVM——使競爭環境更加公平。KEVM 是使用支持 Solidity 智能合約形式驗證的 K-Framework 實現的 EVM 的可執行形式規范。因此,KEVM 是 Specular 的完美補充,因為它提供了正式的規范和一套驗證工具,使我們能夠正式驗證我們的鏈上驗證者。我們正在積極參與這一研究方向,目前正在與 KEVM 團隊合作探索利用 KEVM 的各種方法。
另一方面,正式驗證采用低級別 VM 方法的 ORU 的 TCB 是不可行的。雖然可以正式驗證 MIPS 驗證者,但這并不能保證 EVM 語義的執行。為了實現這樣的保證,Geth 本身——連同它的編譯工具鏈——必須經過形式驗證;然而,鑒于這些程序的復雜、計算無界和并發的性質,這實際上是不可能的。
因此,EVM 本地 ORU 的 TCB 可以根據現有的、經過充分測試的正式規范進行形式驗證,而較低級別的 VM 方法則不能。
Facebook創始人稱要深入的學習和了解加密貨幣技術:扎克伯格在Facebook發帖稱,2018年他的新挑戰是解決Facebook存在的一些問題,并且還要深入了解和學習加密技術和加密貨幣,并運用到Facebook的服務中去。[2018/1/5]
在較低級別的 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:以太坊TIMTIMIOPT以太坊官網公告Optimus OPT3timi幣官方網站OptionRoom Governance Token
誰能在虛擬世界和現實世界嫁接好第一座橋梁,誰就能獲得通向自由之路。如果把時間軸拉回到一年前,就是2021年8月,誰在朋友圈說一年后中國房地產三十強企業內的大部分民營公司,其債券價格都會跌到個位數.
1900/1/1 0:00:002021年6月10日,#7523號CryptoPunks NFT頭像以1175萬美元拍出,一張電子圖片為何能拍得如此高價?且聽娓娓道來.
1900/1/1 0:00:00距離以太坊合并完成已經過去了大約25天時間,根據 ultrasound.money 統計的數據顯示,在完全轉向 PoS 之后,以太幣的新增供應量大約為 8665 ETH.
1900/1/1 0:00:00RTFKT已經證明,NFT不僅僅是圖片上鏈,在元宇宙里,擁有優秀的設計和開發能力的創業者,可以創造一個抓住Z世代市場的虛擬時尚品牌.
1900/1/1 0:00:00全球頂級虛擬資產交易所HuobiGlobal今天宣布,HuobiGlobal控股股東公司已向百域資本旗下基金轉讓所持有的全部HuobiGlobal股份.
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