Web3.0應用離完全去中心化只差一個The Graph
区块律动BlockBeats
2021-02-19 05:31
本文约3474字,阅读全文需要约14分钟
釋放Web3.0 世界的無限可能。

編者按:本文來自區塊律動BlockBeats(ID:BlockBeats),Odaily經授權轉載。

編者按:本文來自

區塊律動BlockBeats(ID:BlockBeats)

區塊律動BlockBeats(ID:BlockBeats)

,Odaily經授權轉載。

編者按:本文來自

區塊律動BlockBeats(ID:BlockBeats)

區塊律動BlockBeats(ID:BlockBeats)

,Odaily經授權轉載。

編者按:本文來自

區塊律動BlockBeats(ID:BlockBeats)

區塊律動BlockBeats(ID:BlockBeats)

,Odaily經授權轉載。

只要我們在線上有任何行為產生,就無時無刻不在生成數據。每年年末,朋友圈裡曬出了支付、聽歌、外賣等各式各樣的年度列表,都是我們與互聯網交互的痕跡。

這也是API 出現的原因,Application Programming Interface,顧名思義,是能夠讓應用間交換數據的軟件對軟件頁面。這個看起來似乎是程序員專屬的名詞,其實與日常生活息息相關。

比如,我們使用微信傳輸信息,或是通過行情軟件看盤,都在通過手機應用連接到互聯網,然後通過互聯網與數據庫進行交互。數據庫負責對所需數據進行解鎖分析,並完成指令後將我們所需的信息以我們能夠讀懂的方式傳輸回至手機上。

在阿里、美團這些互聯網巨頭的世界裡,人們已經習慣了在Web2 的世界中用API 節省時間。而Web3 的世界裡,交互同樣會產出數據,而Web3 中的API,也同樣重要。

Web3 世界中的API

資本已經嗅到了這片藍海。

Nansen 拿下了Mechanism Capital 和Skyfall Ventures 領投的120 萬美元種子輪融資,Dune Analytics 獲得了Dragonfly Capital 領投的200 萬美元種子輪融資,還有像Glassnode 這樣的API 提供商早已成為行業最常用的數據提供商。

在區塊鏈系統中,數據被加密並整合入區塊中隨後串聯成鏈被記錄在分佈式的節點中,上鍊後的數據即成為了極難被更改的歷史。通常使用鏈上數據是十分困難的。

首先鏈上數據被儲存在成千上萬個節點所組成的分佈式網絡中,從數據讀取角度來看,讀取分佈式數據庫的難度是遠遠大於中心化數據庫。

其次,鏈上數據是經過不同程度加密的,這使得鏈上數據變得十分難被解析。不光如此,由於鏈上數據是由區塊依次排列的,通常來說查找鏈上數據的方式是從整條鏈的第一個區塊開始搜尋,按照區塊順序依次查找,這樣的查找過程是十分低效的。

由於以太坊是鏈上應用最成熟的生態,所以我們以以太坊鏈上數據為例進行分析。在The Graph 沒有出現前,通常想要獲取以太坊鏈上數據的主要方式有兩種:使用Web3.js/ethers.js 直接從以太坊節點取得或搭建中心化服務器對數據進行整理。

然而上述兩種解決方案各有弊端。若選擇自架服務器,需要大量硬件資源(運行Archive Node)成本、難度較高,且服務器維護開銷極大。

若使用Web3.js/ethers.js 從以太坊節點直接獲取鏈上數據,節點對請求的回應時間較長、效率偏低,且若使用似於Infura 的節點服務商,應用還會面臨單點失效的風險。就在2020 年11 月11 日,由於Infura 沒有運行最新版本的Geth 客戶端,某些特殊交易觸發了老版本客戶端的Bug,最終導致許多使用Infura 的應用暫時宕機。

當然,業內也有像Glassnode、Nansen 以及Dune Analytics 這樣的專業數據API 提供商,他們背後都有著頂級資本的支持,這也變向證明了鏈上數據的價值以及鏈上API 的重要性。

然而中心化服務商自然遺存Web2.0 時代的缺陷,所有使用中心化服務商產品的用戶在未來都有被尋租的風險。以中心化的形式解決Web3 中出現的問題是不可取的,也讓去中心化應用並非完全去中心化,若想完全解決問題,我們需要一個去中心化數據中間件。

去中心化數據中間件The Graph

The Graph 作為搭建完全去中心化應用的基建,主要針對鏈上數據查詢及去中心化網絡的API 層以解決開發者對應用的性能和去中心化的權衡問題。也許很多人還不知道,CoinGecko、CoinMarketCap、Messari、Delphi Digital、Zapper、Uniswap、Synthetix、PoolTogether、Livepeer、mStable,以及Balancer 等眾多知名項目早已開始使用The Graph 提供服務了。

The Graph 節點,在網絡中扮演數據索引器的角色,也是網絡的核心組成件,為網絡提供索引及查詢服務。正如PoS 網絡中的節點,節點運行者需質押GRT 代幣,在獲得查詢費用的同時還會獲得網絡的增發激勵。 Delegator 可以在不運行節點的情況下將GRT 質押給其信任的節點上與節點一同共享收益。

Subgraph 定義了不同應用的數據查詢邏輯,由於任何人都可以編寫不同應用的Subgraph 所以質量存在差異。 The Graph 節點會檢索質量最高的Subgraph 並使用其查詢服務。 Curator 是保證Subgraph 質量的關鍵,Curator 會將GRT 代幣質押給其認為質量最高、會被調用頻次最多的Subgraph 上並共享其查詢費用。

通過Delegator 以及Curator 的質押,The Graph 網絡中形成了索引器市場和Subgraph 市場,市場競爭保證了The Graph 所提供數據的質量。

全員皆可使用的Subgraph《On-Chain Data: A New Framework to Evaluate Bitcoin》所有應用都在無時無刻地產出著各種數據,正如上文所說,不同應用的Subgraph 為檢索節點梳理出了最常用的數據獲得路徑。在撰文時,The Graph 網絡中已經超過8000 個不同的Subgraph。

我們以當前交易量最大的去中心化交易平台Uniswap 為例,在下圖中可以看到,Uniswap 的Subgraph 中已經可以追踪合約的當前狀態和歷史數據及價格,包括交易對的匯總數據、各交易對及代幣的單獨數據、合約內轉賬數據、流動性提供者數據等等。

区块律动BlockBeats
作者文库