今天我們講下市值排名在23左右的link,目前市值大概在40億美金左右。它是我目前看到令我很興奮的一個項目,因爲他打通了現實世界和區塊鏈世界,給現實世界通往區塊鏈世界架設了一座橋樑,這不說在區塊鏈的世界中跨了一層樓,那至少也是半層樓了。後面我具體給大家解密下他到底做了一件什麼事情。

 

先給大家簡介一下,這期內容可能會比較多,Chainlink是在2017年推出的項目,目前已經上線了以太坊主網,和質押協議,ChainLink提供讓區塊鏈的“智能合約(smart contracts)”調用外部數據的中間件,給合約制定者們提供全網絡的數據庫,或者稱其爲一個可靠的外部數據庫。

 

打開它的官網,他的solgan是把世界連接到區塊鏈,他的目標是以工業化的web3服務標準把世界的人,生意和數據連接到web3世界中。

 

接下來,我們看下他的白皮書,這也是我目前看過最長的白皮書,100多頁。這裏我們得提到爲什麼會有預言機這個東西。

 

我們知道在區塊鏈中它是一個封閉的系統,因爲每一筆交易都是由網絡中的節點發起的,然後寫入區塊鏈的賬本中,這當然沒有問題,因爲區塊鏈是去中心化的,而且是有很多節點來維護這個賬本的,當然pow的機制也讓很多人花了很多金錢在維護他上,所以不存在雙花,不履約啊等等,所以區塊鏈1.0中沒有交易對手風險,就是對手跑路不履約的風險。

但是區塊鏈2.0,出現了智能合約,智能合約需要數據(例如航班出發信息)來執行命令,但現實世界協議和大部分數據並沒有存儲在區塊鏈上。智能合約也不能獲取外部數據,因爲區塊鏈就像黑盒一樣,沒有內置的與外部世界連接的能力。這意味着資產價格、體育比分、物聯網(IoT)傳感器、網絡數據、企業系統和衆多其他現實世界的數據集根本無法在區塊鏈上使用,這嚴重限制了開發人員可以創建的智能合約類型。比如在沒有飛行數據的情況下,如何制定飛行保險協議?還有比如你指定了一個交貨合約, 別人把貨物交給你,你收到貨後,把錢自動打到對方賬戶,但是智能合約怎麼判斷你有沒有收到貨?智能合約是一段編程代碼,他沒法和現實世界交互,就是它無法獲取鏈下數據。所以說智能合約的出現,又把競爭對手風險帶入了進來。

所以這就需要一個東西叫預言機(oracle machine),它可以把鏈外數據寫入區塊鏈內。除了應用最廣泛的價格數據以外,還包括一些天氣數據,體育比賽數據,股票市場數據,交通數據,甚至包括總統選結果等數據。

 

除了提供數據,預言機廣義上的功能也包括提供隨機數和作爲觸發器實現智能合約執行,它們都算是鏈下的工具來和鏈上的合約進行交互。

但是預言機還有個問題,就是預言機分爲中心化預言機和去中心化預言機,如果是中心化預言機有一個很大的問題是它存在單點失敗的風險。用戶在區塊鏈上部署智能合約,本意是希望區塊鏈網絡中衆多的節點來保證合約的安全性跟公平性。在這個前提下,對於外部數據,合約所依賴的數據卻是通過一箇中心化服務來輸入,就會導致整體的安全性降低。而且這也很不區塊鏈,因爲這和中心化的東西沒有區別。而且中心化的預言機,一旦網絡出現故障,就會造成業務終端,用戶數據丟失等等,這些都是很嚴重的問題。

所以現在需要一個去中心化的預言機,那麼它就是chainlink。

 

Chainlink是一個去中心化的預言機網絡,其開發目的是允許智能合約以高度安全和可靠的方式自動在區塊鏈和外部系統之間傳輸數據。在網絡中有很多預言機節點,每個預言機節點都可以通過自己的渠道去獲取數據,然後在去中心化網絡中對獲得的數據進行共識。這裏的共識方式並不是 BFT,POS,POW 這個意義的共識,而是爲了獲取可靠的數據,比如說取平均數;或者類似於體育比賽裏面,去掉一個最高分,去掉一個最低分,剩下的取平均數或者中位數,現在 Chainlink 採取的是中位數的共識方式。

 

Chainlink 把預言機通過去中心化的網絡,在技術上避免了單點失敗的風險。如同以太坊節點,當一個節點中斷或者退出時,不會影響到整個網絡的安全性和可用性。另外在這個數據上,由於採用多種數據源,所以不會被一個單方面數據源所操控,充分地利用了去中心化的優勢。

ChainLink 有三個關鍵組成部分;鏈上預言機、鏈下預言機和ChainLink 節點。

 

ChainLink 的鏈上預言機是將信息請求與適當的鏈下預言機連接起來的智能合約。這些合約用於聚合數據、檢查預言機的信譽並匹配正確的請求。

 

鏈下預言機是負責向區塊鏈提供信息的預言機。它們相當於其他區塊鏈中的驗證者/礦工。這些預言機抵押 LINK 以充當預言機,並獲得 LINK 作爲執行此服務的回報。ChainLink 通過相互驗證數據並用錯誤數據懲罰預言機來保持預言機的誠實。它還向衆多驗證者發送信息請求,以確保其準確無誤。

 

Chainlink目前推出了data feeds ,VRF(可驗證隨機數),合約自動化執行等等業務。

1.在 Chainlink Data Feeds 中,不同的預言機節點,通過自己的數據提供商獲取價格數據,然後通過預言機網絡對多個數據聚合後。比如一個 token 價格,A 節點報價是 $400,B 節點報價是 $399,C 節點報價是$401,預言機節點將所有的報價進行共識後,會把價格中位數 $400 傳給鏈上的智能合約,完成此次喂價。

 

Data Feeds 業務流程

Data feeds 的業務流程涉及兩個參與方,第一個是數據提供商,它們會使用自己的數據,或通過第三方獲取相應的數據,之後輸入到 Chainlink 預言機網絡中的一個節點。另外一個參與方就是預言機節點,每個節點可以有一個或者多個數據提供商,每個提供商輸入的數據都會在預言機網絡裏中進行共識,然後網絡中會隨機選取一個節點,由該節點提交數據到鏈上。

 

Use case

最常見的一個應用場景是借貸協議,比如 Ethereum 上的 AAVE,Compound , BNB 上的 Venus。當用戶在 AAVE 上存入一個 BTC 然後貸出來 USD 時, AAVE 需要知道 BTC 和 DAI 的兌換比例,才能決定給用戶貸多少 USD。

 

第二個應用場景是合成資產,比如Synthetix(SNX),它可以讓用戶去交易一些主流資產,比如美股股票。用戶合成資產時,協議肯定需要知道資產價格,這個價格就是通過 Data Feeds 獲取的。

 

第三個應用場景是抵押型 Stablecoin 。抵押型 Stablecoin 要發行的話,需要抵押相應的資產。Stablecoin 的協議需要通過 Data Feeds 獲取資產的價格後,纔可以計算得出抵押資產的總價值,根據總價值決定 Stablecoin 的發行數量。

 

第四個是資產管理和衍生品的交易平臺。像期權、期貨交易平臺,它們對價格都很敏感,需要提供穩定、準確的價格數據, Data Feeds 提供的數據完美的滿足了它們的業務需求

2.Chainlink Keepers 是的一個去中心化合約執行服務,可以實現鏈上合約的自動化執行。

 

開發團隊可以註冊一個 UpKeep,每個區塊中都會去檢測一下監控的的合約狀態,如果符合預設條件,就調用函數,當然也可以不設置預設條件(相當於條件判斷結果恆等於True),根據時間來調用特定合約中的特定函數。

 

Chainlink Keepers 可以在不需要輸入的情況下,不斷地根據預設的邏輯去檢測智能合約的狀態,如果滿足的話就執行,不滿足的話,等待下一次檢測。

 

Use case

第一個應用是自動複利。很多 DeFi 應用會支付利息給存款用戶,用戶如果不提款,就相當於是單利,簡單的說就是存一年給一年的利息。如果用戶每隔一段時間將產生的利息提出來再存入,進行復利投資,就可以將收益最大化。這提取和存入的操作,是一個按照時間而定的固定操作,可以通過 Keepers 去完成操作,比如 Beefy,Alchemix,SNX 等項目都是通過 Keepers完成這種複利投資。

 

第二個應用是借貸平臺的清算 ( Liquidation ),如 AAVE 和 B-protocol。當用戶在協議中的質押資產價格下跌,跌到警戒線以下,協議就需要把抵押物清算掉以避免進一步的損失。按照這個場景,checkUpKeep 函數裏面可以寫標的物拍賣的清算價格,performUpKeep 寫具體的清算邏輯。checkUpKeep 返回爲 Ture 時,Keepers 自動執行 performUpKeep 裏面的對質押資產進行清算。

 

第三個應用是 DEX 限價單(Limit order)。DEX 中使用的自動做市商(Automatic Market Maker:AMM)不同於中心化交易所的訂單簿模式,沒有辦法進行限價單。如果想用 limit order,需要自己編寫邏輯,當通證價格低於某一個閾值時,去購買或者賣出,也就是用 Keepers ,在 checkUpkeep 裏寫判斷邏輯,在 performUpkeep 裏寫執行邏輯。

 

第四個應用是流動性管理和跨鏈 NFT 鑄造,比如在 Polygon mint 一個 NFT(因爲以太坊主網gas比較貴), 得到 ID 或者 features 屬性值 ( 到底是稀有還是不稀有 ),這個數值可以通過 relay 寫回到主網,幫助用戶實現跨鏈鑄造 NFT。

第五個應用是動態 NFT。它的邏輯是區塊鏈上的 NFT,會隨着現實世界中相關屬性的變化而變化。比如天氣NFT,外界下雨 NFT 就顯示下雨,外界很熱 NFT 就顯示一個太陽。從外部獲取數據,根據所獲取的數據做出一些改變,這裏就會頻繁使用 Keepers。

 

3.Chainlink 的第三個去中心化產品是可驗證隨機數 VRF。在VRF出現之前,主流的生成隨機數的方法是根據當前區塊中的交易生成 Hash,使用這個 Hash 作爲種子生成隨機數,由此引出了問題。礦工可以選擇性打包交易,得到他們想要的隨機數,雖然成本比較高,但當利潤回報很高時,礦工作惡的可能性也會相應提高很多。隨機數的生成,同樣是一個不確定的操作,因爲隨機數的生成是不可預知的,所以不同的節點,在執行時得到的隨機數算法的時候,得到的結果肯定不一樣,因此會造成交易執行結果不一致性從而無法達成共識。

 

通過外部預言機輸入可驗證的隨機數,讓鏈上智能合約只接受並且驗證隨機數,就可以保證交易執行的一致性。同時還可以實現隨機數不可提前預知,並且可以通過證明保證其安全性

 

在 Chainlink VRF 中,隨機數是由預言機網絡生成。用戶傳入一個種子給 VRF 合約,預言機 VRF 節點會使用節點私鑰和種子生成一個隨機數和 Proof ( 證明 ) 返回給 VRF 合約,VRF 合約 Proof 驗證隨機數的合法性,如果通過驗證,就會把隨機數返回給用戶。跟單純鏈下生成隨機數不同的是,Chainlink VRF 生成的隨機數可以通過 Proof 證明它是根據特定橢圓曲線算法算出來的,具有可驗證性、獨特性。

使用場景

Chainlink VRF 目前最大的應用場景是 NFT Mint。NFT 需要創建、分發,創建的時候,每一個 NFT 的稀有度不同,分配的用戶不同。根據業務需要,有可能還要設置白名單,白名單裏面的 holder 空投不同的 NFT。比如無聊猿猴項目,空投 serum 血清給 Holder ,血清的隨機空投就是用的 VRF 隨機數。

 

另一個應用是抽獎。比如一些 IDO 平臺,用戶購買通證,然後去質押通證,平臺會贈送白名單參與抽獎,獎勵的大小就可以使用 VRF 進行選取。

 

ChainLink 是最令人興奮的區塊鏈之一,因爲它打通了現實世界和加密世界,這是一個非常棒的解決方案,特別是現在我們也在很強調IOT物聯網,所以隨着物聯網的發展,隨着區塊鏈行業的發展,未來我們社會中可能將會有更多的區塊鏈應用,去中心化的體彩系統,去中心化的保險業務,去中心化的二手車業務等等,所以這個賽道確實值得關注。如果本期節目同學們認真聽了,且聽進去了,那麼你們應該知道該怎麼做。好了本期節目就說這麼多。