Chainlink--去中心化預言機
Chainlink 介紹
Chainlink本質上是一個去中心化的預言機網路,它為任何區塊鏈上的複雜智慧合約提供可靠的防算改輸入和輸出,再配合「鏈上+鏈下的架構模式得以實施。
Chainlink初期依託於ETH網路,隨著2019年Chainlink分別與Google、甲骨文
Etherisc等商業巨擘合作逐步接入外部資料來源,並用元預言機使DeFi相關金融產品的報價的資料匯入更加完善。
ChainLink的LINK網路是第一個分散的oracle網路,允許任何人安全地提供智慧合同,訪問關鍵的外部資料,離線支付和任何其他 API功能。任何擁有資料Feed,離線服務(如本地付款)或任何其他API的使用者均可以直接將其提供給智慧合同,以換取LINK令牌。
Chainlink 架構--鏈上+鏈下的技術架構
Chainlink架構分為鏈上(On-chain)部分和鏈下(Off-chain)部分鏈上部分作為合約層完成Chainlink內所有資訊的記錄,而鏈下部分負責程式碼和命令列以及輸出資料的具體執行。
鏈上部分
1、閉環的合約層鏈上部分執行的操作包括使用者(服務請求方)對預言者(服務供應商)的挑選(Oracle Selection)資料服務的反饋報告(Data Report)和最終結果彙總(Result Aggregation)。Chainlink 透過呼叫信譽合約記錄預言者歷史服務情況、訂單匹配合約和彙總合約共同實現整個Chainlink網路在鏈上的閉環體系。
2、信譽合約--記錄服務供應商(預言者)的歷史表現服務請求方(使用者)在挑選合適的預言者為其請求提供服務時,必須呼叫信譽合約檢視預言者的歷史表現情況,再根據其在服務請求中指定的資料來源。響應時間和具體資料要求完成對預言者(Oracles)的選擇。
而在服務請求完成後,Chainlink網路記錄其完成的情況,生成資料報告(Data Report)後呼叫信譽合約對提供服務的預言者的信譽評分進行適當增減。
3、服務請求方對不同預言者進行信譽評級,Chainlink計劃佈置以下參考標準如下:
①預言者同意接受請求的總數,包括已實現和未實現的;
②完成請求數,計算出完成率(+);
3.與其他預言者的回覆相比,透過計算合約被判斷為可接受的請求總數(+)。它一般根據接受任務總數和已完成任務總數的平均值來衡量。
④平均回覆時長(-);
⑤累計懲罰金額(-)--懲罰是因預言者不當行為(Freeloading複製對方答案、透露或使用服務請求的資料)而扣除其已質押的 LINK。
4、訂單匹配合約
Chainlink透過呼叫訂單匹配合約將特定的資料服務請求與使用者挑選好的一個或多個預言者進行匹配,並生成訂單後將訂單抽象到鏈上。
5、彙總合約
Chainlink透過多個預言者(Oracles)提供的答案根據特定問題進行彙總,彙總方式一般為對反饋資料進行加權平均(剔除極端值)後得到的彙總答案,並最終反饋給服務請求方。
鏈下部分(Off-chain)
1、執行層
鏈下部分分為ChainlinkCore、外部介面卡和 Subtask Schemas三部分。其中Chainlink Core是在可信執行環境(TEEs)下的命令視窗,外部介面卡根據服務具體的需求將複雜的任務拆分成多個子任務以便於執行,SubtaskSchemas統一所有預言者最終輸出的答案為JSON格式,便於程式碼執行和可讀性。
如圖Chainlink工作流程分為以下7個步驟:
①USER-SC合約發出資料呼叫請求:
2、ChainLink-SC合約為預言者記錄請求,並編譯到Core命令列;
3、Core透過在合約程式前新增外部API來設定介面卡,並分配任務;
4、介面卡將請求反饋給外部API:
5、ChainLink收到預言機服務商的回覆,並將其反饋給Core命令列:
6、ChainLinkCore將資料報告給反饋給 ChainLink-sc;
7、ChainLink-SC彙總所有的答案,後反饋給使用者端。
(2)Chainlink的激勵機制與驗證系統
Chainlink的代幣為LINK,任何個人或組織都可以透過質押LINK代幣的模式成為預言機系統中的預言者為使用者提供資料服務, Chainlink透過信譽合約對使用者的行為進行打分,對錶現好的預言者獎勵一定數額LINK代幣獎勵,而對有不當行為的預言者扣除其抵押的LINK作為懲罰,並在信譽合約中記錄其評分。
最重要的是,透過檢舉揭發對等預言者不當行為可以獲得LINK代幣獎勵,這是Chainlink實現整體激勵相容的根本原因。
(3)Chainlink的驗證系統分別從可用性和準確性兩個維度實施驗證。
可用性方面,Chainlink要求Oracle對從其他Oracles收到的一組回覆答案進行數字簽名證明,驗證合約將接受並再次獎勵提交證書的Oracles證書陳述表現不佳的Oracles向其對等方顯示出一致的無回覆特徵,準確性方面,Chainlink將驗證服務實現為一個智慧合約,該合約將獎勵Oracle提交偏離答案的證據(因數字簽名可以容易被查詢),並獲得相應LINK,並扣減提交偏離答案的Oracle處罰其已質押的LINK
(4)專案評價
Chainlink是預言機專案中去中心化的典範在激勵機制、執行機制和嵌意合約上實現了有效的閉環,貫徹落實了預言機網路激勵相容的價值主張,不論是內部機制設計還是外部引流和發展都具有較大的優勢:
(5)安全性方面,Chainlink具有以下四大優勢:
1、Chainlink 運用Schnorr多重簽名機制解決了Freeloading(吃空餉--預言者直接複製之前已提交答案的雜湊值的行為)的問題。設立最大容錯節點數為Chainlink節點總數的2/3(其中不具備可用性的Oracle數量為總節點數的1/3不具備準確性的容錯為1/3),要求必須至少有1/3以上對等預言者簽名才可以透過驗證。
2、Chainlink在一定程度上遏制了女巫攻擊和映象攻擊。
Chainlink 計劃透過對高質量的Oracle 發起背書(認證)的方式,監控驗證系統關於 Oracles的統計資料,並對提交至鏈上的資料執行事後檢查,將它們與直接從信譽良好的資料來源獲得的答案進行比較,證書認證機制目前仍在進一步設計當中。
3、Chainlink透過資料來源和預言機的多樣化有效分散了,因資料來源本身的問題導致資料失真的風險。
4、Chainlink長期引入可信執行環境(TEEs)作為硬體的安全保障,從而實現合約的保密性,並生成可靠的隨機性。
(6)激勵機制方面,Chainlink實現了有效的閉環。透過對預言者粉舉其他預言者並提供有效證據的行為獎勵LINK,對存在不當行為的預言者扣除其質押的LINK作為懲罰的方式,並且Chainlink僅僅作為一種中介軟體,Oracle的收益與其提供服務的行為和提供其他Oracle不當行為證據的行為掛鉤。
(7)可擴充套件性方面,Chainlink將不斷降低對ETH網路的依賴性。Chainlink 透過與 GooqleOracle和Etherisc等巨頭達成戰略合作,實現保險、物聯網、DeFi金融合約隨機數生成等多個領域的應用,進一步增強資料來源的多樣性。並且在依託幹ETH網路的智慧合約中,Chainlink透過構建元預言機將聚合了鏈下真實的市場資料和鏈上價格資料,既為使用者保障了定價效率也為鏈上流動資金池提高了定價效率。
(8)Chainlink仍有進一步改進和完善的空間:
1、服務定價方面Chainlink仍然採用LINK代幣作為計量單位,造成了服務價格的大幅波動,不利於構建長期穩定的預言機服務體系。
一方面LINK價格大幅上漲使服務收費標準大幅提升,很容易導致客戶流失轉移到
Oraclize;另一方面,LINK代幣的上漲導致成為預言者的資金門檻大幅提升,而
Chainlink 僅有21個官方認證的節點(可以執行數字貨幣價格資料呼叫的服務節點),總共正在執行的合約節點僅為73個。因此,Chainlink正在部署以美元為計價單位的支付體系,使其服務定價趨於穩定。
2、激勵機制方面,Chainlink中預言者的未來收益仍然與其質押LINK代幣的份額掛鉤,容易造成安全隱患和信譽評分系統的失靈,新發行的LINK代幣金額有35%仍會根據預言者最開始質押的份額實施獎勵,這一方面很容易造成預言者透過大筆質押LINK代幣而不提供相應服務和貢獻,從而賺取LINK代幣的分紅而坐享其成,另一方面大顏質押 LINK代幣的預言者容易透過同時控制多個節點發起攻擊,一旦有1/3以上的節點被控制,其信譽評分系統的檢舉機制將會失靈,其遏制女巫攻擊、映象攻擊和吃空館(Freeloading)等行為的前提假設將不會成。
這是Chainlink當前面臨的最大挑戰。
重要提示:(本文內容不作為任何投資理財的建議,入市有風險,投資需謹慎)。人們也可能會收到各類詐騙電話、簡訊,切勿相信。(關於解析區塊鏈預言機共5章,到此為止全部分享完,)!