Filecoin、Arweave、Storj、Crust Network、Sia 和 Swarm,誰是最佳的去中心化存儲方案?
原文:Decentralized Storage: A Pillar of Web3
作者: 0xPhillan、Fundamental labs
翻譯: Tia
封面: Photo by Volodymyr Hryshchenko on Unsplash
如果我們想在去中心化互聯網更進一步,最終將需要這三大支柱:共識、存儲以及計算。如果人類成功將這三個領域去中心化,我們將踏向互聯網的下一階段征程: Web3。
存儲,作為第二大支柱,正迅速成熟,各種存儲解決方案已經應用到使用場景中。本文,將進一步探討去中心化存儲這一支柱。
此篇文章是完整篇幅的一個總結,完整篇幅可從去中心化存儲 Arweave 和 Crust Network 下載。
去中心化存儲的需求
區塊鏈的視角
從區塊鏈的視角來看,我們需要去中心化存儲是因為區塊鏈本身並不是被設計用來存儲大體量數據的。獲得區塊共識的機制依賴小數量的數據(交易),這些數據被放置於在區塊中(收集交易),並迅速分享至網絡供節點驗證。
首先,在區塊中存儲數據非常昂貴。在撰文時,在 layer1 上存儲一個完整的 BAYC #3368 需要花費超過 18000 美元。
其次,如果我們想要在這些區塊中存儲大量套利數據,網絡擁堵將會變得嚴重,這會在使用網絡時引起 gas 戰從而導致價格上漲。這就是區塊的隱含時間價值的後果,如果用戶需要在某一特定時間向網絡提交交易,他們會需要付額外的 gas 費來使得他們的交易被優先處理。
因此,建議將 NFT 的元數據以及圖像數據、dApp 的前端進行鏈下存儲。
中心化網絡的視角
如果鏈上存儲數據如此昂貴,為什麼不直接在中心化網絡鏈下存儲數據呢?
中心化網絡容易受到審查並且具有可變性。這要求用戶信任數據提供方能維護數據的安全。誰都不能確保中心化網絡的運營方真的不會辜負用戶對他們的信任:數據可能會因為有意或出於意外被抹除。例如可能會因為數據提供商改變政策、硬件故障或被第三方攻擊。
NFT
隨著 NFT 藏品的地板價超過 10 萬美元,一些 NFT 每 kb 圖像數據價值高達 7 萬,僅僅通過承諾不足以確保數據每時每刻的可獲得性。需要更強的保證來確保底層 NFT 數據的不變性和持久性。
NFT 並不真正包含任何圖像數據,相反,它們只有指向存儲在鏈下的元數據和圖像數據的指針。但需要保護的正是這些元數據和圖像數據,如果這些數據消失,NFT 將只是一個空蕩蕩的容器。
可以說,NFT 的價值並不主要由它們所指的元數據和圖像數據驅動,而是由圍繞藏品而推動的運動和生態系統的社區所驅動。雖然這可能是正確的,但如果沒有基礎數據,NFT 將無意義,無意義的社區根本無法形成。
除了個人資料圖片和藝術收藏品,NFT 還可以代表現實世界資產的所有權,例如房地產或金融工具。此類數據具有外在的現實世界價值外,由於是通過 NFT 代表其價值,因此保存 NFT 每一個字節數據的價值不會低於鏈上 NFT 的價值。
dApp
如果 NFT 是存在於區塊鏈上的商品,那麼 dApp 可以被認為是存在於區塊鏈上並促進與區塊鏈交互的服務。dApp 是存在於鏈下的前端用戶界面和存在於網絡上並與區塊鏈交互的智能合約的組合。有時它們還有一個簡單的後端,可以將某些計算轉移到鏈下以減少所需的 gas,從而減少最終用戶對某些交易產生的成本。
儘管 dApp 的價值應當根據 dApp 的背景來考慮(如,DeFi,GameFi,社交,元宇宙,名稱服務等),dApps 帶來的價值是驚人的。在撰文時的過去 30 天內,DappRadar 上排名前 10 位的 dApp 共同促成了超過 1500 億美元的轉賬。
儘管 dApp 的核心機制由智能合約執行,終端用戶可通過前端確保用戶可訪問性。因此,在某種意義上,確保 dApp 前端的可訪問性在於確保底層服務的可用性。
去中心化存儲減少了服務器故障、DNS 黑客、以及中心化實體刪除對 dApp 前端的訪問。即使停止 dApp 的開發,也可以通過前端繼續訪問智能合約。
去中心化存儲圖景
如比特幣以太坊這樣的區塊鏈的存在主要是為了促進價值轉移。當涉及到去中心化存儲網絡時,一些網絡也採用了這種方法:它們使用原生區塊鏈來記錄和跟踪存儲訂單,這代表了價值轉移以換取存儲服務。然而,這只是眾多潛在方法中的一種—— 存儲領域廣闊,多年來出現了具有不同權衡和用例的不同解決方案。
儘管存在許多差異,但上述所有項目都有一個共同點:這些網絡都沒有在所有節點上複製所有數據,比特幣和以太坊區塊鏈就是這種情況。在去中心化存儲網絡中,存儲數據的不變性和可用性不是藉由大多數網絡存儲並驗證相繼鏈接的數據實現的,比特幣和以太坊就是這種情況。儘管如前所述,許多網絡選擇使用區塊鏈來跟踪存儲訂單。
去中心化存儲網絡上的所有節點都存儲所有數據是不可持續的,因為運行網絡的間接成本會使用戶的存儲成本迅速提高,並最終推動網絡的中心化,轉向少數能夠負擔得起硬件費用的節點運營商。
因此,去中心化存儲網絡需要克服非同尋常的挑戰。
去中心化存儲的挑戰
回顧前面提到的關於鏈上數據存儲的限制,很明顯去中心化存儲網絡必須以不影響網絡價值轉移機制的方式存儲數據,同時確保數據保持持久性、不可變性和可訪問性。從本質上講,去中心化存儲網絡必須能夠存儲數據、檢索數據和維護數據,同時確保網絡中的所有參與者都受到他們所做的存儲和檢索工作的激勵,同時還要維護去中心化系統的去信任性。
這些挑戰可被總結為如下問題:
- 數據存儲格式:存儲完整文件還是文件碎片?
- 數據複製:跨多少個節點存儲數據(完整文件或片段)?
- 存儲跟踪:網絡如何知道從哪裡檢索文件?
- 存儲數據的證明:節點是否存儲了他們被要求存儲的數據?
- 隨時間推移的數據可用性:數據是否仍隨時間推移而存儲?
- 存儲價格發現:存儲成本如何確定?
- 持久數據冗餘:如果節點離開網絡,網絡如何確保數據仍然可用?
- 數據傳輸:網絡帶寬是有代價的—— 如何確保節點在被詢問時檢索數據?
- 網絡代幣經濟學:除了確保數據在網絡上可用之外,網絡如何確保網絡長期存在?
作為本研究的一部分,已探索的各種網絡採用了廣泛的機制,並通過某些權衡來實現去中心化。
有關上述網絡對於每個挑戰的深入比較,以及每個網絡的詳細配置文件,可於 Arweave 或 Crust Network 閱讀完整研究文章。
數據存儲格式
在這些網絡中,有兩種主要的方法用於在網絡上進行存儲數據:存儲完整文件和使用糾刪碼:Arweave 和 Crust Network 存儲完整文件,而 Filecoin、Sia、Storj 和 Swarm 都使用糾刪碼。在擦除編碼中,數據被分解成固定大小的片段,每個片段都被擴展並用冗餘數據編碼。保存到每個片段中的冗餘數據使得只需要片段的一個子集來重建原始文件。
數據複製
在 Filecoin、Sia、Storj 和 Swarm 中,網絡確定擦除編碼片段的數量以及要存儲在每個片段中的冗餘數據的範圍。然而,Filecoin 還允許用戶確定複製因子,該因子決定了作為與單個存儲礦工的存儲交易的一部分,應該在多少個單獨的物理設備上複製擦除編碼片段。如果用戶想用不同的存儲礦工存儲文件,那麼用戶必須進行單獨的存儲交易。Crust 和 Arweave 讓網絡決定複製,而在 Crust 上手動設置複製因子是可能的。在 Arweave 上,存儲證明機制激勵節點存儲盡可能多的數據。因此,Arweave 的複制上限是網絡上存儲節點的總數。
用於存儲和復制數據的方法將影響網絡檢索數據的方式。
存儲跟踪
在數據以網絡存儲它的任何形式分佈在網絡中的節點之後,網絡需要能夠跟踪存儲的數據。Filecoin、Crust 和 Sia 都使用本地區塊鏈來跟踪存儲訂單,而存儲節點還維護本地網絡位置列表。Arweave 使用類似區塊鏈的結構。與比特幣和以太坊等區塊鏈不同,在 Arweave 上,節點可以自行決定是否存儲來自區塊的數據。因此,如果比較 Arweave 上多個節點的鏈,它們將不完全相同—— 相反,某些節點上的某些塊會丟失,而在其他節點上可以找到。
最後,Storj 和 Swarm 使用了兩種完全不同的方法。在 Storj 中,稱為衛星節點的第二種節點類型充當一組存儲節點的協調器,用於管理和跟踪數據的存儲位置。在 Swarm 中,數據的地址直接嵌入到數據塊中。檢索數據時,網絡根據數據本身知道在哪裡查找。
存儲數據證明
在證明數據的存儲方式時,每個網絡都採用自己獨特的方法。Filecoin 使用複制證明—— 一種專有的存儲證明機制,它首先將數據存儲在存儲節點上,然後將數據密封在一個扇區中。密封過程使得相同數據的兩個複製片段可以證明彼此是唯一的,從而確保正確數量的副本存儲在網絡上(所以為「複製證明」)。
Crust 將一段數據分解成許多小塊,這些小塊被散列到 Merkle 樹中。通過將存儲在物理存儲設備上的單個數據的散列結果與預期的 Merkle 樹散列值進行比較,Crust 可以驗證文件是否已正確存儲。這類似於 Sia 的方法,不同之處在於 Crust 將整個文件存儲在每個節點上,而 Sia 存儲擦除編碼的片段。Crust 可以將整個文件存儲在單個節點上,並且仍然可以通過使用節點可信執行環境 (TEE) 來實現隱私,這是一個即使硬件所有者也無法訪問的密封硬件組件。Crust 將這種存儲證明算法稱為「有意義的工作證明」,而有意義表示僅在對存儲的數據進行更改時才計算新的哈希值,從而減少了無意義的操作。Crust 和 Sia 都將 Merkle 樹根哈希存儲在區塊鏈上,作為驗證數據完整性的真實來源。
Storj 通過數據審計檢查數據是否已正確存儲。數據審計類似於 Crust 和 Sia 如何使用 Merkle 樹來驗證數據片段。在 Storj 上,一旦有足夠節點返回他們的審計結果,網絡就可以根據多數響應確定哪些節點有故障,而不是與區塊鏈的事實來源進行比較。Storj 中的這種機制很有意,因為開發人員認為,通過區塊鏈減少網絡範圍內的協調可以在速度(無需等待共識)和帶寬使用(無需整個網絡定期與區塊鏈)方面提升性能。
Arweave 使用加密工作證明難題來確定文件是否已存儲。在這種機制中,為了讓節點能夠挖掘下一個區塊,他們需要證明他們可以訪問前一個區塊和網絡區塊歷史中的另一個隨機區塊。因為在 Arweave 中上傳的數據直接存儲在塊中,通過證明對前一個塊的訪問證明存儲提供者確實正確保存了文件。
最後,在 Swarm 上也使用 Merkle 樹,不同之處在於 Merkle 樹不用於確定文件位置,而是將數據塊直接存儲在 Merkle 樹中。在 swarm 上存儲數據時,樹的根哈希(也是存儲數據的地址)證明文件已正確分塊和存儲。
隨時間推移的數據可用性
同樣,在確定數據存儲在特定時間段內時,每個網絡都有獨特的方法。在 Filecoin 中,為了減少網絡帶寬,存儲礦工需要在要存儲數據的時間段內連續運行複制證明算法。每個時間段的結果哈希證明在特定時間段內存儲空間已被正確的數據佔用,因此是「時空證明」。
Crust、Sia 和 Storj 定期對隨機數據片段進行驗證,並將結果報告給他們的協調機制——Crust 和 Sia 的區塊鏈,以及 Storj 的衛星節點。Arweave 通過其訪問證明機制確保數據的一致可用性,這要求礦工不僅要證明他們可以訪問最後一個塊,還要證明他們可以訪問一個隨機的歷史塊。存儲較舊和稀有的區塊是一種激勵措施,因為這增加了礦工贏得工作量證明難題的可能性,該難題是訪問特定區塊的先決條件。
另一方面,Swarm 定期運行抽獎活動,獎勵節點隨著時間的推移持有不那麼受歡迎的數據,同時還為節點承諾要在更長時間內存儲的數據運行所有權證明算法。
Filecoin、Sia 和 Crust 需要節點存入抵押品才能成為存儲節點,而 Swarm 只需要它用於長期存儲請求。Storj 不需要前期抵押品,但 Storj 將代扣礦工的部分存儲收入。最後,所有網絡在節點可證明存儲數據的時間段內定期向節點付款。
存儲價格發現
為了確定存儲價格,Filecoin 和 Sia 使用存儲市場,存儲供應商設置他們的要價,存儲用戶設置他們願意支付的價格,以及其他一些設置。然後,存儲市場將用戶與滿足其要求的存儲提供商聯繫起來。Storj 採用了類似的方法,主要區別在於沒有一個單一的網絡範圍的市場可以連接網絡上的所有節點。相反,每顆衛星都有自己的一組與之交互的存儲節點。
最後,Crust、Arweave 和 Swarm 都讓協議來決定存儲價格。Crust 和 Swarm 可以根據用戶的文件存儲要求進行某些設置,而 Arweave 上的文件則是永久存儲。
持久數據冗餘
隨著時間的推移,節點將離開這些開放的公共網絡,當節點消失時,它們存儲的數據也會消失。因此,網絡必須積極地在系統中保持一定程度的冗餘。Sia 和 Storj 通過收集片段子集、重建基礎數據然後重新編碼文件來重新創建丟失的片段,通過補充丟失的擦除編碼片段來實現冗餘。在 Sia 中,用戶必須定期登錄 Sia 客戶端才能補充碎片,因為只有客戶端才能區分哪些數據碎片屬於哪條數據和用戶。而在 Storj 上,Satellite 會始終在線並定期運行數據審計以補充數據片段。
Arweave 的訪問證明算法確保數據始終在整個網絡中定期復制,而在 Swarm 上,數據被複製到彼此靠近的節點。在 Filecoin 上,如果數據隨著時間的推移而消失並且剩餘的文件碎片低於某個閾值,則存儲訂單將被重新引入存儲市場,允許另一個存儲礦工接管該存儲訂單。Crust 的補貨機制(replenishment mechanism)目前正在開發中。
激勵數據傳輸
隨著時間的推移,數據被安全存儲後,用戶會想要檢索數據。由於帶寬是有代價的,因此必須在需要時提供數據對存儲節點進行激勵。Crust 和 Swarm 使用債務和信用機制,其中每個節點跟踪入站和出站流量與他們交互的節點是如何流動的。如果一個節點只接受入站流量,但不接受出站流量,則它會被取消優先級以供將來通信,這可能會影響其接受新存儲訂單的能力。Crust 使用 IFPS Bitswap 機制,而 Swarm 使用名為 SWAP 的專有協議。在 Swarm 的 SWAP 協議上,網絡允許節點用郵票來償還他們的債務(只接受沒有足夠出站流量的入站流量),這可以用來兌換他們的實用代幣。
這種對節點慷慨性的跟踪也是 Arweave 確保數據在請求時傳輸的方式。在 Arweave 中,這種機制稱為野火,節點將優先考慮排名更好的對等節點,並相應地合理化帶寬使用。最後,在 Filecoin、Storj 和 Sia 上,用戶最終會為帶寬付費,從而激勵節點在請求時交付數據。
代幣經濟
代幣經濟設計確保了網絡的穩定性,也確保了網絡將長期存在,因為最終數據只與網絡一樣永久。在下表中,我們可以找到代幣經濟學設計決策的簡要總結,以及嵌入在相應設計中的通貨膨脹和通貨緊縮機制。
哪一個是最佳網絡?
不能說一個網絡在客觀上比另一個網絡更好。在設計去中心化存儲網絡時,存在無數的權衡。雖然 Arweave 非常適合永久存儲數據,但 Arweave 不一定適合將 Web2.0 行業參與者遷移到 Web3.0 - 並非所有數據都需要永久保存。但是,一個強大的數據子領域的確需要永久性:NFT 和 dApp。
最終,設計決策會基於該網絡的目的。
以下是各種存儲網絡的總結概況,它們在下面定義的一組尺度上相互比較。使用的尺度反映了這些網絡的比較維度,但是應該注意的是,克服去中心化存儲挑戰的方法在許多情況下並沒有好壞之分,而只是反映了設計決策。
- 存儲參數靈活性:用戶控製文件存儲參數的程度
- 存儲持久性:文件存儲在多大程度上可以通過網絡實現理論上的持久性(即無需干預)
- 冗餘持久性:網絡通過補充或修復來保持數據冗餘的能力
- 數據傳輸激勵:網絡確保節點慷慨傳輸數據的程度
- 存儲跟踪的普遍性:節點之間對數據存儲位置的共識程度
- 有保證的數據可訪問性:網絡確保存儲過程中的單個參與者無法刪除對網絡上文件的訪問的能力
分數越高表明上述各項的能力越強。
Filecoin 的代幣經濟學支持增加整個網絡的存儲空間,用於以不可變的方式存儲大量數據。此外,他們的存儲算法更適用於不太可能隨時間發生很大變化的數據(冷存儲)。
Crust 的代幣經濟學確保超冗餘和快速檢索,使其適用於高流量 dApp 並適用於快速檢索流行 NFT 的數據。
Crust 在存儲持久性方面的得分較低,因為沒有持久冗餘,它提供永久存儲的能力會受到嚴重影響。儘管如此,仍然可以通過手動設置極高的複制因子來實現持久性。
Sia 是關於隱私的。之所以需要用戶手動恢復健康,是因為節點不知道自己存儲了哪些數據片段,以及這些片段屬於哪些數據。只有數據所有者才能從網絡中的分片中重建原始數據。
相比之下,Arweave 是關於持久性的。這也反映在它們的禀賦設計中,這使得存儲成本更高,但也使它們成為 NFT 存儲的極具吸引力的選擇。
Storj 的商業模式似乎在很大程度上影響了他們的計費和支付方式:亞馬遜 AWS S3 用戶更熟悉按月計費。通過移除基於區塊鏈的系統中常見的複雜支付和激勵系統,Storj Labs 犧牲了一些去中心化,但顯著降低了 AWS 用戶關鍵目標群體的進入門檻。
Swarm 的聯合曲線模型確保隨著更多數據存儲在網絡上,存儲成本保持相對較低,並且它與以太坊區塊鏈的接近使其成為更複雜的基於以太坊的 dApp 的主要存儲的有力競爭者。
對於去中心化存儲網絡面臨的各種挑戰,沒有單一的最佳方法。根據網絡的目的和它試圖解決的問題,它必須在網絡設計的技術和代幣經濟學方面進行權衡。
最後,網絡的目的和它試圖優化的特定用例將決定各種設計決策。
下一個篇章
回到 Web3 基礎設施支柱(共識、存儲、計算),我們看到去中心化存儲空間擁有少數強大的參與者,他們已針對特定用例將自己定位在市場中。這並不排除新網絡優化現有解決方案或占領新的利基市場,但這確實提出了一個問題:下一步是什麼?
答案是:計算。實現真正去中心化互聯網的下一個前沿是去中心化計算。目前,只有少數解決方案能夠將去信任、去中心化計算的解決方案推向市場,這些解決方案可以為複雜的 dApp 提供支持,這些解決方案能夠以遠低於在區塊鏈上執行智能合約的成本進行更複雜的計算。
互聯網計算機(ICP)和 Holochain(HOLO)是在撰寫本文時在去中心化計算市場中佔據強勢地位的網絡。儘管如此,計算空間並不像共識和存儲空間那樣擁擠。因此,強大的競爭對手遲早會進入市場並相應地定位自己。Stratos(STOS)就是這樣的競爭對手之一。Stratos 通過其分散式數據網格技術提供獨特的網絡設計。
我們將去中心化計算,特別是 Stratos 網絡的網絡設計視為未來研究的領域。
結尾
感謝您閱讀這篇關於去中心化存儲的研究文章。如果您喜歡旨在發掘構建我們共同的 Web3 未來的基本模塊的研究,可以考慮在 Twitter 上關注 @FundamentalLabs。
如果我遺漏了任何有價值的概念或其他信息?請在 Twitter @0xPhillan 上與我聯繫,以便我們共同鞏固此項研究。
完整作品可在Arweave、Crust Network上獲得。
披露:Fundamental labs 和我們團隊的成員已經投資並可能持有本報告中提到的代幣倉位。這些聲明旨在披露所有利益衝突,不應被誤解為購買任一代幣的建議。此內容僅供參考,您不應僅根據它做出決定。這並非投資建議。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。