
作者:Stanford Blockchain Club 來源: W-SOURCE 翻譯:善歐巴,比特鏈視界
引言
自其誕生以來,區塊鏈和加密貨幣一直致力於通過提供更廣泛的訪問權限和去除中介來改變金融格局。隨著時間的推移,web3的發展擴大了其應用場景,強調了區塊鏈技術在創建一個創作者繁榮、用戶掌控數據的網際網路中的潛力。
在確保去中心化的同時,賦能終端用戶的基礎設施的關鍵部分是確保數據存儲在一個有韌性、抗審查的資料庫中。儘管集中式資料庫方便且熟悉,但它們未能提供必要的安全保障,並且需要資料庫所有者的許可,限制了全球範圍的應用。
分布式數據存儲系統通過構建一個存儲、管理和共享數據的節點網絡來滿足對容錯性和高韌性存儲的需求。 去除中央權威的需要,並以P2P的方式分發數據,增強了安全性和透明度。分布式存儲系統通常基於區塊鏈或類似技術,傾向於通過冗餘和可用性來複製數據。
儘管分布式存儲系統依靠未使用的存儲容量,提供了安全性、數據韌性以及潛在的成本效益,但它們在法規和互操作性方面面臨挑戰。
對於真正開放和可訪問的網絡,分布式存儲是必不可少的。任何存儲系統的一個關鍵方面是如何證明數據被存儲和維護的方式。對用戶來說,更重要的問題是, 數據如何被證明是存儲和維護的? 這是通過數據證明來解決的。
總體而言,我們區分了兩種類型的證明:
-
確定性證明 :允許數據持有者為特定數據創建證明,以證明其創建並匹配數據的哈希值。這種類型的證明僅公開使用數據作為輸入生成的哈希。
-
概率證明 :依賴概率來展示基礎數據高度可能可用。這是一種理性地展示某一特定假設的確定性程度的證明,適用於已發布並在必要時可檢索的數據。
本文其餘部分將討論三種不同系統中證明數據存儲和完整性的設計選擇。首先是專注於高容量和可擴展數據的Tagion,然後討論去中心化存儲網絡Filecoin如何確保數據的規模化存儲。最後,本文將探討專注於存儲和提供區塊鏈數據的Celestia。
Tagion
架構
Tagion是一個去中心化網絡,致力於高容量交易,目標是建立一個基於技術和民主治理的獨特貨幣系統。該項目依賴於創新的資料庫架構和加密技術,以實現大規模。它不是區塊鏈,而是一個使用DART資料庫優化存儲的分布式帳本。Tagion的證明機制是確定性證明的一個例子。
DART資料庫的核心功能是作為一個分布式哈希表,根據哈希鍵對數據進行存儲。隨著信息存儲的增加,該結構自然會生成更多分支,每個分支支持多達256個組合檔案和子分支。
除了類似於分布式哈希表,Tagion的基礎設施也可以理解為稀疏默克爾樹(SMT)。SMT是基於鍵值對的認證數據結構,支持標準資料庫操作,如查找、插入、更新和刪除。每個鍵值對代表一個葉子,通過遞歸地哈希子節點到默克爾根來派生父分支的哈希。
SMT通過使證明者能夠在無需訪問不相關數據元素或下載特定數據片段的情況下驗證元素的存在,顯著提高了效率。此外,樹中值的獨立性允許按任意順序更新,而不改變樹的最終結構。
Tagion的系統利用包含所有子分支哈希的根哈希,以最小的計算快速驗證數據狀態。為進一步增強處理能力,系統可以為特定生態系統創建子DART,類似於分片區塊鏈。這些指定節點管理數據子集,增加吞吐量,並使網絡能夠根據不同應用定製,類似於應用鏈。
使用DART創建一個無狀態系統,無需維護系統轉換的完整歷史記錄。這意味著可以刪除數據,總體上降低存儲需求,並通過輕量化潛在地增加系統的去中心化。
Tagion採用HiBON(哈希不變二進位表示對象)進一步促進存儲過程,確保數據在進入時保持哈希不變,簡化了基於關聯哈希的數據檢索。哈希不變性指的是數據在處理順序不同的情況下總是會生成相同的哈希。這是一種被驗證的技術,用於加速資料庫中的數據檢索和寫入。
通過這些機制,Tagion不僅安全地存儲數據,還高效地驗證其在網絡中的包含和完整性。
數據完整性
Tagion的所有子系統都會進行所謂的隨機遊走,檢查數據是否按需存儲和提供。未通過保留驗證挑戰的節點將被排除在網絡之外。
所有檔案都包含時間戳,需要支付費用以延長存儲時間。在遊走過程中,系統會檢查是否收到付款,如果沒有,則刪除數據,釋放空間。
Filecoin
Filecoin是一個去中心化存儲網絡,通過其原生代幣Filecoin激勵礦工提供存儲容量。為了賺取這些獎勵,礦工必須生成證明,以驗證他們的存儲能力。
Filecoin的基本存儲單位稱為扇區,具有標準大小和提供者可延長的生命周期。該設計在安全性和可用性之間進行了精心平衡。Filecoin上存儲的所有用戶數據都是加密的,多個副本分布在網絡上,確保礦工無法訪問文件內容。
礦工在Filecoin網絡中的影響力與其提供的存儲量成正比,這也使他們可以參與網絡的共識機制。Filecoin虛擬機負責執行智能合約,並促進市場操作,如將存儲提供者與用戶配對。
Filecoin的架構是模塊化的,允許節點根據需要作業系統的特定部分。例如,一個節點可以只作為存儲節點,而不參與市場操作。
為了確保數據完整性和可用性,Filecoin依賴於兩種算法:存儲證明和複製證明。
存儲證明
Filecoin中的礦工生成證明,以驗證他們在任何給定時間持有數據副本。通過挑戰來實現這一證明:系統向礦工提出問題,只有在擁有數據的情況下才能正確回答。
為了確保礦工不會只在提出挑戰時複製數據,挑戰設計為在不可預測的時間間隔內隨機針對數據的不同部分。隨機性和時間間隔的不確定性相結合,使得礦工在提出挑戰時才獲取數據變得不可能、不經濟且不理性。
時空證明(PoSt)
Filecoin引入了時空證明(PoSt),以確保持續的存儲和數據可用性。時空證明通過向礦工提出加密挑戰,驗證在時間間隔內的存儲。只有在文件存儲在指定時間框架內時,礦工才能通過挑戰。
PoSt包括兩種類型的挑戰:
-
贏得時空證明(Winning PoSt) :礦工驗證他們在特定時間存儲了數據副本,通常是在算法選擇礦工挖掘下一個區塊時。短期截止時間確保他們擁有數據。
-
窗口時空證明(WindowPoSt) :一種重複性挑戰,礦工提交證明,表明他們按要求維護了數據。只在提交數據時封存數據對礦工來說會更昂貴。
封存是複製證明算法的一部分,計算密集型,使理性礦工希望儘可能減少封存需求。
複製證明
封存是複製證明算法的一部分,計算密集型,鼓勵礦工減少封存頻率。複製證明確保用戶,礦工在其物理硬體上創建並存儲了唯一的副本。此證明包括:
-
數據本身
-
封存數據的礦工
-
封存的時間和日期
-
數據封存時的區塊高度
要求礦工生成兩種證明為用戶提供了文件安全存儲的保障,且只有提供實際存儲的礦工才能獲得獎勵。由於證明過大無法上鏈,礦工生成零知識簡潔非交互性知識論證(zkSNARK),然後提交到鏈上,使Filecoin成為最大的zkSNARK用戶,每天生成600萬到700萬個證明。
總體而言, Filecoin結合了確定性證明(PoRep)和概率證明(PoSt)的方法,採用混合方法。
Celestia
本文的第三個例子是Celestia,一個所謂的數據可用性區塊鏈,為模塊化區塊鏈提供執行和數據存儲,允許它們將核心功能外包出去。
隨著以太坊Rollup的興起,像Celestia這樣的數據可用性解決方案因其提供比以太坊歸檔節點更便宜的Rollup交易數據存儲替代方案而受歡迎。
證明數據可用性
與Filecoin不同,Celestia不為終端用戶提供存儲解決方案,而是專注於解決數據可用性問題。數據可用性確保區塊鏈數據已正確發布。通常,區塊鏈節點必須下載整個區塊以驗證可用性,這是一個資源密集型過程,可能會妨礙驗證。
為了簡化這一過程,Celestia採用數據可用性抽樣(DAS)。此方法涉及輕節點僅下載一小部分數據,直到達到預定的置信水平。如果樣本中的數據都可用,則認為數據已發布,作為數據可用性的概率證明。
其工作原理如下:
-
提案者創建一個數據區塊。
-
將區塊數據拆分為k×k的塊,形成一個矩陣。
-
通過添加奇偶校驗數據擴展該矩陣,使用Reed-Solomon編碼創建一個2k×2k的矩陣。此類編碼允許從數據的子集恢復整個數據集。
-
計算並組合擴展矩陣的每行和每列的獨立默克爾根。
-
最後,將所有這些組合根的默克爾根添加到區塊頭中的區塊數據承諾中,確認數據的可用性。
為了驗證可用性,輕節點隨機抽取擴展矩陣中的唯一坐標,然後向完整節點查詢對應於這些坐標的默克爾證明的數據塊。如果響應正確,則表示整個區塊的數據有很高的概率是可用的。
節點隨後將接收到的帶有正確默克爾證明的數據塊廣播到網絡的其餘部分。只要抽樣足夠,節點可以重建整個區塊,使Celestia可以更多地依賴資源有限的節點進行驗證,從而有助於去中心化。
在撰寫本文時,Celestia仍然很新。然而, 數據可用性抽樣是一項可能在Celestia之外被採用的技術,以太坊核心開發者正在討論將其添加到協議中以幫助擴展。
結論
總之,分布式網絡中用於存儲和驗證數據可用性的各種方法正在運作並被積極使用。
Tagion使用DART資料庫,通過分片來提高吞吐量並支持由稀疏默克爾樹保護的專門子生態系統的發展。
Filecoin的架構利用兩種不同的算法,時空證明和複製證明,使礦工能夠驗證並證明他們可靠地存儲了數據。這些證明隨後以零知識證明的形式記錄在鏈上。
Celestia作為數據可用性層,利用Reed-Solomon編碼將數據塊擴展為矩陣。這種結構允許輕客戶端進行隨機抽樣以確認數據可用性,繞過下載整個數據集的需要。
隨著分布式存儲系統格局的不斷演變,Tagion、Filecoin和Celestia各自提出了確保數據完整性、可用性和可訪問性的獨特策略。這些平臺共同為構建支持去中心化網絡的韌性數據發布和存儲系統做出了重要貢獻。