1. 為什麼需要去中心化數據庫?

Web2應用的數據存儲有兩種基本方式,文件系統(File System)和數據庫(Database)。由於Web3缺乏數據庫產品,大部分的DApp除了將少量重要數據存儲在昂貴的智能合約外,仍然使用的是中心化數據庫來存儲結構化數據。隨著IPFS等去中心化文件系統開始逐漸用於存儲Web3應用的NFT數據,去中心化文件系統被Web3所認可和接受,去中心化數據庫的技術也經歷了一輪迭代,新出了多種產品。

去中心化數據庫相比傳統中心化數據庫有著獨特優勢,它能降低Web3項目單點失敗風險,讓Dapp完全去中心化。

去中心化數據庫適合用來存儲訪問頻率高的熱數據,存Dapp的非財務數據,比如:

  • NFT metadata
  • DAO投票數據
  • DEX訂單薄
  • 去中心化的社交數據,博客數據,郵件。
  • Dapp需要的複雜的關係型數據庫數據。

去中心化數據庫對Web3而言意味著什麼?

2. 有哪些類型的去中心化數據庫存儲系統?

近兩年來,出現了許多去中心化數據庫項目,其中一些創新性的項目受到廣泛關注。

  • Ceramic:Ceramic 是一個於2019 年開始的項目。數據以流的形式存儲和管理,並將格式化的事件日誌添加到流中。日誌將被製成文件並上傳到IPFS。提供GraphQL API 查詢。 Ceramic 沒有像IPFS 那樣的激勵模型,並支持數據創建、讀取和更新(CRU)。
  • OrbitDB:OrbitDB 是與Ceramic 相比較早的項目,也使用IPFS 文件系統進行文件存儲。它支持NoSQL 數據庫和文件的存儲。
  • Tableland:該項目於2022 年啟動,目前處於公共測試階段。 Tableland 的生產版本將於2023 年發布。數據存儲需要使用智能合約,這些智能合約定義SQL 語句並設置使用權限。讀取數據是在鏈下進行的,不需要支付。當前,該合約已部署在ETH 和OP 等L2 上。
  • Polybase:該項目現已在測試網絡上運行。它是一個支持CRUD 操作的NoSQL 數據庫,每個操作都需要支付費用。此外,Polybase 還支持各種文件系統來存儲數據庫文件,包括本地磁盤、IPFS、Filecoin、Polystore,甚至AWS S3。 Polybase 還利用支付通道進行數據查詢支付,降低了鏈上交易的頻率,並避免由於付款引起的查詢延遲。
  • Web3Q:項目於2022 年啟動,測試網絡已經上線。提出了一種新的URL 模式Web//access protocol 用於訪問數據。它的收費模型很特別,刪除數據是可以退費的。
  • Kwill:Kwill 是基於Arweave 的SQL 數據庫系統,使用智能合約進行支付。
  • KYVE:KYVE 是一個基於Arwave 的數據庫系統。

去中心化數據庫對Web3而言意味著什麼?

技術上

  • SQL和NoSQL都是可以用來做數據庫的,SQL更成熟更高效,NoSQL更豐富更靈活。 SQL的數據結構需要高度一致,聯合查詢能力更強,成熟高效;NoSQL的KV形式更契合以太坊的設計模式,能支持豐富的數據類型,靈活易擴展。
  • 功能上,能支持CRUD是最好的,但支持UD會給系統帶來複雜度。如果系統採用本地存儲,則可能不支持歷史值查詢。如果使用IPFS和Arweave,則需要數據庫是append-only的,否則一份數據有多個版本,存儲成本翻倍上升。
  • 底層文件系統的選擇有2種。
  • 文件存在本地是更靈活的,可以自定義檢索邏輯,效率更高,且避免了使用Arweave等去中心化文件系統帶來的不可靠性和復雜度。比如:用戶用TokenA付費給數據庫礦工,礦工則需要支付Arweave coin來存數據,兩層網絡疊加帶來了複雜性。
  • 數據庫文件存儲在IPFS和Arweave等去中心化文件系統中;
  • 存儲在節點本地或S3雲上。
  • 和去中心化存儲類似,改善存儲數據檢索速度、激勵模型和代幣經濟學以及用於保證數據可用性的保證算法是決定一個協議是否會被廣泛使用的關鍵因素。
  • 好的激勵模型和代幣模型不僅能調用節點的參與積極性,也能激勵節點做正確的事情。比如:提供有效的檢索功能,而不是只存數據獲得存儲獎勵。
  • 數據可用性保證算法會隔一段時間檢查了節點對數據的存儲,需要節點提供數據可用性證,這個證明與節點的激勵相輔相成以防止數據丟失。
  • 數據的檢索素的則影響著用戶體驗,對Dapp的使用便利性和流暢度來講至關重要。

總結

  • 去中心化數據庫領域具有高度的關注價值和緊迫需求,但是目前還沒有被廣泛接受和使用的產品。
  • 去中心化數據庫技術的成熟度低於去中心化文件存儲系統。因為去中心化數據庫技術是基於分佈式文件系統的。許多項目是在2022年啟動的。
  • 改善存儲數據檢索速度、激勵模型和代幣經濟學以及用於保證數據可用性的保障算法是決定一個協議是否會被廣泛使用的關鍵因素。協議的重點將是減少檢索時間,這對Dapp的使用便利性和流暢度來講至關重要。

去中心化數據庫對Web3而言意味著什麼?