1. 引言

以比特幣和以太坊為代表的無許可區塊鏈,雖然革新了去中心化系統,但面臨著重大的可擴展性挑戰。儘管工作量證明共識機制的能源消耗已被廣泛討論,但全節點所需龐大且持續增長的儲存開銷,仍然是阻礙更廣泛參與和網路健康的一個關鍵但未被充分解決的障礙。本文首次提出全面的實證研究,分析全節點如何利用區塊鏈資料進行驗證,從而導出無需更改底層協議即可大幅降低本機儲存需求的實用策略。

2. 背景與問題陳述

區塊鏈的完整性依賴於完整、可驗證的交易歷史。對於比特幣而言,這本帳本超過 370 GB,對那些運行全節點以獨立驗證交易的參與者提出了巨大的資源要求。

2.1 無許可區塊鏈的儲存負擔

儲存需求與採用率和交易量成正比。儲存完整帳本對於安全性(防止雙重支付)至關重要,但卻創造了高進入門檻,導致中心化風險,因為能夠負擔運行全節點的用戶越來越少。

關鍵統計數據

比特幣全節點儲存: >370 GB(截至研究時間點)。這造成了顯著的硬體成本,並抑制了節點的廣泛運行。

2.2 現有解決方案及其限制

先前的方法包括:

  • 檢查點/快照: 需要修改協議或進行硬分叉,帶來協調挑戰。
  • 比特幣的修剪功能: 允許用戶設定任意的儲存閾值(GB 或區塊高度)。這並非最佳方案,因為它缺乏指導,可能刪除仍相關的資料或保留不必要的資料,迫使節點從網路重新獲取資料,從而增加延遲。

3. 方法論與實證分析

本工作的核心貢獻是對真實節點行為進行數據驅動的分析,以指導優化。

3.1 資料收集與節點行為剖析

作者對比特幣全節點進行了監測,記錄其在標準操作期間(特別是在驗證新交易和區塊時)從本機儲存進行的每一次資料存取(讀取)。這建立了一份剖析檔案,顯示區塊鏈的哪些部分對於持續驗證實際上是必要的。

3.2 資料存取模式分析

分析揭示了一個關鍵洞察:在經過一段時間後,歷史區塊鏈資料中有相當大一部分很少或從未被存取。驗證當前狀態(未花費交易輸出 - UTXO)和近期歷史所需的資料集,遠小於完整帳本。

核心洞察

全節點並不需要完整的數百 GB 歷史資料來即時驗證新區塊和交易。實際活躍所需的資料集規模要小好幾個數量級。

4. 提出的儲存降低策略

基於實證發現,本文提出了客戶端策略。

4.1 無需協議變更的本機儲存修剪

主要策略是一種智慧、資料感知的修剪演算法。節點可以安全地刪除那些剖析顯示對未來驗證不必要的區塊鏈資料(例如舊的已花費交易輸出),而不是根據簡單的年齡或大小進行修剪。這完全在客戶端實現。

4.2 客戶端優化技術

其他優化包括壓縮很少存取但必要的歷史資料,以及快取策略,優先將「工作集」(頻繁存取的 UTXO 和近期區塊)保留在更快的儲存中。

5. 結果與評估

5.1 可達成的儲存佔用空間降低

本研究最引人注目的結果:透過應用其智慧修剪策略,一個比特幣全節點可以將其本機儲存佔用空間減少到大約 15 GB,同時保持完整的驗證能力。這相對於完整的 370+ GB 帳本,減少了超過 95%。

圖表:儲存佔用空間比較

(想像中的圖表描述) 一個長條圖比較「完整帳本 (370 GB)」和「修剪後工作集 (15 GB)」。修剪後的集合僅是原始資料的一小部分,視覺上強調了所實現的巨大減少量。

5.2 效能與開銷的權衡

據報告,剖析和智慧修剪的計算開銷可以忽略不計。其權衡在於,如果一個節點需要驗證一筆引用非常古老、已被修剪資料的交易,它必須從網路獲取一個密碼學證明(例如梅克爾證明),從而產生少量的通訊延遲。然而,分析顯示這種情況很少發生。

6. 技術細節與數學框架

修剪邏輯依賴於對交易生命週期的理解。一個已被花費的交易輸出(UTXO)不再需要用於驗證未來的花費。核心邏輯可以建模。令 $L$ 為完整帳本。令 $A(t)$ 為節點在截至時間 $t$ 的時間窗口內從 $L$ 進行的所有資料存取(讀取)的集合。必要工作集 $W$ 定義為:

$W = \{ d \in L \mid P(\text{在未來驗證中存取 } d ) > \tau \}$

其中 $\tau$ 是根據實證得出的小概率閾值。不在 $W$ 中的資料可以被修剪。安全性依賴於能夠為已修剪資料獲取梅克爾證明,其中證明大小與區塊鏈大小呈對數關係:$O(\log n)$。

7. 分析框架:個案研究

情境: 一家新企業希望運行一個比特幣全節點以進行可靠、獨立的交易驗證,但其儲存基礎設施預算有限。

框架應用:

  1. 剖析: 部署一個啟用剖析功能的標準全節點,運行 2 週以了解其特定的存取模式。
  2. 計算: 根據剖析結果,透過演算法確定最佳資料集 $W$。研究建議對於比特幣,這將穩定在 15 GB 左右。
  3. 修剪: 刪除所有不在 $W$ 中的區塊鏈資料。
  4. 運行: 運行修剪後的節點。在極少數需要已修剪資料的情況下,向點對點網路請求梅克爾證明。

成果: 該企業以約 15 GB 的儲存空間(而非 370+ GB)實現了完整的驗證安全性,大幅降低了成本和複雜性。

8. 未來應用與研究方向

  • 適應其他區塊鏈: 將此實證方法應用於以太坊(特別是合併後)以及其他 PoW/PoS 鏈,以推導出特定於鏈的修剪參數。
  • 標準化: 提出 BIP(比特幣改進提案)以標準化剖析資料格式和證明請求,使修剪節點更有效率。
  • 輕客戶端增強: 縮小全節點與 SPV(簡化支付驗證)客戶端之間的差距。擁有 15 GB 儲存的「近乎全」節點,比 SPV 客戶端提供更強的安全性,同時比傳統全節點更容易部署。
  • 去中心化推動: 此技術可以成為全球範圍內增加全節點數量運動的關鍵推動力,從而提高網路的韌性和抗審查能力。

9. 參考文獻

  1. Sforzin, A., Maso, M., Soriente, C., & Karame, G. (年份). On the Storage Overhead of Proof-of-Work Blockchains. 會議/期刊名稱.
  2. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
  3. Bitcoin Core Documentation. (n.d.). Blockchain Pruning. Retrieved from https://bitcoincore.org/en/doc/
  4. Buterin, V. (2014). Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform.
  5. Bonneau, J., et al. (2015). SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies. IEEE S&P.
  6. Gervais, A., et al. (2016). On the Security and Performance of Proof of Work Blockchains. ACM CCS.

分析師觀點:傳統鏈的可擴展性生命線

核心洞察: 本文對區塊鏈最隱蔽的可擴展性瓶頸——狀態膨脹——進行了一次精準打擊。當全世界都痴迷於 TPS(每秒交易數)和能源消耗時,Sforzin 等人正確地指出,永無止境、無限制的儲存增長是去中心化的沉默殺手。他們的工作證明,要求全節點儲存完整歷史的教條是一種自我施加的限制,而非密碼學上的必然要求。真正的需求是儲存當前驗證所需的攜帶證明的資料子集——這是一個具有重大實際意義的區別。

邏輯流程: 論證過程優雅且實證。他們沒有提出自上而下的協議大修,而是首先監測節點以觀察實際使用了哪些資料。這種以資料為中心的方法反映了系統效能優化的最佳實踐,類似於在優化前對應用程式進行剖析。發現「工作集」約為 15 GB 是關鍵。它將問題從「我們如何改變比特幣?」轉變為「我們如何安全地丟棄未使用的 95%?」。解決方案——智慧修剪 + 回退到從網路獲取的梅克爾證明——是務實工程學的典範,讓人聯想到計算機體系結構中快取替換策略的原理或現代作業系統管理記憶體分頁的方式。

優勢與缺陷: 其優勢在於可部署性。作為客戶端變更,它不需要有爭議的硬分叉,使得近期內採用成為可能。它直接降低了運行全節點的門檻,可能逆轉節點中心化的趨勢。然而,分析存在缺陷。首先,它引入了一種新的、微妙的依賴性:修剪節點必須依賴網路(特別是未修剪的「歸檔」節點)來提供舊資料的證明。這創造了一個兩層節點系統,如果歸檔節點變得稀缺或惡意,理論上可能被利用。其次,正如 Bonneau 等研究人員在其關於比特幣安全的「SoK」中所指出的,輕客戶端(此方法類似於此)的安全模型嚴格弱於完整歸檔節點,因為它引入了關於資料可用性的信任假設。本文在一定程度上忽略了這種轉變帶來的長尾安全影響。

可行洞察: 對於區塊鏈專案,特別是已建立的 PoW 鏈,這項研究是「傳統鏈可擴展性」套件的藍圖。立即行動是將此剖析和智慧修剪功能整合到主流客戶端(如 Bitcoin Core)中,作為預設的優化選項。對於監管機構和企業而言,這項技術使運行合規、自我驗證的節點變得更加可行,減少了對第三方 API 提供者的依賴。展望未來,應將此方法應用於以太坊的狀態樹,這帶來了一個不同但同樣關鍵的儲存挑戰。最終的洞察是,區塊鏈可擴展性不僅僅是更快地處理更多交易;而是更聰明地利用我們已有的資源。這項工作是朝著這個方向邁出的關鍵一步,提供了一條在不犧牲區塊鏈價值所在的安全保證的前提下,維持去中心化的道路。