以太坊的儲存需求不斷增長,這給我們帶來了巨大的挑戰。本文將爬梳這個問題背後的原因,並提出解決方案和未來展望。
背景
儲存的挑戰
以太坊儲存路線圖及其後果
解決方案 1:以太坊 Portal 網路
解決方案 2:EthStorage 網路
展望未來
2023年10月22日,Go-Ethereum(Geth)開發負責人Péter Szilágyi在Twitter上表達了他對儲存問題的深切擔憂。他指出,雖然Geth客戶端保留了所有歷史資料,但其他以太坊客戶端如Nethermind和Besu可以配置刪除某些歷史以太坊資料。這導致所有客戶端的行為不一致,對Geth不公平。這引發了關於以太坊儲存問題的激烈討論和辯論。
為什麼Nethermind和Besu選擇停止儲存歷史資料?這一決定背後的問題是什麼?從我們的角度來看,有兩個主要原因:
1. 以太坊客戶端的儲存要求變得越來越高。
2. 儲存以太坊歷史資料沒有任何內部激勵或懲罰。
第一個原因源於執行以太坊客戶端不斷上升的儲存需求。一個新的Geth節點在2023年12月13日的第18,779,761個區塊時的儲存分佈情況顯示,總儲存大小為925.39 GB,歷史資料(區塊/交易收據)約為628.69 GB,Merkle Patricia Trie (MPT) 中的狀態資料約為269.74 GB。
第二個原因是缺乏儲存歷史區塊的內部激勵或懲罰。雖然協議要求節點儲存所有歷史資料,卻未能提供任何機制來鼓勵儲存或懲罰違規的行為。節點儲存和共享歷史資料變得純粹出於利他主義,客戶端執行者可以自由地刪除或修改所有歷史資料,而不會受到任何懲罰。相比之下,Validator 節點必須在本地維護並更新完整的狀態,以防止因提議/投票支援無效區塊而導致的Slash。
因此,當儲存成本成為節點的重大負擔時,一些節點運營商選擇刪除歷史資料就不足為奇。在沒有歷史資料的情況下,節點客戶端可以顯著降低儲存成本,將其從大約1TB減少到300GB左右。
隨著即將到來的以太坊資料可用性(DA)升級,儲存挑戰將會加劇。
解決方案 1:以太坊 Portal 網路是一個輕量級、去中心化的訪問網路,用於連線到以太坊協議。它提供以太坊JSON-RPC介面,將JSON-RPC請求轉換為對分散式hash表(DHT)的P2P請求,類似於IPFS網路。與IPFS不同,Portal P2P網路專門託管以太坊資料,如歷史區塊頭和區塊交易資料。這是通過Portal網路內建的輕客戶端驗證技術來實現的。
解決方案 2:EthStorage 網路是一個去中心化的激勵儲存網路,專門用於儲存EIP-4844 BLOB,並獲得ESP專案的資助。它依賴於以太坊的共識和無需許可的EthStorage儲存節點的1/m信任模型。儲存BLOB的過程是使用者簽署一個攜帶BLOB的交易,呼叫儲存合約的put(key, blob_idx)方法,然後儲存合約將記錄BLOB的hash在鏈上。之後儲存提供商將直接從以太坊DA網路下載並儲存BLOB,從而繞過資料橋問題。
展望未來,我們需要關注去中心化低延遲訪問的以太坊狀態資料網路、Portal網路與EthStorage網路的整合、瀏覽器的去中心化訪問以及動態大小資料的高階儲存證明等方向的發展。這些努力將為未來以太坊生態系統的去中心化儲存解決方案奠定基礎。