原文:《 IOSG Weekly Brief|從存儲到計算,去中心化存儲復興#168

作者:Leo, IOSG Ventures

概要:

  • Arweave協議設計從技術上保證永久存儲的實現,更適用於高價值數字資產,如NFT metadata的保存

  • 數據存儲之上,更需要計算。隨著智能合約和可編程性的引入,去中心化數據存儲網絡的發展已經進入“不僅僅是存儲”的新階段

  • 實現存儲數據冗餘,Filecoin訴諸經濟激勵手段,Arweave則藉助協議設計

  • FVM為Filecoin帶來存儲金融,將存儲空間和時間商品化,用戶可以提前鎖定成本,存儲供應商也能提前回籠資金,並根據遠期需求規劃管理庫存、硬件、運營

計算機網絡發展的主流,無外乎數據計算,傳輸,存儲三個方向。 Web3發展時至今日,去中心化數據存儲協議的發展有目共睹。 Filecoin於2023年3月14日2,683,348 Epoch高度正式在主網發布了兼容EVM的Filecoin Virtual Machine (FVM),將智能合約和可編程性帶入Filecoin網絡,去中心化數據存儲協議的發展已經進入了“不僅僅是存儲”新階段。

去中心化數據存儲協議有很多,最引人注目的唯屬Filecoin和Arweave,針對FVM發布賦予Filecoin的新特性,我們在本文中逐一進行討論。

永久存儲Perpetual Storage

永久存儲在Web3中有特別的意義和需求,高價值的數字資產如NFT Metadata須要被永久保存。

Filecoin在FVM發布後,強調了永久存儲(Permanent Storage)的特性。我們理解的Filecoin永久存儲是通過經濟手段在理論上實現長期保存,但在Filecoin協議設計層面沒有太多改動。在Filecoin當前設計中,存儲訂單是在存儲供應商和存儲需求者之間鏈下撮合鏈上記錄的,訂單包含的信息有數據大小、存儲時間、訂單價格和抵押物。若想所存數據在訂單所定義的存儲時間到期後被繼續保存,存儲需求者不得不人為手動地提交更新訂單。但FVM發布後,訂單可以在鏈上得到自動續費更新。 Lighthouse是致力於實現Filecoin上永久文件存儲的項目,用戶只需付費一次,文件即可“永久”保存。 Lighthouse通過基於智能合約的捐贈池(endowment pool)來為文件持續支付存儲費用。當用戶創建訂單並付費時,金額的一部分交給存儲供應商,剩下的部分則進入捐贈池。捐贈池智能合約將在訂單到期時自動續約並用捐贈池中的金額付費,以此實現“永久存儲”。這個設計的可行性在於捐贈池會通過質押、farming等方式實現池內資產增值,隨著時間流逝,增值的部分足以覆蓋存儲的開銷。這與Arweave黃皮書中對於存儲成本的假設類似,即存儲費率會不斷下降,存儲需求者支付金額的增值足以涵蓋永久存儲的開銷。

“過去50年,存儲費率以年均下降30.57%”。

去中心化存儲願景:從“去中心化網盤”到“去中心化服務器”,Web3里永恆的主題

 Arweave Yellow Paper: 自1980年來,每保存1GB數據1小時的成本(log scale)

Arweave則是在常見的區塊鏈數據結構上引入了命名為Blockweave的設計,通過協議設計從根本上來實現數據被永久存儲。 Blockware中,鏈上的每一個區塊(除了最新確認區塊和正在被挖的候選區塊)會和另外三個區塊相連,分別為前序區塊、後序區塊和召回區塊( recall block) 。對某一高度的區塊而言,召回區塊可以是Blockweave中該高度區塊以前的任意歷史區塊。在礦工挖新塊時,召回區塊的選擇是由前序區塊高度和哈希隨機決定的。召回區塊在Arweave所採用的共識機制——隨機訪問簡潔證明(Succinct Proof of Random Access — SPoRA)中扮演了重要的角色。在Arweave中,礦工不必保存所有歷史區塊(即保存所有歷史區塊非參與挖礦的必要條件),但礦工本地保存有被隨機選中的召回區塊是礦工參與候選新塊挖礦的入場券。召回區塊功能上類似於隨機抽查礦工是否保存有歷史某一區塊的內容,從而實現歷史數據的永久存儲。

Arweave的永久存儲是根據協議設計從技術上來保證的,相較於Filecoin的永久存儲是更robust的方案,也是Web2科技巨頭Meta, Instagram和Web3應用Mirror選擇Arweave作為其NFT、內容的存儲方案的主要原因。

去中心化計算Decentralized Computation

數據保存了,更重要的是使用。 Filecoin和Arweave的願景遠不僅是“去中心化網盤”(然而當前大部分存儲需求者僅僅將其用作於此),更要做兼具低成本存儲和高吞吐計算的區塊鏈協議。數據存儲之上,Web3 Dapps還需要計算。

Filecoin和IPFS在遍布世界各地的存儲供應商之間分發內容尋址的(content-addressed)數據集,以增加數據的冗餘性和彈性。這種去中心的數據分佈,帶來了成本、可用性和可靠性的優勢,但隨之而來的問題是單個數據集的各部分被存儲在地理位置相距較遠的各個存儲供應商處。廣泛而分散保存的數據集不利於在數據之上執行計算或查詢索引的操作。但是將高度分散的數據重新組合到一個中心以對其進行計算是昂貴、浪費、性能低下且違背去中心化存儲原則的。 Filecoin上EVM兼容的FVM提出了邊緣計算(edge computation)結合鏈上協調執行計算的方案。 FVM中的合約可以代理經紀計算資源、激勵計算執行、在可用存儲供應商之間分配工作負載,並證明計算結果的有效性以獲得獎勵。存儲供應商可以通過FVM合約註冊參與去中心化計算網絡。計算客戶端會將計算任務發佈到合約。合約定義的機制會將計算任務分配給註冊參與計算網絡的存儲供應商,當完成計算,存儲供應商將發布證明來獲得報酬。

Arweave上的去中心化計算通過SmartWeave智能合約協議實現,具備直接處理豐富數據的能力。 SmartWeave和其他區塊鏈智能合約協議的主要區別是“Lazy Evaluation (惰性計算)”,將智能合約執行計算的負擔從網絡節點轉移到智能合約用戶。惰性計算的好處是顯而易見的,通過將存儲和計算解耦,節點不需要保存不斷增長的全局狀態。智能合約可以在被使用時才由用戶計算、驗證最新狀態,而不需要參與鏈上共識的每個節點都進行計算、驗證。將計算下放給用戶,區塊鏈的可擴展性也得到了提升。 Warp開發了一套基於SmartWeave初始版本的Warp SDK,相較於原生版本提升了性能和模塊化程度,並允許不同的執行環境。

Warp近期發布了2023年路線圖,開發目標包括:

1)Layer1同步器:實現Warp合約與基礎Arweave層的高效同步;

2)Layer2排序器,與其將數據直接發到Arweave主網(可能等待2~3分鐘區塊時間直到數據被打包進下一個新挖區塊),數據交易被導向Warp排序器,再通過Bundlr網絡,交易可以立即結算,為用戶提供數據的即時訪問和近乎即時的最終確定性;

3)合約增強改進,Warp contract旨在為Web3 Dapps提供功能齊全的技術堆棧,以與Web2服務競爭;

4)開發委託解析環境(Delegated Resolution Environment)和聚合節點,委託解析環境允許對高交互和/或不安全合約進行計算委託,聚合節點則提供合約狀態信息的監測和洞察。

存儲冗餘Storage Redundancy

去中心化數據存儲網絡避免了單點故障,但如何保證各節點/各存儲供應商真實有效地保存了存儲需求者的上傳數據?並讓多個節點/存儲供應商分別保存上傳數據以實現存儲冗餘和可靠性? Filecoin和Arweave採取了不同的方案,Filecoin訴諸經濟激勵手段,Arweave則藉助協議設計。

FVM發布亮點中介紹了Replication Worker(數據複製工作者) , Repair Worker(數據維修工作者) 。在FVM發布前,如果存儲需求者希望在網絡節點中備份他們的數據,以最大限度地提高數據在存儲供應商出現故障時被保存下來的機率,需求者必須繁瑣地與供應商鏈下撮合N次訂單,執行N次鏈上交易,並密集耗費資源傳輸N次數據。在FVM發布後,數據複製工作者將作為中介,僅收取少量費用來實現數據冗餘,為存儲需求者節約時間和開銷。複製工作者會根據需求者所選擇的備份數量、存儲地理區域、延遲要求、價格範圍等條件,自動在Filecoin網絡上撮合併生成存儲訂單。數據維修工作者則可以作為需求者的代理,監控存儲數據是否丟失或過期,並根據需求者的設置將低於冗餘閾值的數據自動複製備份到更多存儲供應商,還可以代表存儲需求者更新已過期或終止的存儲訂單。

Arweave的存儲冗餘是通過協議設計自然實現的。 Arweave將召回區塊作為隨機訪問簡潔證明(SPoRA)工作量算法輸入的一部分,保證挖得新塊的礦工確實保存有召回區塊的所有數據。 SPoRA共識機制鼓勵礦工在其存儲空間能力範圍內盡可能多地保存歷史區塊和Blockweave數據。但若礦工的存儲能力不足以保存所有歷史區塊和完整Blockweave數據,礦工會優先保存被其他礦工較少保存過的區塊,因為當一個被較多礦工保存了的召回區塊被選中時,較多礦工會同時參與挖新塊的競爭;而當一個被較少礦工保存了的召回區塊被選中時,競爭會相對較小。又因為召回區塊的選擇是高度隨機的,任一召回區塊被選中的機率是離散均勻分佈的,因此在存儲能力受限的情況下,理性礦工應該優先保存被較少保存過的區塊以提高其挖得新塊的機率來獲得區塊獎勵。 Arweave的協議通過精巧設計和經濟激勵,讓blockweave和所有歷史區塊能夠在整個網絡所有礦工存儲能力範圍的約束下,盡可能地將任一歷史區塊被最大化地備份,保證了Arweave去中心存儲網絡的可靠性和數據冗餘。

數據檢索Data Retrieval

數據保存了,如何高效、準確、快速地取回數據是另一個問題。

Filecoin中數據檢索服務是一套單獨的經濟激勵系統。 Retrieval Provider (檢索供應商)負責為存儲需求者提供對其數據的快速訪問。檢索供應商專注於快速訪問數據,而不是長期存儲。大多數存儲供應商同時也是檢索供應商。需求者向檢索供應商付費以獲取數據。 Filecoin生態中已有retrieval.market和Saturn Network等項目實現數據的快速檢索和內容分發。

Arweave的SPoRA共識機制除了上述永久存儲和存儲冗餘的優點,也一石三鳥地提高了數據檢索和訪問速度。在升級SPoRA之前,Arweave的可訪問證明(Proof-of-Acces — PoA)舊共識機制解決瞭如何激勵礦工盡可能多地存儲數據的問題,但並沒有激勵礦工快速檢索存儲數據。事實上,在PoA時期,礦工們將存儲資源歸集起來做了存儲池,存儲池裡保存歷史區塊。當某一召回區塊被選中,存儲池在被礦工請求時向礦工發送該召回區塊的內容。這是不利於網絡去中心化的。 Arweave網絡統計曾出現了全網哈希算力增長的同時節點數量卻下降的情況,間接證明了存儲池的存在。為解決這個問題,也為鼓勵各個礦工在本地存儲數據,Arweave將PoA升級成了SPoRA。升級SPoRA後,選擇不在本地存儲歷史區塊數據的礦工向存儲池(需要極多次地)請求並傳輸召回區塊,傳輸數據的成本和時間極大增加,而在本地存儲了歷史區塊數據的礦工能有較高的機率挖得新區快。從機制設計上杜絕了存儲池的存在。而分佈世界各地的礦工節點在本地存儲歷史區塊數據,也提高了存儲需求者對數據的檢索和訪問速度。

存儲金融Financialization

隨著FVM的發布,Filecoin上可以引入包括DeFi在內的眾多Web3應用,例如質押協議、保險協議、存儲衍生品等。 Filecoin中的存儲供應商需要抵押一定數量的FIL作擔保才能提供存儲服務,在過去存儲供應商要么籌錢購買FIL,要么依賴鏈下的借貸合同借得FIL。但藉助建立在FVM上的質押協議,FIL代幣持有者可以將閒置FIL存入協議中,並製定規則和條款,任意規模的存儲供應商可以根據這些規則和條款在鏈上獲得FIL來籌集足夠抵押數量的FIL,以開展存儲服務。存儲衍生品是另一個很有趣的應用場景,動態的存儲開銷給存儲需求者和存儲供應商都帶來了統籌預算的挑戰。將存儲空間和時間商品化(commoditize) ,存儲需求者可以提前鎖定存儲成本,存儲供應商也能提前回籠資金,並根據遠期需求提前規劃管理庫存、硬件、運營和財務。

項目定位和現狀

Filecoin當前全網共有3678個節點提供約19.544EiB的存儲空間,而Arweave全網共有112個節點實際保存了125.62TiB的數據。從規模上看Filecoin網絡更大,但Filecoin和Arweave雖同為去中心化數據存儲協議,但他們有著不同的定位,不能簡單地訴諸網路節點多少或規模大小來比較。

Protocol Labs將Filecoin定位為Storage Marketplace和Incentive layer,圍繞Filecoin做了完善的存儲市場、檢索市場、金融產品等,通過經濟激勵設計來實現豐富的產品功能(如永久存儲、存儲複製與修補等),致力於成為最大最重要的去中心化的數據存儲、分發、計算協議。 Arweave最重要的定位則是永久保存數據,並基於最底層的Arweave開發智能合約協議實現對數據的計算。所有的機制設計均為這個最重要的目標服務,從前面幾個特性的介紹中,不難體會到Arweave的設計是精巧而統一的。

展望

相較於以太坊生態和以太坊虛擬機的突飛猛進,去中心化數據存儲網絡的發展在過去幾年略顯平淡。在Filecoin和Arweave生態中有很多優秀的項目和創業者,但是現在Web3 Dapps的存儲方案並沒有大規模採用Filecoin和/或Arweave,很多Dapps依然依賴Web2存儲方案。在解決存儲的區塊鏈上做計算是一個新穎的路徑,不論是FVM還是SmartWeave,都具備讓開發者解鎖前所未有的去中心化應用的潛力。作為開發者或用戶,使用哪個去中心化存儲協議並不是二選一的問題,而是應該根據應用和內容的存儲需求來選擇。 Filecoin和Arweave的定位雖有重疊的地方,但更能在各自獨到之處精進發展,滿足持續演進的去中心化網絡存儲需求,實現從“去中心化網盤”到去中心化服務器的願景。