為什麼說狀態膨脹是區塊鏈擴容技術發展瓶頸的最終 Boss?
Fuel 創辦人 Nick Didson 指出區塊鏈擴容的技術大部分已經找到解決方案,不過並沒有一個適當的方式
這篇文章 為什麼說狀態膨脹是區塊鏈擴容技術發展瓶頸的最終 Boss? 最早出現於 鏈新聞 ABMedia。
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 所提出的創新解決方案,筆者將另撰文說明。
這篇文章 為什麼說狀態膨脹是區塊鏈擴容技術發展瓶頸的最終 Boss? 最早出現於 鏈新聞 ABMedia。