ChainLink、預言機與兩個世界的連接

ChainLink、預言機與兩個世界的連接

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

原文標題:ChainLink、預言機與兩個世界的連接

互聯網誕生之後,人們有現實世界,也有了互聯網世界。如今,人們又有了一個新的世界:加密世界。這是區塊鏈帶給人們的禮物。

在過去二十多年,創新者們不斷融合著現實和互聯網世界,兩者相互融入,難以分開。在比特幣誕生後十多年後,加密世界也加快了跟現實世界交互的腳步。從藍狐筆記的角度,加密世界和現實世界的融合會是未來二十年最重要的發展線之一,可以與人工智能和物聯網並駕齊驅。

加密世界vs 現實世界

純粹的加密世界跟現實世界有不同的運行邏輯。

加密世界運行在鏈上,通過共識機制、密碼學以及分佈式節點等來保證其不可篡改性,實現不依賴於第三方的信任。智能合約運行在鏈上,同樣,沒人可以修改其代碼,也無法干擾其運行,這包括智能合約的創建者。在智能合約中,其執行邏輯是,如果發生了x,那麼就會執行y,這裡的結果是確定性的。智能合約可以自我驗證自我執行,它代表了加密世界的可信賴。

而在現實世界中,很難有全局的確定性共識,充滿各種不確定的可能,例如應用是可以被修改、被終止的。在這種情況下,加密世界和現實世界的融合存在挑戰。互聯網世界可以將現實世界的部分搬到網上,例如將報紙雜誌搬到網上,成為新媒體;將各種線下的零售店搬到網上就變成了網店。而加密世界跟現實世界的融合更復雜。

那麼,兩個世界如何溝通?有沒有可能溝通?這就是預言機存在的意義。藍狐筆記之前介紹了DeFi領域中的交易協議Uniswap和Kyber。今天藍狐筆記介紹DeFi中的預言機領域。

預言機連通加密世界和現實世界

加密世界和現實世界的溝通需要預言機。在藍狐筆記看來,預言機是連接兩個不同世界的“中間件”。

如果加密世界僅僅滿足於貨幣類應用,那麼,僅僅通過加密世界內部也可以完成,例如比特幣的交易。但,如果想要更豐富的服務,想要滿足更多的需求,想要將智能合約的潛力發揮到最大,那麼,很有必要為智能合約引入來自現實世界的數據。

有人會問,為什麼區塊鏈不直接獲取這些數據?無法直接獲取。上面也提到過,因為這兩個世界的運行邏輯不同。區塊鏈上的數據都是通過共識機制達成的全局共識,而現實世界的數據並非都是共識的結果。兩個世界的連通需要可靠的預言機。通過預言機提供可信的數據,轉換成為區塊鏈可讀可用的數據。

加密世界需要哪些現實世界的數據?從目前發展看,迄今為止,需求最大的是DeFi領域,DeFi中MakerDAO、Compound、Synthetix、dYdX等都需要預言機提供的價格數據流服務。

隨著智能合約的發展,會有更多的場景需要鏈外的數據。例如合成資產智能合約,可能需要來自於納斯達克、紐交所的價格數據流;房產智能合約,可能需要來房地產市場的數據流;保險智能合約,例如航班延誤險需要航班活動的數據流;貿易金融智能合約,可能需要獲取GPS相關數據等。此外,隨著人工智能和物聯網的發展,智能合約對現實世界數據的需求只會越來越大。

除了將現實世界數據引入加密世界,加密世界的數據也可以進入現實世界。例如從鏈上向鏈下輸出數據,以支付消息的形式被路由到支付網絡等。

中心化預言機並不契合區塊鏈

為了滿足區塊鏈智能合約對鏈外數據的需求,有的智能合約採用了或採用過中心化的預言機。中心化的預言機存在什麼問題?它中心化的控制方式,容易出現單點失敗的故障,一旦出現停機,會帶來損失。此外,不管是主觀操作,還是客觀被黑客攻擊,都存在被篡改的可能。即使通過公證、品牌、質押資金等也無法徹底解決潛在安全問題。

在現實中已經發生過此類問題。Synthetix曾在2019年6月遭遇過重大的預言機問題。其Synthetix Oracle,負責給Synthetix智能合約提供外部數據。它在6月25日引入了錯誤價格數據,該數據報告的KRW(韓元)價格是實際價格的1000多倍。這一錯誤數據被一個交易機器人利用,該交易機器人所有者藉此兌換了3700萬的sETH,價值超過10億美元。最後Synthetix跟該交易機器人的所有者協商解決,在支付一定的漏洞賞金之後,將sETH恢復。也就是說,在這個過程中,Synthetix的中心化預言機錯誤提供了KRW價格,從而導致悲催後果。

如果中心化預言機容易出問題,那麼,為了保證價格等數據不會出錯,採用人工輸入的方法是不是可行?人工輸入的預言機,在預測市場可以看到。對於人工輸入方,需要抵押資產,可以防止一定程度的作弊,且通過眾包方式,有一定程度分散化。不過,人工輸入的方法,成本較高、效率較低、無法即時反饋,不具有可擴展性。

安全是預言機的關鍵

對預言機來說,中心化或去中心化不是目的,其目的是要實現安全的可靠的數據送達服務。(從藍狐筆記的角度,“去中心化”這個詞並不是很好的表達,“分散化”或“分佈式”是更恰當的描述,因為從目前實踐來看,沒有真正的去中心化,只是節點更多更分散而已)

智能合約的代碼邏輯執行中,一旦發生了X,就會觸發Y。這種方式保證了可信賴、透明;但是,如果輸入的數據是錯誤的,那麼,也會帶來損失。就像上面提到的Synthetix案例一樣,由於其輸入的韓元價格數據是正常價格的1000多倍,導致產生嚴重後果。Synthetix是合成資產交易平臺,用戶通過抵押SNX代幣生成合成資產。合成資產可以是BTC、ETH這些加密貨幣,也可以是特斯拉股票、大宗商品等。不管是加密貨幣還是股票、黃金,Synthetix的合成資產交易都需要精確的資產價格數據流。一旦價格數據出現問題,後果不堪設想。

同樣,MakerDAO協議中用戶使用ETH進行抵押,可以生成穩定幣Dai,其抵押率在150%以上,假如輸入的ETH數據是惡意的,它導致大多數用戶資產被清算,且還有14%的罰金。如發生這種極端情況,MakerDAO系統將無法運行下去。同樣,Compound、dYdX等DeFi項目也是如此,都需要預言機提供正確的價格數據流,以保證其系統安全。

可以說,預言機是DeFi領域大多數項目的共同問題(Uniswap除外,它無須預言機提供價格數據服務)。如果沒有安全的預言機,DeFi大廈就沒有穩固的地基,也無法擴展壯大。目前DeFi已經鎖定超過6.8億美元價值的資產,且還在持續發展中,如果預言機出問題,幾乎是不可承受之重。

既然中心化預言機有潛在安全問題,那麼,如何獲得更安全的預言機服務?關於這一點,ChainLink早在2017年就提出來了,不得不說,這在當時是具有遠見卓識的,畢竟2017年DeFi還沒有發展起來,預言機的需求也不明顯。

ChainLink預言機如何連接兩個世界

上述可以得出兩點:一是,預言機是加密世界和現實世界實現溝通的不可或缺的“中間件”。這決定了其重要地位,會有越來越大的市場規模。二是,預言機安全非常重要,它是很多智能合約,尤其是DeFi大廈的基礎構建塊,安全是其安身立命之本。

那麼,ChainLink是如何來連接加密世界和現實世界的?

ChainLink、预言机与两个世界的连接

(ChainLink的ETH/USD價格數據流,21個節點提供服務)1.ChainLink預言機的工作流程

ChainLink預言機的工作流程大致有如下幾步:

  • 用戶智能合約(USER-SC)從鏈上發出請求
  • ChainLink智能合約(CHAINLINK-SC)為預言機記錄一個事件
  • ChainLink Core接到事件,並路由任務,給到適配器
  • ChainLink適配器向外部API發出請求
  • ChainLink適配器處理響應,並將其返回給Core
  • ChainLink Core將數據報告給ChainLink智能合約(CHAINLINK-SC)
  • ChainLink智能合約彙總響應,加權得出一個最終反饋,並將其發送給用戶智能合約
ChainLink、预言机与两个世界的连接

ChainLink目前以太坊為主構建,未來也會支持其他智能合約平臺,例如跟物聯網公鏈IoTeX和分片公鏈Harmony等都有合作。

為了實現上述工作流程,ChainLink從架構上可以分為兩個部分:鏈上部分和鏈下部分。

*ChainLink的加密世界部分

ChainLink智能合約響應用戶智能合約的數據請求或查詢。它包括三個組成合約:聲譽合約、訂單匹配合約以及彙總合約。其中聲譽合約記錄的是預言機服務提供者的歷史表現;訂單匹配合約通過SLA(Service Level Agreement,服務水平協議)為預言機需求者提供選擇,例如價格水平、預言機數量、聲譽等,並根據需求確定預言機服務提供者;彙總合約彙總不同預言機的響應,並加權計算出最終結果。

總的來說,ChainLink鏈上的工作流有三步:一是,選擇預言機;二是,報告數據;三是,彙總得出結果。

用戶選擇預言機主要是通過指定SLA提案,可以選擇查詢參數、預言機數量、聲譽情況、價格水平等。根據這些,可以進行排序、過濾,最後作出選擇。確定SLA提案之後,它會被提交到訂單匹配智能合約,滿足SLA要求的ChainLink節點選擇是否對提案出價。如果預言機服務提供者出價,則會被提交至合約,同時附上質押金,如有不當行為,會被沒收。一旦SLA接收到足夠多的符合要求的出價,出價窗口關閉,並從這個出價池選擇最終的預言機服務者。沒被選上的則其押金會被退還。

一旦執行SLA任務的預言機被選定,接下來就是鏈下的預言機執行協議,並向鏈上報告數據。當預言機合約收到預言機提交的結果後,這些結果會被反饋到彙總合約。彙總合約計算加權結果,得出最終的反饋答案。加權答案會返回給用戶智能合約,從而觸發特定功能。同時,每個預言機響應的有效性都會反饋給聲譽合約。

當然,這個彙總加權處理方式可以有多種。有的需要在進行彙總前將異常值去掉,比如可以拋棄離散值,比如在計算時,去掉最大和最小的值,並輸出剩餘值的中位數等。

*ChainLink的現實世界部分

ChainLink的現實世界部分,也就是其鏈下部分,主要由預言機節點網絡組成,這些節點連接到公鏈(如以太坊網絡)。這些節點獨立收集來自現實世界數據源的數據,以響應鏈上請求的需求。

ChainLink Core 節點軟件負責與區塊鏈交互,CHainLink節點的工作是完成各種任務。每個任務有一組小的子任務。每個子任務執行特定任務,然後將其結果傳遞到下一個子任務,由此得到最終結果。ChainLink節點軟件內置了一些子任務,包括HTTP請求、JSON解析、轉換為各種區塊鏈格式等。

除內置子任務類型,通過創建適配器也可以自定義子任務。適配器是具有最小REST API的外部服務。通過以面向服務的方式對適配器建模,只需在程序前添加小的中間API,可實現任何編程語言的程序。很多適配器都是開源的,服務可以審計,且由不同的社區成員運行。各種不同的適配器由不同的開發者開發,確保適配器之間的兼容也關鍵。ChainLink與基於JSON模式的模式系統一起使用,以指定每個適配器需要什麼輸入以及如何來格式化它們。

2.分散化是ChainLink實現安全連接的基礎

實現預言機本身並不算很難,難的是提供持續安全的預言機服務。上面藍狐筆記也提到過,中心化預言機面臨的難題包括單點失敗、數據保密、數據不被篡改等。為了實現安全的預言機,去中心化的方式,也就是分散化的方式是實現安全的基礎探索。

針對預言機可能出現的安全漏洞,ChainLink提出了去中心化為主的安全方法,其本質也就是分散化,其中包括數據源的去中心化、預言機節點的去中心化。當然只有去中心化還不夠,ChainLink還考慮了使用可信硬件、對數據源數據進行簽名等方法來確保安全。

首先是數據源的去中心化。如果只有一個數據源,一旦該數據源被黑客篡改、或停機等,那麼預言機就不安全。分散化是一種解決方案。可以通過多個來源的數據,獲得多個反饋,以分散風險。

其次是預言機節點的去中心化。不同的預言機節點可以從一個或多個數據源獲取數據,同時也可防止部分惡意節點輸入錯誤數據。即便其中部分預言機存在錯誤,只要通過ChainLink彙總合約的加權計算,也有機會得出更可靠的響應。

不過,這裡存在搭便車問題。有的節點可能會為了節省收集數據成本,抄襲其他節點的響應數據,不僅對其他節點不公平,同時也實質上降低了預言機節點數據源的分散化,從而不利於安全。ChainLink會採用加密提交方式,由預言機節點發送加密的響應到CHAINLINK-SC智能合約,在達到一定數量,併發起第二輪時才會揭示反饋值。

ChainLink開始時採用的是合約內彙總的方式,長期來說會採用鏈外匯總的方式。合約內彙總的問題是成本問題,它會涉及鏈上預言機消息傳輸和處理的成本。如果節點多,這裡可能會有很高的成本。更省錢的方法是在鏈外執行反饋的彙總,然後向CHAINLINK-SC發送一條消息。ChainLink還提出使用門限簽名的方法(藍狐筆記:threshold signature),例如使用Schnorr簽名。鏈外匯總的系統利用了基於門限簽名的分佈式協議,可以防止f

3.ChainLink實現預言機安全的其他措施

僅有去中心化(分散化)的方式,還無法實現全面的安全。ChainLink還考慮其他的措施,例如包括可信硬件、來源數據的數字簽名、以及其安全服務。

可信硬件和數字簽名方面是ChainLink實現預言機安全長期要做的事情。下面主要介紹在早期預言機服務中,ChainLink為提高安全的措施,也就是其主要安全服務,其中包括:驗證系統、聲譽系統、認證服務、合約升級服務。

首選看驗證系統。ChainLink驗證系統監控鏈上預言機的行為,並提供指標,幫助用戶做選擇。指標包括可用性和正確性。可用性主要記錄預言機沒有即時響應查詢的失敗次數。正確性就是指正確的響應。如果偏離值大,可以比較其他節點的響應得出。在鏈上處理彙總數據時,預言機的活動是可見的,不過在鏈下執行彙總時,就無法直接觀察其可用性和正確性。對於鏈下反饋的正確性方面,ChainLink要求預言機對其響應進行數字簽名,而其他節點可以報告有明顯錯誤的行為(舉報偏離值過大的節點),報告節點會獲得獎勵。可用性比較難監控,ChainLink要求預言機對從其他預言機收到的反饋結果進行數字簽名的證明,也就是讓別人來證明自己的成功率。驗證合約會接受這些證明。

其次是聲譽系統。聲譽系統主要記錄歷史表現。主要包括:分配的請求總數(完成響應和未完成響應的);已完成的請求總數,可以計算出完成的成功率;被接受的請求總數,通過計算被合約接受的請求總數,然後跟其他節點做比較,並與總完成的請求總數對比,由此得出準確率;平均響應時間:它基於完成的請求來計算;質押金額:被鎖定的罰金數額,可以計算節點的犯錯成本。為了獲得好聲譽,節點會正確行事。

最後是認證服務。認證服務主要是為高質量的預言機提供者做信用背書。不過這會被人們誤認為是許可節點參與的意思。這種服務在早期為了獲得安全存在的一定的必要性。當然長期看,能否找到更合適的方法也值得考慮。認證服務會監控驗證系統的數據統計,尤其對高價值交易的響應進行審計,還有鏈下審計,包括事後審計等。同時,這麼做也是考慮了女巫和鏡像攻擊的可能性。女巫攻擊會通過控制預言機池,提供錯誤數據,影響最終答案。為減少操作成本,女巫攻擊者還會採用鏡像,這些惡意預言機會在鏈下共享數據,假裝有獨立數據源,這樣結果是減少了數據源的分散化,降低了安全。長期看,這可以通過使用可信硬件來解決。短期則需要一些認證措施。

ChainLink的價值從何而來

LINK代幣是其預言機數據交易市場的支付媒介,同時也是工作權利代幣。ChainLink網絡使用LINK代幣向節點運行者支付費用,以獲得節點提供的鏈下數據流中檢索數據的服務、將數據格式化為區塊鏈可讀格式、鏈外計算、以及保證正常運行。用戶智能合約為了使用ChainLink預言機節點,它們也需要向其所選的ChainLink節點支付運營費用。

由此可見,LINK的價值來源於ChainLink預言機服務市場的規模。

去中心化預言機市場的潛力

去中心化預言機領域有多大?智能合約承載價值的規模越大,去中心化預言機的需求也就越大。假如Maker、Compound、dydx等DeFi項目的規模達到幾十億上百億美元時,預言機安全的重要性可想而知,它需要更多的節點參與,更多的數據來源參與,更安全的技術基礎(如數據加密和可信硬件等)設施參與,更多預言機安全方案的探索。

對於有數十億上百億規模的價值來說,其中幾千萬美元甚至幾億美元用來保證其安全也是值得的。支付給預言機的服務成本,其本質是安全成本。隨著合成資產等衍生品市場的發展,這個市場有可能比現貨市場的規模更大,所以,對安全的預言機服務的需求也會越來越大。

結語

預言機是連通加密世界和現實世界的“中間件”。它關係到加密領域的可持續發展,尤其是對DeFi領域來說,其重要性顯而易見。

而對預言機來說,最核心的是安全問題。只有解決了安全問題,它才有立身之本。在解決安全問題的方法中,去中心化是達成安全的重要方式。ChainLink提出了一系列的解決方案,包括數據來源的去中心化、預言機的去中心化、可信硬件、對數據的簽名,以及安全服務措施(驗證、聲譽、認證、合約升級)等。它為人們在去中心化預言機領域的探索開啟了一條道路。

同時,也有人認為ChainLink的去中心化程度還不夠,在安全上還有提升空間。那麼,不妨更多的預言機網絡進來探索,以提供更多選擇。接下來藍狐筆記如有機會將關注預言機領域的其他選手。也許未來不只有ChainLink,還會有其他預言機網絡也會隨著智能合約應用的興起而發展壯大。這個領域不會只有一家選手,隨著市場增長,只要能夠實現更安全的預言機,機會還有,格局未定。

------風險警示:藍狐筆記所有文章都不能作為投資建議或推薦,投資有風險,投資應該考慮個人風險承受能力,

建議對項目進行深入考察,慎重做好自己的投資決策。


分享到:


相關文章: