不知不覺中,鏈讀聯合 Polkabase 開展的波卡生態項目 AMA 活動,已經進入了第 8 期。鏈讀 AMA 有幸邀請來「Chainlink」中國技術社區負責人「團長」做客鏈讀直播間,和我們詳細介紹『 Chainlink:一個去中心化的預言機網絡』
波卡項目系列 AMA | Chainlink : Substrate 框架首個預言機解決方案
Chainlink 是 Substrate 框架首個預言機解決方案,其目標是成爲所有 Substrate 區塊鏈首個也是最主要的預言機提供商,並最終覆蓋整個 Polkadot 網絡。

團長告訴我們:Polkadot 開發者可以使用 Chainlink 去中心化的預言機網絡快速將其智能合約連接到任何數據源,實現端到端的安全性和可靠性,而無須承擔自己部署預言機的重大風險,如嚴重延時、成本高昂或甚至重大安全風險。

目前,Chainlink 正快速成爲預言機即服務(Oracle-as-a-Service)領域的標杆,並受到整個區塊鏈行業的追捧。接入 Chainlink 網絡的用戶包括一些DeFi 項目和大型企業(如 Synthetix 和谷歌等)。
波卡項目系列 AMA | Chainlink : Substrate 框架首個預言機解決方案
Chainlink 去中心化網絡中的節點操作者相互獨立,具有抗女巫攻擊能力,並經過安全評估。隨着 Chainlink 網絡不斷髮展壯大,平行鏈上的智能合約將安全快速地連接到各類預格式化的數據,並複製到現有合約中。這樣一來,Polkadot 將可以連接到所有鏈下數據和系統,觸發智能合約執行,並連接到各類支付網關和企業後端系統進行合約交割。

以下是本次 AMA 的全部內容:

玉琪 @ 鏈讀團長您好,能介紹一下 Chainlink 中文社區嗎?爲什麼選擇開發這個項目?

團長 @ Chainlink Chainlink 中文社區是 Chainlink 全球社區在中國的愛好者和開發者的聚集地,在 Chainlink 的官方社區風氣很正,一律禁止討論幣價,大家都是在學習和探討技術,比如討論預言機的應用場景,Chainlink 可以幫助我們解決什麼問題,Chainlink 又和哪個項目或公司合作,幫助區塊鏈應用進一步落地。

另外 Chainlink 官方不會進行任何形式的代幣空投,不會吸引那些羊毛党進來,所以我們的社區質量非常高。
Chainlink 非常重視中國社區,去年我們在國內每個月都會有線下的 meetup,今年受疫情的影響,我們 meetup 的傳統換成了線上直播的形式,但是頻率更高了,現在幾乎每週我們都會和一個優質的項目方舉辦線上直播。直播裏不僅有很多幹貨內容,還有很多互動禮品。非常歡迎大家加入 Chainlink 社區,如果您是開發者的話,我們還有專門的技術社區,開發者們可以私聊我瞭解更多。
Chainlink 直播間:https://live.bilibili.com/21887553_Chainlink 微博:https://weibo.com/chainlinkofficial_

玉琪 @ 鏈讀Chainlink 是首個分散的 Oracle 網絡,那爲什麼需要預言機,它有什麼必要性?

團長 @ Chainlink預言機這個名字並不是區塊鏈領域首創的,它其實是計算機行業的祖師爺圖靈第一次提出來的。他在圖靈機的基礎上,加入了一個黑盒,稱之爲 Oracle,意思是預言者,它可以向圖靈機系統內部輸入信息,幫助圖靈機完成運算。

以太坊的智能合約是“圖靈完備(Turing Complete)”的,某種意義上可以看做一個圖靈機,所以以太坊的設計者借鑑這個概念,把向“圖靈完備的智能合約”這個圖靈機輸入信息的也被稱爲預言機 oracle。

預言機提供了一種無信任(或至少近乎無信任)的方式來獲取外在的(即“真實世界”或“鏈外”)信息,例如足球比賽的結果、黃金的價格或真正的隨機數字,用於以太坊平臺上的智能合約。它們還可用於直接將數據安全地中繼到 DApp 前端。因此,可以將預言機視爲彌合鏈外世界與智能合約之間差距的機制。允許智能合約基於真實世界的事件和數據來強制執行合約關係,從而大大擴展了它們的應用範圍。

我們假想一個猜硬幣決勝負的遊戲場景,這個遊戲依賴於扔硬幣正反面的隨意性。礦工可以輕易破解這個遊戲:他們只需要打包那些對其有利的隨機結果即可。比如某以菠菜競猜項目而知名的公鏈(EOS)由於在競猜時需要隨機數,所以經常被黑客進行隨機數的攻擊,根本原因就是區塊鏈內部的確定性太高而隨機性太差。那麼我們如何解決這個問題呢?既然所有節點都可以就簽名交易的內容達成一致,那麼我們就可以引入外部信息,包括隨機性、價格信息、天氣預報等,作爲發送到網絡的交易的數據部分。

那麼我們有沒有辦法做到呢,可不可以建立這樣一座數據之橋呢。我們可以使用預言機嘗試解決這些問題。需要注意的是,並不是有一個叫預言機的東西,可以幫助區塊鏈來實現數據的連通性,而是我們把可以實現數據聯通的這種組件,起個名字叫“預言機”。

玉琪 @ 鏈讀Chainlink 作爲去中心化的預言機,和中心化的預言機(如:MakerDAO)相比有什麼優點,怎麼做到去中心化?

團長 @ Chainlink我想我們區塊鏈行業的從業者都明白去中心化對於區塊鏈的意義,幾乎所有的公鏈領域的基礎設施都是圍繞着去中心化這一核心思想來設計實現的。對於預言機來講,去中心化意味着更高的安全性,更普遍的適用性,更少的信任需求,更高的可用性。

我們平時經常提到的 Dapp、Decentralized Application,就是去中心化應用的意思,而預言機主要就是給這些 dapp 提供數據的,讓這些 dapp 可以有更多的應用場景。如果我們在去中心化的應用里加入了中心化的預言機,那麼多這個 dapp 的去中心化的意義就大打折扣了,從底層到應用爲去中心化所做出的效率等方面的犧牲就失去了大部分的意義。
我們以 DeFi 項目爲例。幾乎所有 DeFi 應用都由數據驅動,智能合約規定了代碼邏輯,定義了在滿足一定輸入條件下協議將執行什麼操作。智能合約用布爾邏輯編寫(即如果發生 X,則執行 Y),具有高度確定性,因此最終執行的有效性取決於數據輸入的質量。數據輸入質量決定了合約執行結果,正應了那句話:“垃圾進,垃圾出。”
Chainlink 是預言機項目中去中心化的典範,在激勵機制、運行機制和嵌套合約上實現了有效的閉環,貫徹落實了預言機網絡激勵相容的價值主張,不論是內部機制設計還是外部引流和發展都具有較大的優勢。
Chainlink 設計了一個由多個獨立節點和多個數據源組成的多層次的去中心化機制,Chainlink 網絡有非常多的獨立節點,這些節點都可以獨立的完成向區塊鏈傳輸數據的功能,利用去中心化形成的高度冗餘來保障來自各個預言機節點的數據安全。我們可以在 Chainlink 節點市場上查看所有的節點:https://market.link/search/nodes

波卡項目系列 AMA | Chainlink : Substrate 框架首個預言機解決方案

預言機節點也是可以從多個數據源來獲取數據,也就避免了單個數據源可能出現的數據錯誤或者數據源不可訪問等單點失效的問題。用戶可以直接使用預言機節點選擇的數據源,也可以自己來指定自己信任的數據源。
在未來,我們白皮書中設計的 staking 和 reputation (聲譽系統)也會陸續上線,讓這個去中心化的預言機網絡更加完善。

玉琪 @ 鏈讀能和我們說說 Chainlink 在開發過程中遇到哪些困難?喂價延遲故障爲何會發生?如何提升與避免?

團長 @ Chainlink由於 Chainlink 是去中心化的預言機,所以我們必須要面對去中心化所帶來的一些技術上的挑戰。比如在前段時間行情劇烈波動,造成了以太坊網絡的極度擁堵,導致了 Chainlink 的價格數據出現了延遲,但是我們的節點運營方,提高了提交事務時的 gas 費用,將延遲降到最低,確保了數據安全。在此次網絡擁塞期間,沒有造成任何經濟上的損失,這要非常感謝我們的優秀的節點運營商。

此外,我們還對網絡進行了優化,監控以太坊網絡的擁堵狀況和我們節點的報價頻率,提前做好預案,技術保證提供高質量的安全的價格數據,請大家放心使用。

以太由於受限於幾年前的設計和架構,以及目前的 pow 共識機制,偶爾會出現網絡擁塞的情況,相信未來以太更新到下一個大版本之後情況會有很大改善。另外 Polkadot 是一個非常優秀的新一代的區塊鏈架構,未來等波卡主網上線之後,Chainlink 也會基於波卡的優秀的底層架構,提供更出色更穩定的預言機網絡。

玉琪 @ 鏈讀門限簽名技術能夠起到怎樣的作用?

團長 @ Chainlink門限簽名是 Chainlink 的一種鏈外工作機制。在鏈上工作機制中,負責查詢數據的節點將數據返回給聚合合約,由聚合合約對數據進行聚合,將查詢結果進行統計和聚合再返回給用戶合約。在 Chainlink 節點向聚合合約提交數據時,需要多次消耗手續費,這導致用戶成本過高。

而門限簽名機制,由一個 Chainlink 節點代替聚合合約,在鏈下接受其他節點的查詢數據,並且進行聚合,然後將聚合後的數據結果一次性返回到鏈上,僅消耗一次手續費。

門限簽名最大的好處是能大幅降低成本。在現有的鏈上聚合模式下,每臺預言機(即節點)都要支付 gas 費,才能將鏈下數據傳輸至鏈上。如果有 10 個節點採集鏈下數據,就得支付 10 筆 gas 費;且不論在最終結算之前,gas 費還有可能要多次調整。

門限簽名則不同。它會將預言機的全部反饋數據在鏈下聚合成單一數據點,然後會有一臺指定的預言機將數據發回至鏈上,全程僅收取一筆 gas 費。

Chainlink 研究團隊的亞歷克斯·考文垂(Alex Coventry)表示:
“目前,我們最好的門限簽名方案只需約 1.5 萬個 gas 就能進行驗證。這是什麼意思呢?打個比方,收集同樣數量的數據點,原來要花費 3000 美元,但用門限簽名工具只需約 2 美元就能搞定,成本差幅高達 1500 倍,費用節省空間巨大。前文我提到過,假設網絡中有 2500 名參與方,則需要 2000 名參與方提供正確結果纔可生成一個有效簽名,那麼按目前 gas 兌換以太幣的匯率計算,我們的門限簽名方案成本約爲 1 美分出頭;而現有方案則需花費 17 美元。”
除了降低成本,門限簽名還有很多優勢比如安全性高、可信度高、可擴展性強、具有積極的網絡效應等等。時間關係這邊就不一一細說,對這個技術感興趣的可以加我,咱們私下繼續探討。

玉琪 @ 鏈讀爲什麼選擇和波卡合作,接入 Substrate 框架?

團長 @ ChainlinkPolkadot 是一個優秀的區塊鏈底層框架,通過平行交易,解決了目前阻礙區塊鏈技術發展的主要問題——可擴展性。Polkadot 還推出了高效開放的治理體系,讓網絡突破原有限制加速創新和發展。包括去 DeFi、能源、遊戲和通訊在內的各類應用都將在 Polkadot 生態圈中快速成長,挑戰 Web2.0 中心化平臺的權威地位。Polkadot 在 2016 年由 Gavin Wood 創辦,他是以太坊的聯合創始人兼 CTO,同時也是 Solidity 編程語言的發明者,在廣大區塊鏈開發者中有着很高的聲譽。

Substrate 是 Parity Technologies 推出的具有里程碑意義的區塊鏈開發框架。該框架爲開發者提供了靈活簡便的開發環境,其模塊和架構儘量刪減了區塊鏈開發環節,讓開發團隊能夠聚焦自身項目的商業邏輯。

開發者使用 Substrate 框架可以享受 Parity 最新且獨特的區塊鏈技術,包括可插拔共識和無分叉升級(forkless upgrades)。另外,Substrate 框架的區塊鏈還能輕鬆連接 Polkadot 網絡,保障安全性和互操作性。開發者現在就可以在 Substrate 框架下進行開發,並大幅降低開發時間和成本。

Chainlink 已在 Substrate 區塊鏈上完成了初步接入,這標誌着 Chainlink 去中心化預言機網絡的一個重大里程碑,實現了與 Substrate 區塊鏈生態系統和 Polkadot 的對接。Chainlink 是 Substrate 框架首個預言機解決方案,其目標是成爲所有 Substrate 區塊鏈首個也是最主要的預言機提供商,並最終覆蓋整個 Polkadot 網絡。
Polkadot 開發者可以使用 Chainlink 去中心化的預言機網絡快速將其智能合約連接到任何數據源,實現端到端的安全性和可靠性,而無須承擔自己部署預言機的重大風險,如嚴重延時、成本高昂或甚至重大安全風險。

玉琪 @ 鏈讀作爲 Substrate 框架首個預言機解決方案,對於整個波卡生態圈有何影響?

團長 @ ChainlinkChainlink 首次接入 Substrate 框架將爲日後打下基礎,在 Polkadot 發佈後,Chainlink 將接入其專屬平行鏈,甚至可以部署自己的平行鏈。Chainlink 在 Polkadot 上部署自己的平行鏈之前,會先在 Kusama 上部署一條平行鏈。Chainlink 將爲 Polkadot 的平行鏈和 dApp 連接到任何鏈下數據。Parity Technologies 是 Polkadot 和 Substrate 框架領先的開發團隊,他們已爲 Chainlink 在 Github 上的開源代碼庫貢獻了大量代碼,加速了二者集成,並最終造福開發者。

Chainlink 協議爲用戶提供了可信的市場環境,用戶在其中可以獲得優質的預言機服務以及可定製的去中心化框架。Chainlink 正快速成爲預言機即服務(Oracle-as-a-Service)領域的標杆,並受到整個區塊鏈行業的追捧。接入 Chainlink 網絡的用戶包括一些 DeFi 項目和大型企業(如 Synthetix 和谷歌等)。

區塊鏈智能合約中可以實現各種新穎的去中心化應用,但卻無法連接鏈下數據(如特斯拉的股價或用戶在 Venmo 上的支付數據)觸發鏈上交易。預言機可以連接外部數據源或 API,爲智能合約獲取鏈下數據,並確認鏈下狀態,將數據發送至鏈下系統,以此讓智能合約與鏈下世界充分連通。

玉琪 @ 鏈讀波卡主網上線後,Chainlink 後續的項目計劃?

團長 @ Chainlink專門的平行鏈上接入 Chainlink 的去中心化預言機網絡能夠爲 Polkadot 生態圈帶來許多新的應用場景。比如,自我主權身份(self-sovereign identity)的平行鏈可以通過 Chainlink 預言機連接可靠的鏈下數據(如驗證身份的數字化簽名或可驗證聲明)。同樣地,用 Substrate 在 Polkadot 平行鏈上開發地去中心化支付網絡也可以通過 Chainlink 預言機安全連接到鏈下支付系統的結算和發票數據。再比如,DeFi 平行鏈上,智能合約和 dApp 可以利用去中心化的價格數據用虛擬貨幣交易衍生品,連接鏈下數據推出去中心化的預測市場,或連接股市價格數據用虛擬貨幣交易證券。

Chainlink 去中心化網絡中的節點操作者相互獨立,具有抗女巫攻擊能力,並經過安全評估。隨着 Chainlink 網絡不斷髮展壯大,平行鏈上的智能合約將安全快速地連接到各類預格式化的數據,並複製到現有合約中。這樣一來,Polkadot 將可以連接到所有鏈下數據和系統,觸發智能合約執行,並連接到各類支付網關和企業後端系統進行合約交割。最終,智能合約將具有安全性和鏈下數據連通性,可以與鏈下系統和架構進行交互。

玉琪 @ 鏈讀接入 Chainlink 網絡的用戶除了波卡,也包括一些 DeFi 項目和大型企業(如 Synthetix 和谷歌等),Chainlink 能提供給他們什麼?怎樣保證可信的價格數據?

團長 @ ChainlinkDeFi 是一個新的區塊鏈細分領域,用智能合約再造傳統金融工具,其中包括貸款、衍生品、交易所和儲備資產等。在 DeFi 模式下,金融系統不再被中心化的私營機構壟斷,而是用自動運行的協議在整個流程中建立無須信任的機制,協調用戶互動並將後端架構去中心化。DeFi 應用需要持續訪問實時的市場數據,特別是價格數據,這樣才能可靠地執行底層代碼邏輯。舉個例子,貨幣項目(Ampleforth)、衍生品項目(Synthetix)、貸款項目(Aave)以及去中心化的交易所(Loopring) 等協議都需要快速訪問某類資產的價格數據,才能觸發核心鏈上功能。

大家往往沒意識到開發智能合約本身已經夠難了,特別是早期的時候。由於區塊鏈還是新興產業,開發者找不到簡單易用的開發模板或指南。因此,開發者必須花費大量時間精力編寫、維護和升級協議的底層代碼,因爲這些代碼決不僅決定着價值幾百萬美元資產的安危,還決定了智能合約日後能否被大規模應用。即使合約的代碼邏輯非常嚴謹,但是智能合約的最終效果完全取決於數據輸入的質量。這意味着,保障市場數據的準確性與保障智能合約的安全性一樣,都是去中心化金融至關重要的環節。

雖然一些 Dapp 只需調用鏈上數據即可,但保守估計,有 90% 以上的 DeFi 應用都需要穩定地接入鏈下數據,才能保持可靠、穩健的運行,並實現可持續的經濟回報。多數價格數據都保存在區塊鏈以外的世界(即鏈下),比如主流交易所,而且不同平臺的價格數據有出入。因此,只有聚合多個來源的鏈下數據才能得到最可靠的價格數據。

區塊鏈要訪問鏈下數據,必須要通過預言機。然而,在鏈上聚合數據成本高昂,而且大多數項目爲了要與市場價格波動保持同步,都需要持續不斷地更新鏈上價格數據。Chainlink 的去中心化預言機網絡正好能填補這個空白。

Chainlink 去中心化預言機網絡中的節點都經過安全評估,具有抗女巫攻擊能力,並完全獨立。這些節點的運營者都是業內領先的區塊鏈 DevOps 和安全團隊,其中許多團隊在 POS 節點運營方面經驗豐富,在多個區塊鏈網絡中管理着價值百萬美元的資產。

一旦出現鏈上價格更新的請求,網絡中的所有節點都會接收並傳輸最新價格數據。這些數據會在鏈下聚合成單一數據點,然後再推送到鏈上。在節點層面就實現去中心化,這樣可以保障 Chainlink 的所有價格參考預言機網絡具有高度可用性。

網絡中所有節點都從一個 API (如:CoinMarketCap 和 CoinGecko)獲取價格數據,而這個 API 從多個來源聚合數據,這樣就可以保證數據質量。目前網絡中最常使用的是來自 7 個數據聚合者的數據。因此,網絡中每個節點從同一個可信數據聚合者獲取數據,節點獲取到數據後再在鏈下聚合成單一數據,併發送至鏈上。這樣保證了 DeFi 應用能夠持續訪問高質量的市場數據。

項目可以調用這些參考數據合約,訪問最新價格數據,觸發核心功能的執行。鏈上數據可以按時間頻率更新(如每小時或每天等),按價格偏差更新(如價格每變動 1%),或按用戶具體需求更新。

_h_ttps://feeds.chain.link_是 Chainlink 發佈的 DeFi 價格參考數據,可以讓用戶在一個界面中輕鬆訪問 Chainlink 預言機網絡所有的價格參考數據。用戶可以在平臺上找到最近發佈的參考數據,並且可以輕鬆訪問去中心化預言機網絡詳細的基礎架構、功能以及實時 / 歷史數據。

在大企業方面,我們以 Google 爲例。Google 首次嘗試將其雲端資源在區塊鏈上變現,將八個不同區塊鏈(其中包括以太坊)上的數據加載至 Google 的大數據分析平臺 BigQuery 中,並開發一套成熟的軟件,在各個區塊鏈上搜索和分析數據。有許多新項目都在分析區塊鏈索引數據,並在此基礎上開發各種應用程序,比如比特幣價格預測。

然而,Chainlink 並非只將區塊鏈數據向雲服務開放,而是將雲服務向鏈上智能合約開放。開發者使用 Chainlink 預言機可以在開發智能合約應用的同時讀取雲端數據,並利用這些數據觸發鏈上合約。許多大型企業都在雲端儲存數據並執行業務流程,因此 Chainlink 預言機可以將這些數據連接至智能合約,以此將數據變現。

通過 Chainlink 預言機將雲端數據連接至智能合約,爲企業解鎖了新的市場和商業模式,企業可以將原始數據或加工過的數據打包出售。其中一個頗具潛力的應用是衍生品合約,特別是通過 BitQuery 訪問區塊鏈數據而開發出的衍生品合約。Google Cloud 開發者目前可以基於某個時段的以太坊平均 Gas 價格開發期貨和期權合約等衍生品。以太坊智能合約也可以利用 Chainlink 預言機從 BitQuery 請求 Gas 價格數據執行合約。
波卡項目系列 AMA | Chainlink : Substrate 框架首個預言機解決方案價格參考數據頁面

玉琪 @ 鏈讀目前如何參與項目開發?需要具備怎樣的能力?對於中國開發者開展怎樣的獎勵計劃?

團長 @ ChainlinkChainlink 的開發其實就是智能合約的開發,所以如果你掌握了智能合約的開發,就可以很方面的使用 Chainlink。Chainlink 爲開發者提供了開箱即用的開發庫,可以非常簡單的開發 Dapp。大家對此感興趣的,可以去 B 站搜 Chainlink 資訊,https://space.bilibili.com/482973600

裏面有我前幾天錄的一個 Workshop,教大家如何開發一個競猜應用。
我們也會定期有 workshop, 加入到我們社羣可以獲得各類活動和消息的一手資訊。
目前 Chainlink 是部署在以太坊之上的,所以我們提供的是 solidity 開發工具包。我們現在也可以在波卡上使用 Chainlink,這裏有一篇博客對此有些說明,我們後面也會專門辦一個 workshop 幫助大家在 substrate 上應用 Chainlink 開發應用。https://polkadot.network/chainlink-reaches-milestone-with-polkadot/

另外大家也可以通過編寫一個適配器,將 Chainlink 與你們現在的工作的系統或區塊鏈項目進行連接,我們文檔中都有介紹。
大家如果對 Chainlink 的開發有興趣的話,歡迎來加我索要跟多的開發資料。

另外需要重點說的是,Chainlink 特別重視開發者,希望能有更多的開發者使用 Chainlink,傳播 Chainlink,讓 Chainlink 賦能區塊鏈應用真正走向落地,爲智能合約產生革命性的推送作用。所以我們最近也推出了一個 開發者的獎勵計劃(點擊查看詳情),鼓勵開發者能在各個場合各類黑客鬆比賽中使用 Chainlink 來開發他們的應用。我們不光有豐厚的物質上的激勵,還會給開發者提供獨一無二的資源,幫助開發者提升自己的能力以及擴展自己的影響力。

來源鏈接:mp.weixin.qq.com