深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

撰文:鄭嘉梁,HashKey Capital 研究總監

本篇我們探討一下區塊鏈世界里的數據供應,以及以數據為核心產品的服務商如何形成一定的市場規模,即他們如何產生價值和捕獲價值的。

區塊鏈本質上是一個分佈式數據庫,雖然有着公開、透明、可追溯等特點,但是直接訪問或者獲取這寫數據並不便利,需要特定的接口、進行格式化、以及轉變保存類型。大部分區塊鏈使用的是鍵-值類型的數據庫,方便多寫少讀,而普通用戶比較習慣的是關係型數據庫。關係型數據庫可以用像 SQL 那樣的查詢語句來進行查詢, 像 Dune Analytics 這樣的服務商就是把鏈上數據變成關係數據庫,方便調取,這中間的流程還包含了數據的存儲和再加工的過程。

一般有兩類有價值的數據:

鏈上數據:鏈相關數據(哈希、時間戳、難度等)、轉賬、普通交易、智能合約事件等,這類數據被分佈式數據庫所維護,可靠性由共識保證。即區塊鏈的核心數據。

非鏈上數據:與鏈上相關,準確性依靠中心化或去中心化的節點驗證的數據,如交易所、預言機等,類似於 Web2.0 服務。交易所數據介於鏈上鏈下之間,是鏈上數據的鏈下計算,然後經鏈上驗證,也產生了很大的數據量。

我們認為數據市場需求爆發的驅動來自於:

  • 多鏈宇宙(含 Layer2)的成型
  • 應用的增加和用戶的增加
  • 應用帶來的數據需求的增加(如開發、分析、交易、金融產品的使用等)
  • 用戶行為複雜化

數據市場參與者

交易者

交易者根據各類數據信息判斷可交易的方向,比如觀察某條鏈的活躍程度,某個 DEX 的成交情況、某個借貸協議的借出貸款等。他們會需要有可靠的數據源,一些高級用戶會使用付費的數據服務。

數據的提供者

被動的產出方(不以數據盈利為目的):如區塊鏈的節點,交易所,普通用戶
主動地產出方(以數據盈利為目的):API 提供者,數據搜索引擎,定製化數據包。他們往往是原始數據的加工者。

開發者

開發者查詢、調用鏈上數據,與區塊鏈交互。由於節點服務商的存在,開發者不需要搭建自己的節點,就可以直接和鏈上進行交互。眾多 dApp 以及第三方錢包應用都依賴於 Infura 這樣的節點服務商,與區塊鏈進行交互。開發者的需求來自於:網絡狀態監控、交易執行狀況監控、穩定的執行環境、市場和競品趨勢信息、產品和市場策略指定、根據客戶偏好提升產品性能等。

需要不停監聽網絡狀態的應用和中間

比如借貸協議需要監控賬戶狀態,一些自動化中間件要及時反饋價格變化等。

區塊鏈數據結構、存儲、和訪問-以 Ethereum 為例

鍵值數據庫

區塊鏈本質上是個數據庫,和比較為大眾熟悉關係型數據庫不同,以太坊使用的鍵值(K-V)類型數據庫,其底層基於 Google 的 Level DB,適用於寫多讀少的場景。關係型數據庫歷經多年發展,被程序員所接受,也非常利於普通人理解。關係型數據庫的結構是一系列的表。

鍵值數據庫是新發展出來的非關係型數據庫,結構相對簡單:鍵作為唯一的標識符,值存儲數據,值可以是任何東西,不需要遵循表的結構,靈活多變且擴展性強。鍵值和關係數據庫相比擴展性好,可以提供大數據量的讀寫,常被用於緩存。
大部分分佈式數據庫採用鍵值數據庫,依靠 LMS-tree 的結構進行有效的數據寫入和查詢。少部分選用關係型數據庫,如 Ripple。

區塊鏈的數據根據狀態和交易的抽象結構如下:

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?
深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

來源:HyperLedger

以太坊的區塊數據包括區塊頭和區塊體,區塊頭包含許多字段。從結構來看,以太坊的主幹就是三棵樹:狀態樹、交易樹和收據樹。

以太坊的主要字段是 State Root(狀態樹),包含了賬戶餘額、聲明、隨機數等,狀態樹採用的是 Merkel-Patrica 結構,需要不斷的更新。而交易樹和收據樹不需要更新,所以採用了 Merkel 的數據結構:交易數據是永久數據,永久數據已經記錄不會被改變。狀態樹儲存每個以太坊賬戶的地址餘額,一經發生交易就會修改。
以太坊的數據結構總結起來就是這一張圖:

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

來源:Lucas Saldanha

永久儲存與臨時儲存

如前所述,以太坊的底層數據是以 K-V 形式儲存在底層 LevelDB 里的。但是 LevelDB 適合於寫多讀少的場景,所以真正用於讀取、查詢的數據庫是 StateDb,它管理着所有賬戶的集合,賬戶的呈現形式是 stateObjectStateDB。其直接面向業務,是底層數據庫(LevelDB)和業務模型的之間的存儲模塊。它採用兩級緩存機制,以滿足查詢、更新、調用等功能。第一級緩存為 map 形式,存儲 stateObject,二級緩存以 MPT 形式存儲。當 stateObject 有變動的時候,實例化的 stateObject 會更新,當 IntermediateRoot() 被調用后,他們會被提交到 MPT 上,當 CommitTo() 被調用后,他們會被提交到底層 levelDB 中。這就形成了三級緩存結構。使用多存數據庫的好處是,當需要回滾的時候,直接調用 stsateDB 中 MPT 樹的根節點進行數據還原即可。

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

來源:網絡,HashKey Capital 整理

但是要是將這些數據變成可用的數據,就是將這寫數據變成可用的查詢字段,比如 Blockheader 包含的字段,Block Body 包含的字段,智能合約的 Log 的字段等,交易的 Trsaction 字段等,不同字段對應着不同類型。

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

Dune Analytics 提供的以太坊可查詢數據字段

Log 是非常重要的數據,因為以太坊的智能合約運行在 EVM 中,與外界隔離,EVM 發生的事件就是通過 Log 傳輸到外面並記錄在區塊鏈上。實際上,像 Etherscan 這樣的瀏覽器就是用過 Parity 客戶端回放 EVM,拿到智能合約交易的記錄(內部交易)。

許多區塊鏈的結構也可以存儲非交易數據,但是容量有限。比如比特幣的 output 中的 OP_RETURN 字段就可以存儲不超過 40 字節的數據。限制的原因在於放大增加這部分會影響區塊鏈的性能。以太坊的區塊頭也有 Extra 字段可以用來寫入數據,如這樣的:

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

來源:https://etherscan.io/block/12912176

區塊鏈並不合適進行文件的存儲,以 IPFS 作為存儲底層和區塊鏈結合的方式是比較認可的,比如數據儲存在 IPFS 中,但是數據的 Hash 值存在以太坊的狀態數據庫中。

緩存

除了上鏈的交易外,以太坊還有一個保存在緩存中的數據,即 mempool 裡面的排隊數據。各個節點提交的交易都會被放入 mempool 交易池中,經過序列化、交易驗證、過濾等步驟,最終選擇合適的交易被礦工打包。交易池中有 Queue 和 Pending 兩個 map,用來存儲未驗證交易和已驗證交易。Queue 和 Pending 清理結束后,根據不同節點提交的交易,交易池要進行重構(由於分佈式的原因),防止出現分叉。

以前交易池的數據沒有那麼重要,但是隨着智能合約的交易佔比提升,交易的排序有了更多的經濟意義,所以已經有項目開始做類似的工作。

  • 趣味性強的的比如 Txstreet
  • 真實提供交易池數據接口的比如 Blocknative
  • 提供 MEV 解決方案的如 Flashbot

訪問

如何訪問以太坊上的數據呢?一般是兩種方式 :

遠程訪問以太坊的節點

使用 web3 或者是 JSON-RPC 的方式。JSON-RPC 是無狀態的輕量級跨語言遠程調用協議,文本傳輸的數據是 JSON 格式,傳入和傳回都是 JSON 格式。使用 JSON-PRC, 客戶端發送 PRC 請求,就可以直接通過以太坊客戶端,傳回相應數據,比如使用對應字段,eth_gasPrice, eth_blocknumber 等。

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

來源:《深入理解以太坊》

如果不使用 JSON-PRC 方式,可以以太坊基金會提供的 javascript 庫,即 web3.js。它底層封裝了 RPC, 使用起來和 JSON-RPC 方法一樣,先創建一個 web3 對象,就可以使用庫里提供的方法獲取各種數據。比如,顯示賬戶的餘額:

var balance_1 = web3.eth.getBalance(web3.eth.accounts[0]); console.log(balance_1.toString());

使用 web3.js 有一系列好處,在於他們有非常細緻的模塊:

  • web3-eth 用來與以太坊區塊鏈及合約的交互;
  • web3-shh Whisper 協議相關,進行 p2p 通信和廣播;
  • web3-bzz swarm 協議(去中心化文件存儲)相關;
  • web3-utils 包含一些對 DApp 開發者有用的方法。

JavaScript 庫還可以通過讀取 Application Binary Interface (ABI) 來直接和複雜的智能合約進行交互。ABI 就是 json 形式的智能合約函數,因為智能合約是以 solidity 寫的,json 形式就可以通過 JavaScript 直接使用了。可以做的事情包括:向合約發送交易、估計使用 EVM 的 gas fee、部署智能合約等等。

除了 web3.js 庫外,還有 ether.js 庫這樣的 javascript 庫。

使用 web3.js 的一個實例就是區塊鏈瀏覽器:使用 web3.js 訪問以太坊,獲得的數據進行加工,通過中心化的接口加入非鏈上信息(如標籤,項目名字),然後循環調用 web3.js 查詢鏈上數據,不斷更新區塊。

自己搭建節點,本地訪問

自己搭節點就是自己將所有的以太坊全網數據全部下載下來,這需要大量的成本,以及安全技術,大部分用戶和開發者都不會選用這樣的模式去使用數據,一般會使用第一類方法或者直接從去找到更好的 API 服務商。

流轉過程

以太坊的本質是交易驅動的狀態機,一切變化皆由交易開始,變化的記錄就是數據,API 從頭到尾串起了數據的流轉。整個區塊鏈數據流轉的過程是這樣的:

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

數據服務者類型

節點服務層

節點服務商可以說已經變成了以太坊運行的根基,比如最有名的 Infura,本身運行以太坊節點並提供 IaaS 服務,省去了建立以太坊節點的過程 , 應用可以直接靠 Web3 訪問。API 成為管道,需要使用數據的話,對管道進行付費。

底層數據服務(和鏈進行交互)和上層數據服務可以緊密合作,底層提供節點,上層提供數據的查詢。比如 Quicknode 和 Dune Analytics 的合作就是這樣的例子。Dune 為數據分析這提供一個可以應用 SQL 語句查詢的數據庫,還可以將數據可視化。在 Dune 出現之前,沒有一個統一的數據格式可以將項目之間進行比較。Dune 是 Quicknode 的主要客戶,之前是使用自建的 Parity 節點。經常需要擔心節點的內存泄露(memory leak)、磁盤空間不夠等,而且成本較高,使用 Quicknode 后后大大降低了成本,每月成本 1000 美元降到每月 35 美元。此外 Quicknode 還提供類似 CDN 的服務,這可能是另外一個可以促進 dapp 應用體驗的方向。還可以幫助訪問 mempool 的數據。還可以提供私有節點。Quicknode 有一些業內知名的用戶,比如 Nansen, PayPal, DappRadar, Chainlink。

Alchemy 把區塊鏈的底層架構進行梳理,可以提供典型的 JSON-RPC API,還可以提供增強型的 API,將日常請求簡單化,簡化開發人員的成本等。Alchemy 對許多知名項目也進行了支持,比如 CryptoKitties, Formatic, Bancor, Celer。

Infura, Alchemy 和 Quicknode 均各自有一些知名用戶:

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

處在這一賽道的還有 Crypto API,Blockchair,Blockdaemon 等。

查詢索引服務層

數據服務再往上進一層就是應用類的服務,比如 Dune Analytics。區塊鏈的數據雖然是公開透明的,但是缺乏工具的情況下,數據都是雜亂的,需要編寫各類腳本來訪問區塊,遍歷信息等,然後再進行格式化。

Dune 先把區塊鏈上的數據(主要是以太坊)進行解析,然後填充到數據庫中,變成一個 PostgreSQQL 的數據庫。用戶無需寫腳本,只要會使用簡單的 SQL 語句就可以進行查詢。Dune 起了一層將數據進行解析和格式化的作用,還提供了可視化工具。以太坊是鍵值數據庫,Dune 把它變成一個關係型數據庫,SQL 語句就是關係型數據庫的接口。Dune 提供的數據表有:

  1. 原始交易數據,提供區塊鏈上所有活動的詳細記錄
  2. 項目級數據表,返回預處理后數據,用於解碼的項目
  3. 抽象表,一種更高級的表,返回相關行業 / 主題的聚合數據。

目前支持 Ethereum 和 xDai (以太坊的測鏈)兩個鏈。以太坊的原始數據包括 Block,Log,Transaction,Trace 等四大類數據,Dune 把他們解碼成 human readable 的格式。

The Graph 提供了一個數據的搜索引擎,藉助於 GraphQL API,用戶可以通過 subgraph (子圖)直接訪問獲得信息。而且 The Graph 是去中心化的,受到很多 DeFi 項目的支持。其也提供一些列成型的 subgraph (類似於 Dune Analytics 用戶的 query 或者 dashboard),供代碼能力一般的用戶直接使用。

數據查詢的流程遵循以下步驟 :

  • Dapp 通過智能合約上的交易將數據添加到以太坊。
  • Graph Node 持續掃描以太坊的新塊和它們可能包含的子圖數據。
  • Graph Node 在這些塊中為子圖查找以太坊事件,並運行映射處理程序。(映射是一個 WASM 模塊,用於創建或更新 Graph Node 存儲的數據實體,以響應以太坊事件。)
  • 去中心化的應用程序使用節點的 GraphQL 端點向 Graph Node 查詢從區塊鏈索引的數據。Graph Node 反過來將 GraphQL 查詢轉換為對其底層數據存儲的查詢,以便獲取該數據,並利用存儲的索引功能。
  • Dapp 將這些數據顯示在終端用戶的前端中。用戶通過前端進行交易活動。

由於是去中心化的模式,The Graph 設計了 GRT 代幣機制,以鼓勵多方參與這個網絡,涉及到委託人(Delegator)、索引者(Indexer)、策展人(Curator)、開發者(Developer)等四類。簡要而言就是用戶提出查詢需求,索引者運行 The Graph 節點,委託人向索引者質押 GRT 代幣,策展人使用 GRT 來指引哪類子圖有查詢價值。

快速和節約資源:The Graph 的價值在於,他可以非常快速的用數據回答很具象的問題。他們舉了個例子:對於 CryptoKitties, 可以查詢在 2018 月之間 1 月到 2 月誕生的 Kitties 的所有者是誰的問題,這就需要遍歷智能合約的 birth 事件,以及 ownof 方法。這樣一個問題可能需要幾天時間才可以。The Graph 的子圖就是解決這些問題的索引。

類似於 The Graph 的項目還有 Covalent,提供了一個數據查詢層,讓工程師可以快速的以 API 的形式調用數據。一個簡單的 API 就可以解決所有 Covalent 支持的鏈的數據。Covalent 的數據集比較完備,可以多鏈多項目的一起查詢,不需要很強的 coding 基礎。Covalent 也有自己的代幣 CQT,代幣持有者可以用來抵押、投票(數據庫上新)。Covalent 有兩類 endpoints,一類是區塊鏈全體數據類型,如餘額、交易、日誌類型等;另一類是對某一個協議的 endpoint,如查詢 AAVE 的日誌。Covalent 最有特點的是跨多鏈查詢,不想需要重新建立類似子圖的索引,二是通過改變 chain ID 就可以實現,query 的可擴展性大大增強了。

SubQuery 是專註于波卡生態的數據提供方,可以轉換和查詢 Web3.0 生態數據。SubQueary 受到 The Graphh 啟發,也是使用的 Facebook 開發的 graphQL 語言。SubQuery 面向所有的 Polkadot 和 Substrate,並且提供一個開源 SDK。相對於 The Graph, 作為開放市場的 SubQuery 中的角色有三個:消費者、索引這和委託人。消費者發布任務,索引這提供數據,委託將空閑的 SQT 代幣委託給索引者,激勵他們更多的誠實參與工作。代幣經濟學和 The Graph 類似。

如前所述 Blocknative 專註於實時交易數據的檢索功能,提供了 mempool 的數據瀏覽器。最大的特點是突出了實時性,可以追蹤交易相關的相應字段的結果,比如地址的追蹤,內部交易的追蹤,未成功交易的信息,被替換交易的信息比如被加速或者取消。

主要的產品有:mempool 瀏覽器、網站 SDK、Gas 平台和模擬平台

  • Mem 瀏覽器,通過 API 形式的可以訂閱 mempool,可以精確到任何一一個協議中,比如 UniswapV3, Sushiswap 的相關交易在 mempool 裡面的表現
  • Gas 平台,通過實時 mempool 數據來預測 gasfee 的工具
  • 模擬平台功能,模擬 mempool 中檢測可被執行的事務,並根據當前塊高度對它們進行模擬,以顯示它們的效果。只要符合 Blocknative 檢測規則的交易進行模擬
  • SDK 平台,各類網站可以通過 javascript 掛接 Blocknative 的 API,來顯示該網站產品的交易執行情況

Blocknative 是專門針對 mempool 進行偵測的數據網站,因為 mempool 的數據和最終區塊數據不會一致,其及時性和其他數據 indexing 比要求跟高。以太坊有一套複雜的系統來管理 mempool 中的交易,Blocknative 提供的字段查詢更加即時和精確。

數據分析層

這一層主要是提供一整套鏈上或者鏈下的數據集或 API,方便於交易員進行分析。

鏈上和鏈下數據:鏈上數據的提供者直有很細分的 raw data,但對於非專業的認識不需要,其實很多用戶需要的顆粒度並不是很高。這樣的選手包括 Coinmetics,Nomics,Glassnode,intotheBlock, CryptoQuant 等。他們本身會拆分每一筆交易,但是提供的產品是一種交易的集合。還有一類是交易所數據的包括:Skew,Kaiko,CoinAPI。他們把各類交易所的交易數據進行集合,打包提供給交易者。包括最近崛起的 Nansen,將標籤的精細度加深,這也代表深顆粒度 / 面向特定領域的數據受到重視。

業務很傳統:這些服務商體量都不大,經過幾年的競爭,上面提到的這些名字已經初步跑出。他們基本都是中心化的項目,估值在幾千萬美元(市場的需求還沒有完全起來)。業務邏輯容易理解,有傳統的可比標的,數據合規做得好是很好的收購標的。

交易所也自然的參與其中:除了集中式的 API 供應,交易所本身也提供大量的數據。這部分是中心化交易所私有的,交易所把這部分數據半免費開放給外部,這屬於整個區塊鏈里最有價值的一類。對於 trader 來講,orderbook 和成交量比較有用,orderbook 類似以太坊的內存池數據。而還有一類就是交易所錢包和鏈上交互的數據,代表了一定的得市場氛圍。

數據的合規性還未受到重視:合規是很多服務商較少充實的層面,不僅公司合規,數據也要合規。Kaiko 的數據廣度好,而且顆粒度精細,擁有把一整套數據進行標準化的方法,滿足傳統機構投資人的合規要求,並符合 FIGI (Financial Instruments Global Identifier®)標準,是認證的 FIGI 服務商。在未來機構進場的趨勢下是一個很大的優勢。

除此以外,還有各類 DeFi 分析面板如 Defi Pulse、Dfilima、DeBank 等,都提供各自擅長的數據集。

數據服務商的價值提升仍然有很大空間

可靠性的提升

區塊鏈數據越來越多是一個不可避免的趨勢。但只有對數據進行分析,得出可操作的見解,才能利用數據的真正價值。區塊鏈技術在數據分析領域扮演着兩個截然不同的角色。首先,存儲在區塊鏈和區塊鏈網絡中的數據本身提供了豐富的信息來源。第二,通過在數據和派生分析模型中添加保證元素,區塊鏈可以使可信的數據分析環境用於多方數據共享。

雖然規模在增加,但是數據質量還沒有受到重視,數據質量即代表數據可用性的問題,數據質量需有以下標準:

  • 一致性-數據沒有矛盾且一致。
  • 可追溯性-數據可審計,變動可追蹤
  • 可用性-能夠被授權用戶和應用程序進行檢索。
  • 合規性-數據符合標準、慣例或一些已經執行的規定
  • 機密性-數據只能被授權用戶訪問
  • 可信度-用戶相信數據的真實性

區塊鏈的數據就有很好的一致性、可追溯性、可用性,但是缺乏合規性、一定的私密性和可信性,尤其是面對監管的時候。用戶相信一些數據,還是需要對方數據交叉驗證,自己去鏈上數據交叉驗證並不容易。這是未來需要解決的。

用戶數據從裡層走向表層

用戶數和用戶行為的爆發還有一個潛在結果,就是當這個級別開始逐漸接近互聯網級別的時候,一些傳統的數據挖掘方法就開始體現出價值。Web3.0 上依然可以提供類似 Web2.0 的服務,而有些數據雖然是公開的,但卻是只能被部分公司 access 到,者給予對用戶行為分析和打標籤的能力。一個比較大的 gap 是,現在用戶的 Web2.0 和 Web3.0 身份還沒有對應上,比如很多項目的用戶,也非常積極的在 Discord 裡面交流,他們和 Web3.0 的身份沒有對應,這裡面其實也會讓很多機會。像 Nansen 就是把海量的錢包進行打標籤,為數據用戶提供真實的鏈上行為分析,尤其是可以看到那些巨鯨的活動。像 Nansen 這樣的,未來針對用戶數據的再挖掘,會讓數據服務上的(服務)再上一個新台階,比如 Zerion、Zapper、InstaDapp 這樣的 DeFi 聚合層,也是可以很好發掘用戶數據的平台。Covalent 也提供了對錢包的查詢功能。

價值的體現

數據的可靠性是一方面(客觀),價值捕獲依靠的是可用性(客觀)和認可(主觀)。數據變得有值錢我們可以從這類項目的融資可以看出,2021 年是數據真正開始體現價值的一年,以上提及的項目今年發生了多次融資:

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

Skew 和 Zabo 直接被 Coinbase 收購,傳統領域的資金也在參與。隨着多鏈時代的開啟,數據量會成倍的增加。多鏈時代對行業是個考驗,但對於數據公司來說,則打開了寶藏之門。The Graph 提供的統計顯示,2020 年 6 月,每天只有 3000 萬的 query,到了 2021 年的 6 月份,每天的 query 達到了 6.75 億。

未來數據市場的驅動力主要有四個:多鏈宇宙(含 Layer2)的成型, 應用的增加和用戶的增加,應用帶來的數據需求的增加(如開發、分析、交易、金融產品的使用等),用戶行為複雜化。但是數據狀態也不會爆炸下去,也會經過一波整合,和 Gartner 發展曲線類似。

深入解讀區塊鏈數據行業:如何產生價值和捕獲價值?

本文鏈接:https://www.8btc.com/article/6672531

轉載請註明文章出處

(0)
上一篇 2021-08-11 07:47
下一篇 2021-08-11 08:32

相关推荐