來源:Fuel Network
模塊化區塊鏈旨在將區塊鏈功能拆分爲獨立且專業的模塊,並確保每個模塊都能高效地完成其特定任務,同時將其他任務外包。其也被視爲 2024 年加密領域值得關注的敘事之一。但相較於其他模塊,市場注意力似乎一直集中在數據可用性層模塊上,例如 Celestia、EigenDA 等項目,而執行層、結算層等模塊並沒有獲得太多關注。但近期隨着並行 EVM 敘事的興起,執行層也逐漸引起了重視。
執行層的主要職責是處理和執行智能合約和交易,爲 Rollup 和應用程序提供高吞吐量的環境。Fuel 就是其中一個非常有趣的項目,它專注於避免狀態增長,並且不局限於任何一種配置,無論是主權 Rollup、結算鏈還是單體鏈。
從 V1 到 V2:有哪些演進?
2020 年 12 月,Fuel Labs 發布了 Fuel V1,這是以太坊主網首個 Optimistic Rollup 解決方案。最初,Fuel v1 僅是爲了應對以太坊擴容問題而提出的一個簡單方案,通過採用與以太坊虛擬機不同的執行模型來實現可擴展性。Fuel V1 的主要用例是處理以支付爲核心的應用,並且還支持帶有哈希時間鎖定合約(HTLC)的原子兌換、OP_RETURN 式輸出、使用任何代幣支付費用及在 10 分鐘內提幣等功能。
然而,由於 Fuel V1 的例過少且不支持智能合約的限制,上线後並未獲得用戶的廣泛青睞。因此,在啓動不久後,Fuel 开發團隊 Fuel Labs 就將全部开發重心轉移到了 V2 版本,並將其定位爲模塊化執行層。通過模塊化設計,Fuel 可根據需求爲其他模塊化層選擇即插即用的工具,從而具有更大的靈活性。此外,Fuel 採取欺詐證明的機制來確保 L2 網絡的正確共識。盡管這可能會導致需要更多資源進行驗證,但 Fuel 允許用戶通過輕客戶端進行鏈的驗證,從而減少對全節點資源的需求。近期,Fuel 已宣布將其暫存網絡遷移至 Beta-5,开發人員可使用新的 npm create fuels 軟件包,從而簡化構建全棧 DApp 的過程。且 Fuel 還表示未來將會推出激勵測試網絡。
Fuel 團隊及投資背景
Fuel 的團隊非常有趣,其聯創 John Adler 同時也是模塊化區塊鏈網絡 Celestia 的聯創。且他還曾在 ConsenSys 從事二層可擴展性研究,並且創建了 Optimism Rollup 設計範式。這不禁也讓人好奇,未來 Fuel 作爲執行層會和 Celestia 產生何種協同效應。此外,Fuel 首席執行官 Dodson 則是以太坊早期的 Solidity 开發者。
根據公开資料,截止目前,Fuel 共完成了兩輪融資。2021 年 9 月,Fuel Labs 完成了 CoinFund 領投的 150 萬美元融資輪。隨後於 2022 年完成了 8000 萬美元融資,Blockchain Capital 和 Stratos Technologies 領投,Alameda Research、CoinFund、Bain Capital Crypto、TRGC、Maven 11 Capital、Blockwall、Spartan、Dialectic 和 ZMT 等參投。
技術堆棧解讀
Fuel 的愿景是成爲模塊化區塊鏈堆棧中最快的執行層,並提供最高安全性和靈活吞吐量。爲了實現該愿景,Fuel 的技術架構做了多項設計選擇,其中最爲核心的是採用 UTXO 模型、虛擬機及編程語言的創新。
UTXO 模型
相比於其他因爲性能而遷就 EVM 兼容性的 Rollup,Fuel 選擇繼承比特幣的 UTXO 模型作爲其記账模型。與账戶模型不同,UTXO 模型中不存在錢包或账戶的概念。每個 UTXO 代表一定數量的代幣,交易的目的是消耗先前創建的 UTXO 並創建新的 UTXO。但和傳統 UTXO 模型不同的是,Fuel 的 UTXO 模型更加通用,不僅可以表示代幣的轉移,還可以表示智能合約的狀態。Fuel 的每個合約 UTXO 都承載着合約的狀態和余額,由合約 ID 唯一標識。
相較於账戶模型,UTXO 模型的優勢在於不需要按照特定順序處理事務,從而使得交易可以並行執行。Fuel 利用 UTXO 來管理對狀態的訪問,通過構建嚴格的訪問列表,確保交易的執行順序符合規範,實現了交易的並行處理。這種並行執行技術使得Fuel能夠同時利用多個CPU线程和核心,在處理交易時提高了計算、狀態訪問和事務吞吐量。
但傳統的 UTXO 模型存在並發問題,因爲每個 UTXO 都只能使用一次。這導致了一個交易的成功執行意味着其他交易的失敗,尤其是在 DeFi 應用中。而在 Fuel 中,用戶不會直接籤署 UTXO,而是籤署合約 ID,以表示他們與合約進行交互的意圖。這意味着用戶不會直接改變狀態,從而避免了UTXO被消耗。最終是由區塊生產者決定交易將花費哪個 UTXO 以及相關合約的結果狀態。
此外,在 Fuel 上,UTXO 的花費條件是謂詞(Predicates)。謂詞會對是否會發生交易進行評估,如果發現與其授權條件不匹配,則該交易將不會被包含在區塊中。更爲重要的是,謂詞不會像智能合約那樣存儲數據,因此不會導致狀態增長問題。而且,這種設計不僅能夠最小化狀態增長,還能夠爲 Fuel 引入無狀態账戶抽象功能,避免了账戶狀態在鏈上長期存儲導致的問題。Fuel 的账戶抽象支持各種應用場景,如社交恢復、交易費用補貼等,使得其在多樣化的區塊鏈應用中具有廣泛的適用性。
全新 VM 架構 FuelVM
爲了擺脫 EVM 內部構建的限制,Fuel 創建了自己的虛擬機 FuelVM。作爲對 EVM 的兼容和簡化的實現,FuelVM 在提升了 EVM 性能的同時,也不會爲开發者帶來額外的學習成本。FuelVM 採用了全局共享內存架構,所有合約調用都能夠共享全局內存,這可以實現無需存儲空間的跨合約的數據傳輸。
此外,FuelVM 還帶來了很多優勢。例如 FuelVM 允許用戶指定交易涉及的合約,使得虛擬機在執行非爭議狀態訪問交易的同時能夠處理其他交易,實現了驗證過程的完全並行,不受狀態爭用的影響。同時,FuelVM 支持原生資產系統,通過操作碼鑄造基於 UTXO 的原生資產,獲得了原生級別調用和優化的優勢。
而且 FuelVM 採用多維資源定價模式,允許 dApp 根據不同智能合約的資源需求情況進行定價,從而激勵節點運行者優化底層硬件,並最大程度優化區塊效用。此外,FuelVM 結合資源定價和 UTXO 系進行狀態修剪,能夠控制狀態,降低節點的運行成本,促進網絡的去中心化。且 FuelVM 的設計不關心共識或統交易排序,只負責執行,這有助於實現去中心化的區塊生產,進一步提高網絡的去中心化程度。
通過 FuelVM,Fuel 對 EVM 低效的執行環境進行了改進。並且 FuelVM 是從模塊化執行層角度來考慮構建,重點在於實現高效機算能力的同時減少狀態的使用。
特定領域語言 Sway
Sway是專爲高計算需求的 Fuel 環境構建的,旨在爲开發者提供簡潔的开發體驗。其基於 Rust 構建,並融合了 Solidity 語言特點。其中,Sway 繼承了 Rust 的語法,使得开發者能夠更加輕松地編寫安全高效的智能合約代碼。並且借鑑了 Solidity 中的智能合約範式,內置了頂層合約存儲和區塊鏈機制,爲合約編程提供了更加安全的環境。
爲了支持开發人員使用 Sway,Fuel 團隊還开發了用於構建、部署和測試 Sway 代碼的 Sway 工具鏈 Forc,包括一個包管理器,可以方便地訪問 Sway 工具。其他集成工具包括 VSCode 擴展、測試基礎架構和區塊資源管理器。
然而,Sway 更適用於 EVM 鏈,而非兼容使用 UTXO 模型構建的鏈。這也意味着如果這些鏈要在 Fuel 上开發智能合約,就需要構建專屬智能合約,這可能會增加开發者的工作負擔。
未來可期?
正如 Fuel 所言,以太坊致力於解決協調(Coordination)問題,而其則旨在解決合作(Collaboration)問題。相較於協調,合作需要更多的目標和責任,以實現更長期的目標。基於這一理念,Fuel 讓在去中心化信任層上構建可擴展且穩健的經濟系統成爲可能。但目前 Fuel 主網尚未上线,其是否真正能夠在 Rollup 競爭市場上佔據一定份額還需要時間的驗證。值得注意的是,Fuel 一直在積極構建生態,其早於 2022 年就推出了生態資助計劃,向基於 Fuel 構建的开發者提供 1 萬至 15 萬美元不等的資助。截止目前,Fuel 生態項目已超過 40 個。此外,Fuel 還計劃推出激勵測試網絡,促進生態的進一步發展。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。