模塊化執行案例
模塊化架構將使區塊鏈能夠以數量級的速度擴展。作為模塊化堆棧的核心部分,執行層正處於快速創新的階段。
Fuel正在為模塊化區塊鏈堆棧構建最快的執行層,在第1部分中,我們探討了模塊化執行層如何通過將計算與驗證分離來實現可擴展性。
https://mirror.xyz/coincapital.eth/ZfEP-rJmkSkCN2f5tmBc2_IcpcuLFgqJ5ZX0wxUJdpI
我們還談到了第二個核心優勢,它使模塊化執行層能夠比單片執行層擴展幾個數量級:
單片鏈在可以支持的速度和計算種類方面被鎖定在低效的技術中。另一方面,可以專門設計模塊化執行層,以優化高效計算。
這篇文章探討了第二個核心優勢,特別關注Fuel如何徹底改變區塊鏈處理計算的方式。
單片鏈:在第1 層迭代的挑戰
單片鏈在可以支持的速度和計算種類方面被鎖定在低效的技術中。
當區塊鏈最初被構思時,只有一個用例:數字現金。比特幣區塊鏈旨在針對這個狹窄的用例進行優化。
比特幣推出後不久,人們開始意識到區塊鏈在用例中的潛力遠遠超出了金錢。敘事迅速從“分佈式賬本”轉向“分佈式計算機”。比特幣社區試圖通過彩色coin來支持這個用例,但很明顯,它的通用性不足以真正支持無信任的分佈式計算;它被鎖定在其原始用例中。需要一個新的架構。
認識到這個問題,以太坊的創建者著手構建一個區塊鏈,可以支持分佈式圖靈完備虛擬機:以太坊虛擬機(EVM)。隨著2015年以太坊的推出,區塊鏈已經發展到支持在無信任環境中的任意計算。現在,任何人都可以構建和啟動計算機程序(智能合約),並讓它在分佈式計算機上運行。
以太坊是在區塊鏈概念出現後不到五年就構思出來的。自以太坊推出以來的7年中,已經發明了新的概念,這代表了比以太坊在比特幣上取得的進步更大的飛躍。但與比特幣一樣,以太坊區塊鏈大多被鎖定在其推出的核心架構中。
對於多年來對以太坊區塊鍊和EVM所做的每一次改進,由於需要保持向後兼容性,還有更多潛在的創新無法實施。
因此,每當孵化新的創新時,區塊鏈社區都會繼續資助、構建和啟動新的區塊鏈。無數新的第1 層區塊鏈已經推出,承諾迭代無信任分佈式計算的概念,但它們都遇到了同樣的挑戰:升級區塊鏈以支持新功能和改進是困難的(而且通常是不可能的)。
因此,這個循環仍在繼續,我們繼續看到新的區塊鏈推出,並對其前身進行了零碎的改進。在這個過程中,我們留下了一個由大多數不兼容的區塊鏈組成的生態系統,流動性、資金、用戶體驗和開發者思想份額的碎片化程度不斷增加。與此同時,本可以花在真正創新上的精力反而用於吸引投資者、開發人員和最終用戶的關注。
Crypto has a serious problem.
We're stuck in an endless cycle of new L1 smart contract platforms. Each purport to fix the problems of the L1s in the previous cycles.
These L1s rinse and repeat the same bizdev strategy of prior L1s, building copy-cat DeFi & NFT ecosystems. pic.twitter.com/wsrva4f5RD
— Mustafa Al-Bassam 🧱 (@musalbas) October 18, 2022
競爭是健康的,對於繁榮的生態系統是必要的。但這種競爭發生在錯誤的水平上。
模塊化區塊鏈範式有望解決這個問題。由於模塊化堆棧中的每一層都獨立於其他層,因此可以在一層上進行創新,而無需對整個堆棧進行徹底檢修。執行層可以在執行上競爭。數據可用性層可以在數據可用性方面競爭。每一層都可以針對其預期目的進行優化,而不會破壞向後兼容性。
共享結算層使流動性集中在一個地方,因此可以在不分散流動性或增加最終用戶體驗摩擦的情況下構建新的執行層。原生啟用的信任最小化橋接意味著社區可以減少在互操作性工作上花費的資源,而是專注於探索有意義的創新。
隨著模塊化堆棧的出現,我們可以擺脫在虛榮指標上競爭的不同L1 生態系統,轉向更具凝聚力、可互操作、可升級的堆棧。
We believe innovation does not require launching a new L1, but can happen at the execution layer
— Fuel Labs (@fuellabs_) September 13, 2022
模塊化執行:超越EVM
儘管有大量的一級區塊鏈有望改進EVM的原始設計,但其先發優勢使EVM能夠作為區塊鏈生態系統中的“默認”運行時環境站穩腳跟。智能合約開發成為Solidity(EVM的編程語言)的代名詞,它已經吸引了大多數潛在的區塊鏈開發人員。因此,當前正在開發的大多數執行層都是基於EVM 的匯總。
這樣做有一個很好的理由:使用EVM 使匯總能夠進入用Solidity 編寫的現有應用程序市場,以及已經熟悉這些應用程序的大量最終用戶。 EVM是播種新生態系統的絕佳工具,因為它已經在開發人員市場中佔有如此大的份額。
但是,正如我們已經探索的那樣,保持向後兼容性的需求意味著EVM 無法採用許多創新。此外,EVM 的核心設計針對單片鏈進行了優化,而不是模塊化堆棧。
EVM 的一些限制包括:
順序執行 – EVM 不支持並行事務執行,因此其計算效率遠低於其他虛擬機設計。
欺詐證明 – 以太坊基於賬戶的模型意味著在EVM鏈上生成和執行欺詐證明非常昂貴且效率低下,使其成為模塊化執行層的次優選擇。
Solidity – EVM最流行的編程語言Solidity因提供糟糕的開發人員體驗而臭名昭著,其設計方式使得編寫安全的智能合約變得困難。
燃料:針對模塊化執行進行了優化
模塊化的出現意味著執行層可以利用以太坊的流動性和安全性,而不受EVM的限制。
通過採用新的和改進的虛擬機設計原則,模塊化執行層可以專門優化高效和可擴展的計算、卓越的開發人員體驗和最大的安全性。
Fuel正在利用這個新的設計空間來構建最快的模塊化執行層。
燃料虛擬機
Fuel的核心創新之一是全新的虛擬機FuelVM。基於以太坊構建的執行層的出現為改進過去的虛擬機設計提供了新的機會,不受向後兼容需求的約束。
雖然在帶寬是核心瓶頸的預模塊化世界中,EVM 的緩慢交易執行可能已經足夠了,但在新的模塊化堆棧(包括L1 以太坊上)所做的改進意味著計算吞吐量正在成為擴展時的主要限制。
為了應對這種新範式,FuelVM旨在優化快速交易執行。借鑒EVM,Solana,WASM,比特幣和Cosmos的經驗,FuelVM旨在減少傳統區塊鏈虛擬機架構的浪費處理,同時大大增加開發人員的潛在設計空間。
FuelVM 採用了許多由EVM 社區建議和支持的創新,但由於需要保持向後兼容性而無法實現。下面僅突出顯示了幾個示例(有關完整列表,請參閱此處)。
具有Sway 和Forc 的高級DevEx
Fuel 協議在設計時將開發人員經驗放在首位。 FuelVM與其配套語言Sway一起構建:一種基於Rust的域特定語言,專門用於利用區塊鏈VM。與在創建EVM後開發的Solidity不同,Sway是從頭開始創建的,內置了方便高效的操作。通過基於Sway on Rust,Fuel 通過使用強大的靜態分析和編譯器反饋,使智能合約開發更安全、更高效。
從工具的角度來看,Fuel通過Forc工具鏈改進了EVM生態系統。借助Forc,開發人員可以使用單個工具鏈獲得開始為Fuel VM 創建Sway 應用程序所需的一切。 Fuel採用精心策劃的,“包含電池”但模塊化的方法來提供工具,具有一套全面,標準化的規範工具,不僅涵蓋堆棧的較低級別(如協議和VM實現),還涵蓋較高級別(例如包管理,編輯器支持,常用插件等等)。
Writing dapps on Fuel is honestly so nice because you don't have to configure wagmi, hardhat/foundry, ethers.js. You don't have to copy/paste your ABI in your front-end project. All the tooling is integrated seamlessly and just works.
Better developer experience 🤝 Ethereum
— cami ᵍᵐ (@camiinthisthang) October 5, 2022
Fuel 的開發人員環境保留了Solidity 等智能合約語言的優勢,同時採用了Rust 工俱生態系統中引入的範式,使Sway 的學習曲線易於管理,適合所有級別的開發人員體驗。
並行事務執行
並行執行事務的能力是一個非常理想的屬性,特別是當現代處理器變得越來越多線程時。因此,這是設計Fuel 協議時的核心考慮因素。
並行事務執行需要能夠確定和處理事務之間的依賴關係。為了避免在處理不同內核上的事務時出現重疊,需要預先確定每個事務可能觸及的共享狀態(通過“訪問列表”),以便將事務劃分為彼此之間沒有任何可能交互的集合。
由於其基於賬戶的設計的限制,以太坊無法支持這些訪問列表,因此被迫按順序處理交易(即一個接一個)。 EIP-648 提議向以太坊添加訪問列表,但由於它會帶來其他低效率,因此從未實施過。
從這一限制中吸取教訓,Fuel以UTXO模型的形式實現了嚴格的狀態訪問列表,使其能夠使用通常在單線程區塊鏈中空閒的多個CPU線程和內核。因此,Fuel 可以並行執行事務,提供比單線程對應項更多的計算、狀態訪問和事務吞吐量。
除了提供效率優化外,並行處理多個事務的能力還可以提高安全性,因為它使事務吞吐量能夠擴展,而不會相應增加驗證這些事務的資源需求。這減少了運行完整節點的障礙,從而形成了更加分散的驗證者網絡。
針對欺詐證明進行了優化
欺詐證明是模塊化區塊鏈堆棧的核心技術。在第 1 部分中,我們探討了模塊化執行層如何利用欺詐證明來實現信任最小化的輕客戶端,從而在假設只有一個誠實的完整節點可用的情況下實現安全性。
通過信任最小化的輕客戶端和共享結算和數據可用性層,可以在模塊化執行層之間建立信任最小化的橋樑,這是在L1之間無法實現的。這允許試驗和部署新的區塊鏈設計,而不會分散安全性或流動性。
由於欺詐證明提供的好處,Fuel是專門為以低成本,高效的方式進行欺詐證明而設計和製造的。
雖然以太坊基於賬戶的模型意味著為其構建欺詐證明的成本是不受約束的,但Fuel通過使用UTXO模型優化欺詐證明。 UTXO欺詐證明通過簡單地要求UTXO的每次支出“指向”UTXO的創建來提高效率,而不必引用全局狀態樹。證明a)指針無效,或b)所指向的任何內容與所花費的內容不匹配,足以詳盡地證明欺詐。
作為一個額外的好處,FuelVM指令集被設計為在EVM中可證明欺詐。這意味著Fuel可以使用以太坊作為結算層,利用其深厚的流動性和龐大的用戶群,同時不受EVM限制的限制。
其他好處
除了上述幾點之外,Fuel還實施了許多其他改進,包括:
支持多個原生資產
本機帳戶抽象和謂詞
多維度資源定價
序列器去中心化
對這些改進的解釋超出了本文的範圍,但Blockchain Capital對這些額外好處進行了很好的深入研究。
總結
單片範式導致一個由不兼容的L1組成的生態系統,在虛榮指標上競爭,分散流動性,資金和開發人員心智份額。 Fuel採用的前提是,創新不需要啟動新的L1,而是可以在執行層發生。
模塊化架構使MEL (如Fuel) 能夠專注於高效計算,而無需擔心向後兼容性。更快的計算不僅會帶來更高的吞吐量,而且還使運行驗證器更有效率,從而提高去中心化程度。這使得Fuel能夠為以太坊的可擴展性做出貢獻,而不會受到EVM效率低下的阻礙。
使用EVM 的執行層可以利用現有的Solidity 應用程序和開發人員生態系統,但無法充分利用模塊化堆棧提供的設計空間。 Fuel正在利用FuelVM的這一新設計空間,從頭開始設計,可證明欺詐並提供最佳的開發人員體驗。
Fuel引入了針對快速逼近的模塊化未來的創新,使新一代區塊鏈#BeyondMonolithic成為可能。
fuel官網:https://www.fuel.network/
推特:https://twitter.com/fuellabs_
Discord社區:https://discord.com/invite/fuelnetwork
油管視頻:https://www.youtube.com/channel/UCam2Sj3SvFSAIfDbP-4jWZQ
來源:bress