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

作者: Leo, IOSG Ventures

封面: Photo by GuerrillaBuzz on Unsplash

本文為 IOSG 原創內容,僅做行業學習交流之用,不構成任何投資參考。 如需引用,請註明來源,轉載請聯繫 IOSG 團隊獲取授權及轉載須知。

概要:

  • 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%”。

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 的定位雖有重疊的地方,但更能在各自獨到之處精進發展,滿足持續演進的去中心化網路存儲需求,實現從 “去中心化網盤” 到去中心化伺服器的願景。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。