時間:2021-12-03|瀏覽:444
Arbitrum和Optimism是以太坊Layer2擴展的主要項目是Rollup技術(shù)核心的二層擴展符合以太網(wǎng)未來的發(fā)展方向。
但是,面對未來豐富的生態(tài)應(yīng)用預期,需要虛擬機來實現(xiàn)編輯能力。ollp技術(shù)核心使這個方向成為實現(xiàn)稍微困難的技術(shù)需求。目前兩者都局限于虛擬機不成熟。限制了這一層的編輯能力。
今天本文中,我們將摘錄資料來了解Arbitrum虛擬機網(wǎng)絡(luò)設(shè)計原理。
AVM設(shè)計的起點是基于以太網(wǎng)虛擬機 (EVM),因為Arbitrum目標是高效地執(zhí)行EVM編寫或編譯程序,所以Arbitrum并未更改EVM大多數(shù)設(shè)計。AVM采用EVM數(shù)據(jù)類型和EVM操作指令等。
這樣看來,AVM和EVM兩者的區(qū)別來自Arbitrum的layer2需求和Arbitrum多輪挑戰(zhàn)協(xié)議。
執(zhí)行與證明
與EVM架構(gòu)不同,Arbitrum需要支持本地執(zhí)行和信用證明。VM該系統(tǒng)通過重新執(zhí)行有爭議的代碼來解決爭議,而Arbitrum依靠形成最終證明的挑戰(zhàn)協(xié)議來解決爭議。
Arbitrum我希望在當?shù)乜尚诺沫h(huán)境中優(yōu)化速度,因為當?shù)貓?zhí)行是常見的情況。系統(tǒng)很少需要證明,但需要始終保持準備證明的狀態(tài)。
操作系統(tǒng)
Arbitrum使用2層操作系統(tǒng)ArbOS。ArbOS控制單獨合同的執(zhí)行,隔離它們,跟蹤它們的資源使用情況。
此外,上述功能是在2層可信軟件中執(zhí)行的,而不是像以太網(wǎng)那樣將可信添加到1層網(wǎng)絡(luò)建設(shè)的強制性規(guī)則中,這樣參與者將從2層較低的計算和存儲成本中受益,而不是將這些資源成本作為1層EthBridge管理合同的一部分,增加成本。
Merkleize
任何依賴斷言和爭議解決(至少包括所有總結(jié)協(xié)議)的兩層協(xié)議都必須定義一個規(guī)則,用于處理虛擬機的完整狀態(tài)erkle哈希。這個規(guī)則必須是架構(gòu)定義的一部分,因為它依賴于解決爭議。
維護的Merkle當需要重新計算時,哈希也需要保持有效。這將對構(gòu)建內(nèi)存產(chǎn)生一些影響。任何大型和可變的存儲結(jié)構(gòu)對M都有影響erkleize都很貴,Merkleize的算法必須是架構(gòu)規(guī)范的一部分。
AVM該架構(gòu)通過只有大小有限、不可變的內(nèi)存對象(元組)來滿足這一需求,這些對象可以通過引用包含其他元組來滿足。元組不能當場修改,但有一個指令可以復制帶修改的元組。這允許構(gòu)建樹結(jié)構(gòu),其行為類似于大型平面存儲器。通過訪問內(nèi)部使用元組的庫,應(yīng)用程序可以使用大型平面數(shù)組和鍵值存儲等功能。
元組的語義不可能創(chuàng)建元組的循環(huán)結(jié)構(gòu),因此 AVM 通過使用引用計數(shù)和不可變結(jié)構(gòu),可以安全地管理元組。每個元組值的哈希只需要計算一次,因為內(nèi)容是不可變的。
代碼點
代碼的常規(guī)組織是存儲指令的線性陣列,需要保持指向下一個指令的程序計數(shù)器。使用這種傳統(tǒng)方法證明執(zhí)行指令需要對數(shù)時間和空間,因為它必須提供Merkle證明當前PC下的指令。
AVM使用這種傳統(tǒng)的執(zhí)行方法,但它增加了一個功能,使證明和證明檢查需要恒定的時間和空間。為了證明,程序計數(shù)器被當前代碼點哈希值取代,這是機器狀態(tài)的一部分。
在正常執(zhí)行中(無需證明時),通常只使用傳統(tǒng)架構(gòu) PC 值。然而,當需要證明時,證明人可以使用搜索表獲得任何相關(guān)信息。 PC 對應(yīng)的代碼點哈希值。
熱點:以太 以太坊 數(shù)據(jù)