為什麼說狀態膨脹是區塊鏈擴容技術發展瓶頸的最終 Boss?

Kyle
分享
為什麼說狀態膨脹是區塊鏈擴容技術發展瓶頸的最終 Boss?

Fuel 創辦人 Nick Didson 指出區塊鏈擴容的技術大部分已經找到解決方案,不過並沒有一個適當的方式處理狀態 (state) 膨脹問題,什麼是狀態膨脹?目前又該如何減少此問題?將是每個去中心化網路遲早都需要思考清楚的問題。

本文為鏈新聞編譯整理,如有疑義,請參考原文。

狀態膨脹是擴容最終 Boss

Web3 產業在效率上已經努力多年,似乎也逐漸看到終點,但是區塊鏈擴容之路上的最終 Boss — 狀態膨脹,目前似乎還沒有解決方案。或許此問題將會變成擴容最後也是最大的瓶頸。

廣告 - 內文未完請往下捲動

區塊鏈擴容關鍵技術

狀態增長目前沒有解決方案

區塊鏈擴容的議題上,主要有三個技術問題需要解決,分別是執行效率、資料可用性 (DA) 與狀態大小控制,至今前兩者已經有明確的解決方案:

  • 執行:確保去中心化網路中交易的正確同步、驗證和區塊建立。目前此瓶頸已獲得解決,例如市場上已經出現更有效率的虛擬機器 (FuelVM、Stylus、SVM、MoveVM),或是並行交易執行方式,以及更好的預編譯。
  • 資料可用性與儲存:確保狀態轉換時與區塊鏈網路同步,並支援 Rollups 的詐欺證明或有效性證明的驗證。同樣,此問題已經有許多解決方案,例如坎昆升級 EIP-4844 的引入、分片設計以及外部資料可用性層包含 Celestia、EigenDA 和 Avail 所提供的服務。
  • 狀態:狀態是指「去中心化網路的最新帳本資訊」,包含網路中所有的帳戶資料與代幣分布。為了讓節點可快速存取,狀態資料通常需要在磁碟上進行大量存取,是交易中除簽名和雜湊之外最慢的處理過程。而隨著網路的使用年限增加,狀態大小持續膨脹。

其中,狀態是隨著時間的推移而增長的東西,經常被視為「未來的問題」而被忽視。狀態增長問題目前各界幾乎沒有好的解決方案,而若無法減緩此問題,會讓區塊鏈交易時間變慢和儲存成本升高,會逐漸讓節點運行承受巨大負擔,最終將阻礙區塊鏈技術受到更廣泛的採用。

Rollups 並不能解決狀態增長問題

Rollups 現有的解決方案僅有解決執行層問題,而一些模組化解決方案例如 Celestia,更進一步解決資料可用性問題。但如果這些新解決方案不能解決狀態膨脹的核心問題,那麼區塊鏈產業就會回到零和遊戲。

若狀態增長無法受到解決,至今為止的擴容技術迭代都將是一場空。不論什麼網路最終都會受到狀態膨脹的限制,無論其執行或數據環境如何設計。

Nick 認為解決狀態成長問題將成為 Rollup 生態的下一個催化劑,這與過往 Rollup 針對執行層面技術的革命同樣重要。

效率越高,狀態越大

狀態的大小增長通常會跟執行的速度成正相關,當區塊鏈的效能愈高,所產生的狀態大小通常也會愈大,導致包含 BNB Chain、Sei 到 Base 等各種宣稱擁有高執行效能的去中心化網路,都面臨狀態大小快速膨脹的問題。

(Layer1 科普介紹|用白話文快速搞懂 Sei Network v2 有什麼亮點)

各區塊鏈狀態大小變化

為什麼比特幣的狀態增長較慢?除了網路效率較低之外,因為其使用 UTXO 帳本模型,沒有餘額的帳戶就不需要紀錄在狀態中,藉此最小化狀態增長問題,這使得 UTXO 模型相對更易於管理,但代價是犧牲了可編程性。

相對來說,以太坊的狀態模型是一個由帳戶餘額、智能合約代碼和無數合約狀態組成的豐富生態系統,因為網路帳戶、代幣、合約數量上的增長,藉此衍生的帳戶各代幣的餘額、批准紀錄等等,其網路的狀態相較於比特幣持續快速增加。

以帳本模型為基礎的區塊鏈,隨著每一次智能合約的執行和交易,狀態都會膨脹,這會導致網路臃腫,儲存需求增加,處理時間變慢,進而抑制創新和用戶採用。

因此目前大多數的區塊鏈,都將面臨著狀態增長的問題。

狀態膨脹可能的解決方案

雖然上述表示沒有明確的解法,但開發者們也已經對此討論,提出了幾種未來可能管理狀態膨脹的策略,不過目前許多技術仍在理論或是討論階段,或是有其他面向的缺點:

放任狀態發展

一派人認為可以接受狀態成長,以換取更大的頻寬使用。但 Nick 認為這不是一個好的選擇,因為這樣會提高全節點的硬體需求,進而降低網路的去中心化

狀態空間費用

像網路用戶收取儲存狀態資料的費用,權衡舊資料儲存與大量空間濫用的問題。但是此手段需要思考如何去除舊資料而不影響到其他資料的儲存,因為狀態是使用資料樹紀錄的,中間資料遺失會破壞一些分支路徑。

無狀態設計

思考一種全節點不需要儲存狀態的設計,而是依賴交易和區塊中包含的狀態證明。本質上是將狀態從 Layer1 轉移到 Rollups。雖然這是以太坊的發展方向 (verkle tree),但關於其效率和可維護性還有很多未解決的問題。

推薦閱讀:不是只有區塊鏈!無狀態基礎設施如何帶來高效率的去中心化網路
推薦原因:在狀態增長無法解決的情況下,不追求共識的「無狀態基礎設施」反而可能有機會變成取代區塊鏈的去中心化網路,也是部分開發者現在正在討論的議題。

Un-Merkalizing the state

一種以不同方式管理狀態資料的技術。將使用完整節點來驗證所有內容或使用輕客戶端對交易進行採樣,並完全丟棄狀態樹。

應用層級的狀態壓縮

使用呼叫資料技術來壓縮狀態資料,可以說是用頻寬換取狀態大小,例如 Solana 上的壓縮 NFT (cNFT),就是將 NFT 的所有權證明儲存在 Merkle Tree 之中,若需要讀取則需要依賴節點頻寬向外調用資料。

壓縮 NFT 將所有權證明儲存在 Merkle Tree 之中 (資料來源)

不過更高的頻寬需求會導致網路受限,可能會影響基礎設施的穩健性和效率。

狀態膨脹不再是未來的問題

目前以太坊的狀態大小約為 267 GB,並且每個月以 2GB 左右的速度在成長,若未來網路用戶數與合約增加,此增長速度將會更快,狀態的成長對於需要追求共識的區塊鏈網路節點來說,會逐漸變成一項負擔。

目前現有的解決方案,大多仍在理論階段或是缺陷明顯,市場上個專案仍未有明確的共識,不過可以確定的是,狀膨脹的問題越來越受到重視,可以預期未來將出現更近一步的解決方案。該文下半部分也介紹了 Fuel Network 所提出的創新解決方案,筆者將另撰文說明。

推薦閱讀:執行層網路 Fuel Network 介紹,將如何藉由平行運算、縮小狀態以提供高效運算環境?
推薦原因:下半部分在此,該文章講述 Fuel Network 的產品設計理念與架構,說明如何解決狀態膨脹的問題,非常精采。