注:本文出自《How to DeFi:Advanced》第Ⅳ部分第13章。作者包括Lucius Fang, Benjamin Hor, Erina Azmi以及Khor Win Win。

《How to DeFi:Advanced》是CoinGecko出版的DeFi經典讀物《How to DeFi》的進階版。此書可通過官網或亞馬遜購買,也可通過累積CoinGecko 積分換購,要求積分為800個。

為了能更好的傳播DeFi相關知識,巴比特將持續對全書進行翻譯。以下是《第13章:預言機和數據聚合器》的全部編譯內容。

DeFi由智能合約驅動。有時,生成輸出所需的輸入包含未存儲在區塊鏈上的真實數據,如天氣狀況或交通信息。 (因此)需要有協議來彌合這一差距,即將鏈外數據轉發到區塊鏈上,以便智能合約與數據交互。

鏈外信息是DeFi的一個組成部分,應該始終是有效和準確的。虛假的數據將完全誤導一個特定的項目,並給DeFi帶來重大問題。然而,我們如何確保所提供的數據始終是準確的,可以信任的呢?

一些協議旨在通過將數據傳輸和廣播到區塊鏈上而不被操縱或篡改來實現這一目的。這通常是通過投票或共識機制來實現的,在這種機制下,驗證者就最準確的數據達成一致。如果沒有預言機或數據聚合器作為主要的"真相來源",那麼不良行為者便可以利用虛假信息來利用不知情的用戶。

在本章中,我們將仔細研究一些可用的預言機和數據聚合器,如Chainlink、Band Protocol、Graph Protocol和Covalent。我們將看到這些預言機和數據聚合器如何在區塊鍊和現實世界數據之間架起橋樑。

預言機協議

預言機作為鏈外數據和區塊鏈之間的橋樑,或在沒有內部數據饋送以參考鏈上數據的協議之間發揮作用。這些預言機尋求將外部信息轉達給區塊鏈,以便由DeFi生態系統中的智能合約或Dapps進行驗證和執行。

Chainlink

Chainlink是一個構建去中心化預言機網絡的框架和基礎設施,它將任何區塊鍊網絡上的智能合約安全地連接到外部數據資源和鏈外計算。每個預言機網絡都由獨立的、抗女巫攻擊(Sybil-resistant)的節點操作者保證,他們從眾多鏈外數據提供者那裡獲取數據,並將信息匯總成一個單一的值,然後在鏈上傳遞,由智能合約執行。

Chainlink的主要功能之一是通過其價格反饋提供最準確的資產價格,這些價格可以被整合到區塊鏈協議中,用於特定的使用案例。例如,在期權和期貨合約到期結算時,以及資產被用作貸款抵押品時,資產價格非常重要。 Chainlink的服務還包括用於跨鏈代幣的"儲備證明"參考源和用於鏈上游戲應用的可驗證隨機函數。

為了深入了解Chainlink是如何與數據互動和處理數據的,我們將看看Chainlink預言機所使用的將現實世界的數據連接到區塊鏈上的一些方法。

Chainlink 預言機用來將外部數據引入鏈上的最常見方法是去中心化數據模型,這是一個持續更新的鏈上智能合約,代表了一個特定的數據(例如ETH對BTC的價格),可以在一次交易中按需查詢。

基本請求和接收模式則是另一種方法,用戶的智能合約直接從一個或多個Chainlink節點請求數據,並在下一次交易中收到報告的值。這種模式(通常)用於獲取隨機值或更獨特的數據集。在這兩種預言機網絡模式中,Chainlink節點都是以LINK代幣作為服務費來支付的。

任何人都可以成為Chainlink的節點運營商並開始向網絡提供數據。 Chainlink的價格饋送網絡是由像德國電信的T-systems等傳統企業、數據供應商和專業的開發運營公司共同運營的節點來保障的。運營自己的Chainlink節點的數據供應商直接在源頭對其數據進行加密簽名,為智能合約提供更大的安全保障。

2021年4月,Chainlink 2.0白皮書發布,介紹了去中心化預言機網絡的新架構。去中心化預言機網絡的功能類似於第2層解決方案,大大增加了數據傳輸的速度並提升了安全性。此外,Chainlink引入了其超線性質押模型,這是一種加密經濟安全機制,激勵節點提供準確的預言機報告,並大大增加了惡意行為者的攻擊成本。

這就是對Chainlink和去中心化預言機網絡的快速概述!你可能已經註意到:本書介紹的一些頂級DeFi協議,如Synthetix和Aave,也是由Chainlink驅動的。

Band協議

與Chainlink類似,Band 協議是一個跨鏈預言機平台,將智能合約與外部數據和API連接起來。與Band Protocol集成的去中心化應用通過Band協議的智能合約數據點接收數據,而不是直接從鏈外預言機處接收。

Band協議的一個獨特之處在於,它利用BandChain,一個獨立的區塊鏈來處理和轉發信息,可以處理成千上萬的交易。數據可以通過Cosmos的區塊鏈間通信(IBC)協議發送到其他區塊鏈上。

源自Band協議的數據由社區策劃和驗證,確保它們足夠可靠,可供Dapp用戶和開發者參考。這些數據源可以使用不同的統計方法,如平均數、中位數或模型,以及任何額外的數據清理方法,如歸一化或時間加權平均數,從各種鏈上饋送和數據聚合器上進行匯總。

為了從Band協議中獲取數據,請求者需要指定幾個參數:請求者想要調用的預言機腳本ID,預言機腳本的參數,以及需要的驗證者數量。一旦請求被提出並在BandChain上被驗證,預言機腳本將開始執行的第一階段,即所謂的準備階段,發出滿足請求所需的數據源。

驗證者將根據隨機化的權重算法被選擇來處理請求,嘗試從所有指定的來源檢索所請求的數據,並將原始數據報告和檢索結果提交給BandChain進行確認。

一旦最低數量的驗證者成功提交了他們的報告,BandChain將進行第二階段,也被稱為聚合階段。所有收集到的報告都會被編譯成一個單一的結果,存儲在BandChain上,該結果可以被訪問並發送給其他區塊鏈以供將來使用。

BandChain網絡依賴於多個參與者,其中最重要的是驗證者和委託者。質押最多的BAND代幣的前100名驗證者負責在BandChain網絡上創建和確認新區塊。另一方面,委託者可以將他們的BAND代幣委託給任何驗證者以獲得區塊獎勵。

只要有要求,BandChain上的驗證者就有責任從指定的數據提供者那裡獲取數據。驗證者在經濟上被激勵提供準確的數據,因為提供錯誤的數據將導致削減或沒收已抵押的BAND代幣。隨後的錯誤信息計數將導致更低的信任分數和用戶數量,進一步降低所投代幣的價值,使損失更加嚴重。

除此之外,數據請求過程和驗證人的執行情況都是公開的,可供所有人查看和驗證,這進一步降低了傳輸虛假或篡改數據的風險。大約自2020年10月預言機功能在BandChain主網上線以來的前六個月,驗證者就已經提供了約430萬個數據請求。

要成為BandChain的驗證者,你需要擁有一些BAND代幣或讓其他用戶將BAND代幣委託給你。驗證人的選擇是隨機的,使用的是基於質押代幣份額的質押加權算法。比例越大,被選中的機會就越大。

數據聚合器

如果說預言機為現實世界的數據與區塊鏈架起了橋樑,那麼數據聚合器則幫助用戶讀取數據。這些協議將區塊鏈數據編譯成簡化格式,使項目和個人用戶更容易地創建他們的分析儀錶盤。

The Graph 協議

The Graph是一個去中心化協議,用於查詢和接收區塊鏈的數據,如Ethereum、Polkadot和Solana。雖然通過讀取區塊鏈上的合約地址直接檢索並回答查詢比較簡單,但具有更高的特異性和粒度的數據卻較難找到。 The Graph通過將區塊鏈數據索引到"子圖",或可以使用標準GraphQL API進行查詢的開放API來解決這個問題。

The Graph的工作原理是根據子圖的描述(也稱為子圖清單)對不同類型的數據進行良好的索引。清單定義了相關的智能合約和合約的關鍵事件,以便關注。此外,它還會找出如何將事件數據映射到The Graph的數據庫中的存儲數據。

一旦創建了子圖清單,The Graph CLI會將其存儲在InterPlanetary文件系統(IPFS)中,這是一個去中心化的存儲解決方案,並開始為子圖索引信息。

下面是一個關於數據如何被Graph節點檢測和存儲的基本流程。

去中心化的應用程序(Dapps)將智能合約交易的數據添加到區塊鏈中。智能合約在處理交易時發出事件。 Graph節點不斷掃描區塊鏈上的新區塊和子圖清單的數據。 Graph節點找到事件並運行提供的映射處理程序。 WASM模塊生成並更新存儲在節點內的數據。 Dapps使用GraphQL端點來查詢Graph節點的索引數據。 GraphQL查詢在被dApp檢索之前由節點翻譯。 dApp通過其用戶界面顯示這些數據,以便在區塊鏈上發布新交易時作為參考。

Graph被DeFi和Web3領域的許多dApps使用,包括Uniswap、Aave、Balancer和Synthetix。它為服務數據密集型協議提供了適當的基礎設施。截至2021年第一季度,大約16000名開發人員已經部署了超過10,000個子圖,在不到一年的時間里處理了超過1000億次查詢。

Covalent

Covalent是一個區塊鏈數據提供商,它提供了一個統一的API,用於訪問似乎無盡的鏈上數據行。來自不同區塊鏈的代幣餘額和錢包活動的詳細信息可以使用單一的API進行檢索,使開發者更容易創建分析儀錶盤或收集關於區塊鏈活動的見解。

Covalent的功能似乎與The Graph很相似,但它在一些方面有所區別。例如,The Graph需要將數據的子集轉換為子圖,然後才能進行查詢。與此同時,Covalent將對區塊鏈進行整體索引,從而為用戶提供更多的細化數據。此外,Covalent已經擴展到以太坊之外。截至2021年4月,Covelant支持其他四個區塊鏈的數據,包括Fantom、Binance Smart Chain、Polygon和Avalanche。

來源:https://www.covalenthq.com/blog/beginners-guide-to-covalent/

要訪問Covalent API,你需要首先通過在Covalent上創建一個賬戶獲得一個免費的API密鑰。 Covalent API有兩個等級--A類和B類。

你可以使用A類端點來檢索區塊鏈數據,這些數據是與網絡無關的。簡而言之,這是適用於所有網絡的一般數據,例如餘額、交易和代幣持有人。另一方面,你可以使用B類端點,從區塊鏈上的特定協議中返回值。例如,你可以從Uniswap或PancakeSwap查詢數據,這兩個去中心化的交易所都隔離在各自的網絡上。

來源:https://www.covalenthq.com/docs/api/

值得一提的是

● DIA

DIA是Decentralized Information Asset(去中心化信息資產)的縮寫,是一個開源的預言機,為許多DeFi應用提供數據。它為流行的DEX(如Uniswap和Sushiswap)在其他鏈上(如Binance Smart Chain和Polygon)提供價格饋送。

● API3

API3通過去中心化的API或dAPI向項目提供信息。數據饋送由一個包括項目合作夥伴和行業專家的DAO監督。他們還允許dAPI用戶在API不能如期工作的情況下獲得鏈上保險。

相關風險

隨著越來越多的協議開始依賴在最惡劣的環境中經過實戰檢驗的長期產品,同樣重要的是要記住,這些產品可能不是完全萬無一失的。如果黑天鵝事件發生,預言機可能無法有效地提供數據,並導致不准確的決策。

在2020年3月,也就是所謂的黑色星期四,Chainlink和MakerDAO的"Medianizer"等預言機就未能迅速更新其價格饋送,導致價格嚴重錯誤。 MakerDAO的價格故障啟動了一連串的災難性事件,導致CDP所有者損失了價值超過800萬美元的ETH抵押品。

總結

預言機和數據聚合器構成了許多DeFi協議的主幹。對於尋求改變數據提供遊戲的未來項目來說,在查詢和轉發數據方面,極快的速度和準確性是最重要的。目前,Chainlink在這個領域占主導地位,有400多個集成,包括200多個DeFi項目。

然而,DeFi領域一直處於創新的前沿,更好的預言機和數據收集機制經常出現。最終,DeFi的目標是擁有一個可靠的、內部安全的、受到良好保護的、不受負面外部因素影響的預言機服務。此外,已經建立並不斷改進的強大的索引協議將有助於為區塊鏈上的用戶行為帶來更多的清晰度和洞察力,使項目能夠提供更好的產品和服務,使產品與市場更加匹配。

推薦閱讀

關於Chainlink的文件和其他信息 https://docs.chain.link/docsChainlink白皮書 https://link.smartcontract.com/whitepaper什麼是Chainlink,為什麼它在加密貨幣世界中很重要? https://finance.yahoo.com/news/chainlink-why-important-world- cryptocurrency-110020729.html關於Band Protocol的文件https://docs.bandchain.org/什麼是Band Protocol以及如何購買BAND https: //decrypt.co/resources/what-is-band-protocol-defi-oracle關於The Graph協議的文件https://thegraph.com/docs/The Graph - 鏈上谷歌? https://finematics.com/the-graph-explained/關於Covalent API的文件https://www.covalenthq.com/docs/api/#overview對"Covalent區塊鏈數據API "的作用的簡要介紹https ://newspi.site/heres-a-quick-look-at-the-role-of-covalent- blockchain-data-api in-terms-of-data-gathering-e-hacking-news/‌關於Covalent Network啟動的博客文章https://www.covalenthq.com/blog/covalent-network-blog/