本周四,科技巨頭谷歌云的開發者在一篇博客文章中表示,使用谷歌軟件的以太坊應用構建者,將通過使用ChainLink的Oracle智能合約,整合來自區塊鏈外部來源的數據。這就使得預測市場、期貨合約以及交易隱私等諸多區塊鏈用例擁有了更大的可能。
谷歌云的高級開發者Allen Day寫道,Chainlink可充當智能合約與現實世界數據的中間件,讓去中心化應用(DApp)無需依賴中心化的oracle獲得鏈下輸入數據。
(圖片來自:谷歌云)
通過與現代互聯網資源和公共云服務集成,我們可加快區塊鏈協議和技術的采用。在這篇博客文章中,谷歌云描述了一些使互聯網托管數據在不宜篡改的公鏈中可用的應用:使用Chainlink Oracle智能合約將BigQuery數據放置在鏈上??赡艿膽脭挡粍贁?,開發者在文章集中探討了一些他們認為具有高度可能和即時效用的應用:預測市場、期貨合約以及交易隱私。
區塊鏈專注于通過數學的形式創建一個共享共識,后來便出現了一些想法來擴展這種模式,以允許當事人之間的協議(即合約)。1997年,計算機科學家尼克·薩博(Nick Szabo)在一篇文章中首次描述了智能合約的概念。一個早期的智能合約例子,便是比特幣區塊鏈上的染色幣(Colored Coin)。
智能合約嵌入到區塊鏈的真實性來源中,因此在幾個區塊深度之后,它們實際上是不可變的。這提供了一種機制,允許參與者將加密經濟資源提交給與交易對手達成的協議,并相信合約條款將自動執行,如果需要,此過程無需第三方執行或仲裁。
但這些都不能解決一個基本問題:從哪里獲得評估合約的變量。如果數據不是從最近添加的鏈上數據派生的,則需要外部數據的可信源。這樣的信息源,就被稱為oracle。
在之前的工作中,開發人員通過谷歌云公共數據集計劃,為8種不同的加密貨幣免費提供了BigQuery中的公共區塊鏈數據。在本文中,我們將該工作稱為谷歌的加密公共數據集。你可以在 GCP市場 中找到這些數據集的更多詳細信息和示例。該數據集資源導致許多GCP客戶基于索引區塊鏈數據的自動分析開發業務流程,例如SaaS利潤共享、使用靜態分析技術檢測軟件漏洞和惡意軟件等。然而,這些應用有一個共同的屬性:它們都使用加密公共數據集作為鏈外業務流程的輸入。
相反,作為智能合約實現的業務流程是在鏈上執行的,并且在沒有訪問鏈外輸入的情況下,它的效用是有限的。要關閉循環并允許雙向互操作,我們不僅需要使區塊鏈數據以編程方式可用于云服務,還需要使云服務以編程方式實現與智能合約的鏈上交互。
下面,我們將演示特定的智能合約平臺(以太坊)如何通過Oracle中間件(ChainLink)與谷歌的企業云數據倉庫(BigQuery)進行互操作。此組件組合允許智能合約根據從鏈上查詢到Internet托管數據庫的數據執行操作。
谷歌云是如何構建它的?
從高 level來看,VPS租用,以太坊Dapp(即智能合約應用)從ChainLink請求數據,ChainLink反過來從使用谷歌應用引擎和BigQuery構建的Web服務中檢索數據。
為了從BigQuery中檢索數據,Dapp調用ChainLink Oracle合約,并包括對要服務的參數化請求的付款(例如,在指定時間點的gas價格)。一個或多個Chainlink節點正在監聽這些調用,在觀察到這些調用后,將執行請求的作業。外部適配器是面向服務的模塊,它將Chainlink節點的功能擴展到經過身份驗證的API、支付網關和外部區塊鏈。在這種情況下,Chainlink節點與專門構建的應用引擎Web服務交互。
在GCP上,開發者使用應用引擎標準環境實現了一個Web服務。之所以選擇應用引擎,是因為它的低成本、高可擴展性以及無服務器部署模型。應用引擎從BigQuery中檢索數據,而后者承載了公共加密貨幣數據集。谷歌云提供的數據來自封閉查詢,即其不允許從BigQuery請求任意數據,只允許參數化查詢的結果。具體來說,應用程序可請求(a)特定以太坊區塊號或(b)特定日歷日期的平均gas價格。
在Web服務成功響應之后,Chainlink節點使用返回的數據調用Chainlink oracle合約,從而調用Dapp合約,然后觸發下游Dapp特定業務邏輯的執行。過程如下圖所示。
有關集成Dapp的詳細信息,請參閱谷歌云通過Chainlink從BigQuery請求數據的 文檔 。對BigQuery的說明性查詢,可以按日期和區塊編號查看gas價格。
如何使用BigQuery Chainlink oracle
在本節內容中,我們將描述如何使用谷歌云和Chainlink構建有用的應用程序。
用例1:預測市場