Web3支柱:去中心化存儲全面解析

作者:0xPhillan、Fundamentalabs

如果我們要為互聯網的去中心化鋪平道路,我們最終會集中在三個支柱上:共識、存儲和計算。如果人類成功地將這三者去中心化,我們將完全實現互聯網的下一個迭代:Web3。

(Web3基礎板塊:共識、存儲、計算)

存儲是第二個支柱,它正在迅速成熟,出現了適合特定用例的各種存儲解決方案。在這篇文章中,我們將仔細研究去中心化存儲支柱。

去中心化存儲的需求

從區塊鏈的角度來看,我們需要去中心化存儲,因為區塊鏈本身並不是為存儲大量數據而設計的。用於實現區塊鏈共識的機制依賴於以區塊排列的少量數據,並且這些數據在網絡中快速共享以由節點驗證。

首先,在這些塊中存儲數據非常昂貴。在撰寫本文時,將BAYC#3368的整個圖像數據直接存儲在第1層網絡上的成本可能超過18,000美元。

(具有活躍主網的項目。選擇200年的存儲期限以符合Arweave對永久性的定義。來源:網絡文檔、Arweave存儲計算器)

其次,如果我們在這些區塊中存儲大量任意數據,網絡擁塞將嚴重增加,從而導致用戶通過gas競價使用網絡的價格上漲。這是區塊隱含時間價值的結果——如果用戶需要在特定時間向網絡提交交易,他們將支付更多的gas費用以使其交易優先。

因此,建議將NFT的底層元數據和圖像數據以及dApp前端存儲在鏈下。

中心化網絡的考察

如果在區塊鏈上存儲數據如此昂貴,為什麼不將鏈下數據存儲在中心化網絡上呢?

原因是:中心化網絡容易受到審查並且是可變的。他們要求用戶信任存儲提供商以確保數據安全。不能保證中心化網絡的運營商能夠不辜負信任:因為數據可能會被故意或意外刪除,(例如由於存儲提供商的政策變化、硬件故障或受到第三方攻擊派對)。

NFT

由於某些NFT收藏的底價超過10萬美元,而某些收藏的每kb圖像數據價值高達7萬美元,因此承諾不足以確保數據始終可用。需要更強的保證來確保底層NFT數據的不變性和永久性。

(珍貴NFT的價值,數據截止5.10/2022)

NFT本身實際上並不包含任何圖像數據,而是包含指向存儲在鏈下的元數據和圖像數據的指針。需要保護的正是這些元數據和圖像數據,好像它消失了一樣,NFT將只是一個空容器。

(區塊鏈、區塊、NFT和鏈下元數據)

NFT的價值主要不是由它們所指的元數據和圖像數據驅動,而是由圍繞其收藏價值和生態系統的社區驅動。雖然這可能是正確的,但如果沒有基礎數據,NFT將沒有意義,社區也就無法形成。

除了個人資料圖片和藝術收藏品,NFT還可以代表現實世界資產的所有權(例如房地產或金融工具)。此類數據具有外在的現實世界價值,並且由於它所代表的內容,保存作為NFT基礎的每個數據字節至少與鏈上NFT一樣有價值。

dApp

如果NFT是存在於區塊鏈上的商品,那麼dApp可以被認為是存在於區塊鏈上並促進與區塊鏈交互的服務。 dApp是存在於鏈下的前端用戶界面和存在於網絡上並與區塊鏈交互的智能合約的組合。有時它們也有一個簡單的後端,可以將某些計算移出鏈,以減少所需的gas,從而減少最終用戶對某些交易產生的成本。

(dApp與區塊鏈交互)

雖然dApp的價值應該在dApp的目的(例如,DeFi、GameFi、社交、元節、名稱服務等)的背景下考慮,但dApp促進的價值量是驚人的。 DappRadar上排名前10位的dApp在過去30天內共同促成了超過1500億美元的轉賬。

(數據來源:DappRadar,截止5.11/2022)

儘管dApp的核心機制是通過智能合約執行的,但最終用戶的可訪問性是通過其前端來確保的。因此,從某種意義上說,確保dApp前端的可用性就是確保底層服務的可用性。

去中心化存儲降低了服務器故障、DNS黑客攻擊或中心化實體移除對dApp前端的訪問權限的可能性。即使dApp的開發停止,前端和通過該前端訪問智能合約的權限也可以繼續存在。

(Aave創始人Stani Kulechov在推特上表示,Aave dApp前端於2022年1月20日下線,但仍可通過IPFS託管的網站副本訪問。)

去中心化存儲環境

比特幣和以太坊等區塊鏈的存在主要是為了促進價值轉移。當涉及到去中心化存儲網絡時,一些網絡也採用了這種方法:它們使用原生區塊鏈來記錄和跟踪存儲訂單,這代表了價值轉移以換取存儲服務。然而,這只是眾多潛在方法中的一種——存儲領域廣闊,多年來出現了具有不同權衡和用例的不同解決方案。

(部分涉及去中心化存儲的協議)

儘管存在許多差異,但上述所有項目都有一個共同點:這些網絡都沒有在所有節點上複製所有數據。在去中心化存儲網絡中,存儲數據的不變性和可用性不是通過大多數網絡存儲所有數據並驗證連續鏈接的數據來實現的。儘管如前所述,許多網絡選擇使用區塊鏈來跟踪存儲訂單。

讓去中心化存儲網絡上的所有節點都存儲所有數據是不可持續的,因為運行網絡的間接成本會迅速提高用戶的存儲成本,並最終推動網絡向少數能夠負擔得起硬件的節點運營商更加中心化。因此,去中心化存儲網絡需要克服非常不同的挑戰。

數據去中心化的挑戰

回顧前面提到的關於鏈上數據存儲的限制,很明顯去中心化存儲網絡必須以不影響網絡價值轉移機制的方式存儲數據,同時確保數據保持持久性、不可變性和可訪問性。從本質上講,去中心化存儲網絡必須能夠存儲數據、檢索數據和維護數據,同時確保網絡中的所有參與者都受到他們所做的存儲和檢索工作的激勵,同時還要維護去中心化系統的去信任化。

這些挑戰可以總結為以下問題:

數據存儲格式:存儲完整文件還是文件片段?

數據複製:跨多少個節點存儲數據(完整文件或片段)?

存儲跟踪:網絡如何知道從哪裡檢索文件?

數據存儲證明:節點是否存儲了他們被要求存儲的數據?

隨時間推移的數據可用性:數據是否仍隨時間推移而存儲?

存儲價格發現:存儲成本如何確定?

持久數據冗餘:如果節點離開網絡,網絡如何確保數據仍然可用?

數據傳輸:網絡帶寬是有代價的——如何確保節點在被詢問時檢索數據?

網絡代幣經濟學:除了確保數據在網絡上可用之外,網絡如何確保網絡長期存在?

作為本次研究的一部分,已探索的各種網絡採用了廣泛的機制,並通過某些權衡來實現去中心化。

(對比去中心化存儲網絡的技術設計)

數據存儲格式

在這些網絡中,有兩種主要的方法用於在網絡上存儲數據:存儲完整文件和使用糾刪碼:Arweave和Crust Network存儲完整文件,而Filecoin、Sia、Storj和Swarm都使用糾刪碼。在擦除編碼中,數據被分解成大小恆定的片段,每個片段都被擴展並使用冗餘數據進行編碼。保存到每個片段中的冗餘數據使得只需要片段的一個子集來重建原始文件。

(數據的數據複製和擦除編碼)

數據複製

在Filecoin、Sia、Storj和Swarm中,網絡確定擦除編碼片段的數量以及要存儲在每個片段中的冗餘數據的範圍。然而,Filecoin還允許用戶確定複製因子,該因子決定了作為與單個存儲礦工的存儲交易的一部分,應該在多少個單獨的物理設備上複製擦除編碼片段。如果用戶想用不同的存儲礦工存儲文件,那麼用戶必須進行單獨的存儲交易。 Crust和Arweave讓網絡決定複製,而在Crust上手動設置複製因子是可能的。在Arweave上,存儲證明機制激勵節點存儲盡可能多的數據。因此,Arweave的複制上限是網絡上存儲節點的總數。

(數據存儲格式將影響檢索和重建)

用於存儲和復制數據的方法將影響網絡檢索數據的方式。

存儲跟踪

在數據以網絡存儲它的任何形式分佈在網絡中的節點之後,網絡需要能夠跟踪存儲的數據。 Filecoin、Crust和Sia都使用本地區塊鏈來跟踪存儲訂單,而存儲節點還維護本地網絡位置列表。 Arweave使用類似區塊鏈的結構。與比特幣和以太坊等區塊鏈不同,在Arweave上,節點可以自行決定是否存儲塊中的數據。因此,如果比較Arweave上多個節點的鏈,它們將不完全相同——相反,某些節點上的某些塊會丟失,而在其他節點上可以找到。

(Arweave網絡-blockweave中三個節點的圖示)

最後,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的補貨機制目前正在開發中。

激勵數據傳輸

隨著時間的推移,數據被安全存儲後,用戶會想要檢索數據。由於帶寬是有代價的,因此必須激勵存儲節點在需要時提供數據。 Crust和Swarm使用債務和信用機制,其中每個節點跟踪它們的入站和出站流量如何與它們與之交互的其他節點進行交互。如果一個節點只接受入站流量,但不接受出站流量,則它將被取消優先級以供將來通信,這可能會影響其接受新存儲訂單的能力。 Crust使用IFPS Bitswap機制,而Swarm使用名為SWAP的專有協議。在Swarm的SWAP協議上,網絡允許節點用郵票來償還他們的債務(只接受沒有足夠出站流量的入站流量),這可以兌換他們的實用代幣。

(群記帳協議(SWAP)

這種對節點慷慨的跟踪也是Arweave確保數據在請求時傳輸的方式。在Arweave中,這種機制稱為野火,節點將優先考慮排名更好的對等節點,並相應地合理化帶寬使用。最後,在Filecoin、Storj和Sia上,用戶最終會為帶寬付費,從而激勵節點在請求時交付數據。

代幣經濟學

代幣經濟學設計確保了網絡的穩定性,也確保了網絡將長期存在,因為最終數據只與網絡一樣永久。在下表中,我們可以找到代幣經濟學設計決策的簡要總結,以及嵌入在相應設計中的通貨膨脹和通貨緊縮機制。

(部分存儲網絡的代幣經濟學)

哪個網絡最好?

不可能說一個網絡在客觀上比另一個網絡更好。在設計去中心化存儲網絡時,必須考慮無數的權衡。雖然Arweave非常適合永久存儲數據,但Arweave不一定適合將Web2.0行業參與者遷移到Web3.0-並非所有數據都需要永久保存。但是,有一個強大的數據子領域確實需要永久性:NFT和dApp。

最終,設計決策是根據網絡的目的做出的。

以下是各種存儲網絡的總結概況,它們在下面定義的一組尺度上相互比較。使用的尺度反映了這些網絡的比較維度,但是應該注意的是,克服分散存儲挑戰的方法在許多情況下並沒有好壞之分,而只是反映了設計決策。

存儲參數靈活性:用戶控製文件存儲參數的程度

存儲持久性:文件存儲在多大程度上可以通過網絡實現理論上的持久性(即無需干預)

冗餘持久性:網絡通過補充或修復來保持數據冗餘的能力

數據傳輸激勵:網絡確保節點慷慨傳輸數據的程度

存儲跟踪的普遍性:節點之間對數據存儲位置的共識程度

有保證的數據可訪問性:網絡確保存儲過程中的單個參與者無法刪除對網絡上文件的訪問的能力

分數越高表明上述各項的能力越強。

Filecoin的代幣經濟學支持增加整個網絡的存儲空間,用於以不可變的方式存儲大量數據。此外,他們的存儲算法更適用於不太可能隨時間發生很大變化的數據(冷存儲)。

(Filecoin總結概況)

Crust的通證組學確保了超冗餘和快速檢索速度,使其適用於高流量dApp並適用於快速檢索流行NFT的數據。

Crust在存儲持久性方面的得分較低,因為沒有持久冗餘,它提供永久存儲的能力會受到嚴重影響。儘管如此,仍然可以通過手動設置極高的複制因子來實現持久性。

(Crust總結概況)

Sia是關於隱私的。之所以需要用戶手動恢復健康,是因為節點不知道自己存儲了哪些數據片段,以及這些片段屬於哪些數據。只有數據所有者才能從網絡中的分片中重建原始數據。

(Sia總結概況)

相比之下,Arweave是關於持久性的。這也反映在它們的禀賦設計中,這使得存儲成本更高,但也使它們成為NFT存儲的極具吸引力的選擇。

(Arweave總結概況)

Storj的商業模式似乎在很大程度上影響了他們的計費和支付方式:亞馬遜AWS S3用戶更熟悉按月計費。通過移除基於區塊鏈的系統中常見的複雜支付和激勵系統,Storj Labs犧牲了一些去中心化,但顯著降低了AWS用戶關鍵目標群體的進入門檻。

(Storj總結概況)

Swarm的聯合曲線模型確保隨著更多數據存儲在網絡上,存儲成本保持相對較低的加班時間,並且它靠近以太坊區塊鏈使其成為更複雜的基於以太坊的dApp的主要存儲的有力競爭者。

(Swarm總結概況)

對於去中心化存儲網絡面臨的各種挑戰,沒有單一的最佳方法。根據網絡的目的和它試圖解決的問題,它必須在網絡設計的技術和代幣經濟學方面進行權衡。網絡的目的和它試圖優化的特定用例將決定各種設計決策。

下一個領域

回到Web3基礎設施支柱(共識、存儲、計算),我們看到去中心化存儲空間擁有少數強大的參與者,他們已針對特定用例將自己定位在市場中。這並不排除新網絡優化現有解決方案或占領新的利基市場,但這確實提出了一個問題:下一步是什麼?

答案是:計算。實現真正去中心化互聯網的下一個前沿是去中心化計算。目前,只有少數解決方案能夠將去信任、去中心化計算的解決方案推向市場,這些解決方案可以為複雜的dApp提供支持,這些解決方案能夠以遠低於在區塊鏈上執行智能合約的成本進行更複雜的計算。

互聯網計算機(ICP)和Holochain(HOLO)是在撰寫本文時在去中心化計算市場中佔據強勢地位的網絡。儘管如此,計算空間並不像共識和存儲空間那樣擁擠。因此,強大的競爭對手遲早會進入市場並相應地定位自己。一個這樣的競爭對手是Stratos(STOS)。 Stratos通過其分散式數據網格技術提供獨特的網絡設計。我們將去中心化計算,特別是Stratos網絡的網絡設計視為未來研究的領域。

Total
0
Shares
Related Posts