透過UTXO 模型實現並行執行:FuelVM 有哪些獨特優勢?

作者:fuelchina;來源:Fuel Network

隨著網路使用量的增加,以太坊虛擬機器(EVM)逐漸暴露出其效能方面的限制。目前以太坊每秒僅能處理約15-30 筆交易,在高峰期顯得力不從心,導致交易費用飆升,用戶體驗受損。此外,隨著越來越多的應用和使用者湧入,以太坊的狀態資料急劇膨脹,使得全節點的運作成本和維護難度不斷增加。這些問題限制了以太坊的潛力,使其難以支援大規模的去中心化應用。

為了應對這些問題,Rollups 作為一種Layer 2 解決方案提供了提高效率和降低成本的方法,透過將大部分計算和儲存工作移到鏈外執行,然後將結果提交到以太坊主鏈,從而顯著提升了交易吞吐量和降低交易費用。 Rollups 分為兩種主要類型:Optimistic Rollups 和ZK-Rollups,前者依賴挑戰期驗證交易的有效性,後者則透過零知識證明直接驗證。這些解決方案在擴展性方面表現出色,但最終結果仍需要在主鏈上處理和確認,依然受限於EVM 的架構和設計。

當底層協議能夠處理的交易數量有限時,即使EVM 的處理速度不高,也仍能滿足需求。然而,以太坊正在透過技術手段(如坎昆升級中引入EIP-4844)大幅提升其底層協定的擴展性。隨著以太坊基礎層能夠處理更多的交易,EVM 的執行速度成為了新的瓶頸。因此,提高EVM 的執行效率將是未來提升整個系統效能的關鍵。

為了解決這個新瓶頸,Fuel 團隊開發了一個更有效率的虛擬機器架構FuelVM。 FuelVM 是專為高效並行處理和模組化執行設計的虛擬機,透過UTXO 模型來實現並行處理,顯著提升交易處理速度。

解密FuelVM 的獨特優勢

Fuel 是為以太坊Rollups 設計的模組化執行層,能夠作為單鏈的一部分或作為獨立的執行環境,與其他層(如結算層、共識層和數據可用性層)分離運作。 FuelVM 是Fuel 系統中的核心虛擬機,專為高運算頻寬和平行處理而設計。 FuelVM 透過採用UTXO 模型實現並行處理,利用存取清單避免交易衝突,並透過內建的原生資產系統減少對智慧合約的依賴。

  • UTXO 模型實現並行處理:UTXO 模型源自比特幣,在這種模型中,資產以有向無環圖(DAG)的形式儲存在不同位址之間。每筆交易會消耗未花費的輸出來創造新的輸出。 Fuel 使用UTXO 模型來實現平行處理交易。由於UTXO 模型將狀態劃分為獨立的元素,因此每個交易必須明確指定將使用哪些UTXO,因此多個不衝突的交易可以同時執行。此外,FuelVM 引入了謂詞(Predicates)和腳本(Scripts)的概念,以增強智能合約的圖靈完備性。謂詞定義了UTXO 的使用條件,而腳本是用來執行多個智慧合約呼叫的程式。 UTXO 模型中的狀態是原子的,每個UTXO 只能使用一次,使用後會產生新的UTXO。因此,腳本和謂詞不會持久儲存數據,減少了狀態增長。這有助於減輕區塊鏈上的狀態膨脹問題,並降低運行節點的成本。

  • 存取清單避免平行交易之間的衝突:在FuelVM 中,每個事務必須明確指定它將存取的UTXO。這些指定的資訊就構成了存取清單。透過存取列表,FuelVM 可以事先知道每個交易將影響的狀態,從而將不衝突的交易同時在多個CPU 執行緒上並行執行,避免交易之間的衝突。

  • 原生資產系統:FuelVM 直接在虛擬機器層級處理原生資產。每種原生資產透過一組特定的操作碼(opcodes)定義,這些操作碼可以執行資產的建立、轉移和銷毀操作,不需要為每種資產編寫和部署智慧合約。這種方式減少了智能合約調用的次數和複雜性,從而降低了交易的gas 成本。這對於頻繁進行資產轉移的應用情境尤其重要。此外,透過減少對複雜智能合約的依賴,也降低了潛在的智能合約漏洞風險。

  • 支援帳戶抽象化:帳戶抽象化允許開發者在應用程式層定義自訂的交易驗證方案(如多重簽章、多因子認證等),而不必依賴協定中預設的驗證規則。在FuelVM 中,這種靈活性是透過謂詞來實現的。謂詞作為一種驗證條件,可以編程來決定UTXO 是否可以被花費。由於謂詞不需要在鏈上儲存狀態,它們僅在交易驗證時進行評估,所以謂詞和UTXO 模型的結合,減少了鏈上狀態的成長。

FuelVM 的挑戰:從技術到市場的雙重考驗

為了充分利用FuelVM 的架構特點,Fuel 專案團隊開發了Sway 語言和開發者工具鏈Forc。 Sway 是一種受Rust 和Solidity 啟發的新程式語言,專為FuelVM 設計,提供現代程式語言的特性,如結構體、基於特性的繼承和泛型類型。 Forc 工具鏈為開發、部署和測試Sway 程式碼提供了一體化的解決方案,包括套件管理器、VSCode 外掛程式、測試基礎架構和區塊資源管理器。由於FuelVM 使用新的程式語言,這對開發者來說是一個全新的開發環境,可能會影響其早期的採納率。因此,Fuel 專案團隊需要建立一個強大且活躍的開發者社區,以支援和推動技術的普及。

此外,FuelVM 與EVM 不相容,這意味著現有的EVM 應用不能直接遷移到FuelVM 上。這可能會限制初期使用者和開發者採用FuelVM 的積極性。為了克服這一障礙,Fuel 專案需要提供遷移工具和資源,幫助開發者將現有應用程式遷移到FuelVM 平台上。這些工具和資源可以包括程式碼轉換工具、相容性層以及詳細的遷移指南,幫助開發者平滑過渡到新平台。

FuelVM 還需要在已經相對成熟的Rollups 解決方案中競爭,證明其獨特的技術優勢和市場價值。例如更低的狀態膨脹和智慧合約攻擊風險,但這種新的虛擬機器架構和程式語言也需要時間來驗證其效能和穩定性。

未來展望:並行執行已成必然趨勢

隨著越來越多的DApps 湧現,傳統的單執行緒執行模式已經無法滿足大規模應用的需求。因此,探索並行執行成為科技發展的必然趨勢。今年上半年,並行執行成為熱門討論話題,並已然成為區塊鏈技術發展的重要方向,越來越多的專案注意到其潛力並積極投入其中。透過更好地利用多核心CPU 的運算能力,並行執行可以在不犧牲安全性和一致性的前提下,大幅提升交易處理速度和系統效能。 FuelVM 作為平行執行的創新實踐,透過結合UTXO 模型來實現並行執行能力,從而提高整體網路的吞吐量和效能。這項特性特別適合需要高頻交易和低延遲的應用,例如衍生性商品交易所、全鏈遊戲等。同時透過減少狀態膨脹和提高資源利用效率,FuelVM 為去中心化應用提供了一個更具可擴展性和高效的執行環境。

Total
0
Shares
Related Posts