谷歌放大招,使用ChainLink Oracle構建混合雲區塊鏈應用

本週四,科技巨頭谷歌雲的開發者在一篇博客文章中表示,使用谷歌軟件的以太坊應用構建者,將通過使用ChainLink的Oracle智能合約,整合來自區塊鏈外部來源的數據。這就使得預測市場、期貨合約以及交易隱私等諸多區塊鏈用例擁有了更大的可能。

谷歌雲的高級開發者Allen Day寫道,Chainlink可充當智能合約與現實世界數據的中間件,讓去中心化應用(DApp)無需依賴中心化的oracle獲得鏈下輸入數據。

谷歌放大招,使用ChainLink Oracle構建混合雲區塊鏈應用

(圖片來自:谷歌雲)

通過與現代互聯網資源和公共雲服務集成,我們可加快區塊鏈協議和技術的採用。在這篇博客文章中,谷歌雲描述了一些使互聯網託管數據在不宜篡改的公鏈中可用的應用:使用Chainlink Oracle智能合約將BigQuery數據放置在鏈上。可能的應用數不勝數,開發者在文章集中探討了一些他們認為具有高度可能和即時效用的應用:預測市場、期貨合約以及交易隱私。

混合雲區塊鏈應用

區塊鏈專注於通過數學的形式創建一個共享共識,後來便出現了一些想法來擴展這種模式,以允許當事人之間的協議(即合約)。1997年,計算機科學家尼克·薩博(Nick Szabo)在一篇文章中首次描述了智能合約的概念。一個早期的智能合約例子,便是比特幣區塊鏈上的染色幣(Colored Coin)。

智能合約嵌入到區塊鏈的真實性來源中,因此在幾個區塊深度之後,它們實際上是不可變的。這提供了一種機制,允許參與者將加密經濟資源提交給與交易對手達成的協議,並相信合約條款將自動執行,如果需要,此過程無需第三方執行或仲裁。

但這些都不能解決一個基本問題:從哪裡獲得評估合約的變量。如果數據不是從最近添加的鏈上數據派生的,則需要外部數據的可信源。這樣的信息源,就被稱為oracle。

在之前的工作中,開發人員通過谷歌雲公共數據集計劃,為8種不同的加密貨幣免費提供了BigQuery中的公共區塊鏈數據。在本文中,我們將該工作稱為谷歌的加密公共數據集。你可以在GCP市場中找到這些數據集的更多詳細信息和示例。該數據集資源導致許多GCP客戶基於索引區塊鏈數據的自動分析開發業務流程,例如SaaS利潤共享、使用靜態分析技術檢測軟件漏洞和惡意軟件等。然而,這些應用有一個共同的屬性:它們都使用加密公共數據集作為鏈外業務流程的輸入。

相反,作為智能合約實現的業務流程是在鏈上執行的,並且在沒有訪問鏈外輸入的情況下,它的效用是有限的。要關閉循環並允許雙向互操作,我們不僅需要使區塊鏈數據以編程方式可用於雲服務,還需要使雲服務以編程方式實現與智能合約的鏈上交互。

下面,我們將演示特定的智能合約平臺(以太坊)如何通過Oracle中間件(ChainLink)與谷歌的企業雲數據倉庫(BigQuery)進行互操作。此組件組合允許智能合約根據從鏈上查詢到Internet託管數據庫的數據執行操作。

谷歌雲是如何構建它的?

從高 level來看,以太坊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特定業務邏輯的執行。過程如下圖所示。

谷歌放大招,使用ChainLink Oracle構建混合雲區塊鏈應用

有關集成Dapp的詳細信息,請參閱谷歌雲通過Chainlink從BigQuery請求數據的文檔。對BigQuery的說明性查詢,可以按日期和區塊編號查看gas價格。

如何使用BigQuery Chainlink oracle

在本節內容中,我們將描述如何使用谷歌雲和Chainlink構建有用的應用程序。

用例1:預測市場

預測市場的參與者一般會分配資本來推測未來的事件。舉一個備受關注的領域:哪個智能合約平臺將佔據主導地位?因為作為網絡生態系統,平臺的價值將遵循冪律(即贏家通吃)分配。關於哪個平臺會成功,以及如何量化成功,市場上存在著很多不同的看法。

通過使用加密公共數據集,即使是最複雜的預測也有可能成功地在鏈上解決,比如最近對以太坊未來狀態的50萬美元賭注。谷歌雲還記錄瞭如何通過檢索特定Dapp的1天、7天和30天的活動,來測量Dapp利用率的變化、數量、近況以及頻率。

這些指標被稱為每日、每週和每月的活躍用戶,Web分析和移動應用程序分析專業人員,經常使用這些指標來評估應用的成功。

用例2:針對區塊鏈平臺風險的對衝

去中心化金融運動,由於成功地在區塊鏈環境中對現有金融系統進行革新而迅速得到採用,在技術層面上,這些系統比當前系統更值得信賴且更透明。

像期貨和期權這樣的金融合約,最初是為了使企業能夠降低/對衝與其運營關鍵資源相關的風險。同樣,有關鏈上活動(如平均gas價格)的數據,可用於創建簡單的金融工具,在gas價格上漲過高的情況下向其持有人提供支付。區塊鏈網絡的其他特性,例如區塊時間和/或礦工集中會導致風險的產生,這些風險是Dapp開發者想要避免的。通過將加密公共數據集的高質量數據引入金融智能合約,Dapp開發者的風險敞口可以降低。最終結果便是帶來更多的創新,並加快區塊鏈的應用。

用例3:使用submarine發送,實現以太坊交易隱私

以太坊本身的一個常見限制是缺乏交易隱私,這使得對手能夠利用鏈上數據洩漏來利用智能合約用戶。

通過使用“submarine發送”方法,智能合約用戶可以增加交易的隱私,成功地避免了那些想先發制人的對手,使DEX更為迅速地發揮作用。儘管這種方法在阻止像front-running這樣的惡意行為方面特別有用,但如果不使用Oracle,它也有其自身的限制。

在沒有oracle 的情況下實現submarine發送,會產生區塊鏈膨脹。具體來說,以太坊虛擬機允許合約在鏈上游最多看到256個區塊(或大約一小時)。這一最大範圍限制了submarine發送的實際用途,因為當需要重新廣播數據時,它會造成不必要的非規範化。相比之下,通過使用Oracle實現submarine發送,可消除區塊鏈膨脹。

結論

谷歌雲已演示瞭如何使用Chainlink服務來提供來自鏈上BigQuery加密公共數據集的數據。該技術可用於為以太坊智能合約減少低效的情況(submarine發送情況),在某些情況下,還可以為合約添加全新的功能(對衝用例),使新的鏈上業務模式成為可能(預測市場用例)。

谷歌雲的方法,本質上是使用少量的延遲和事務開銷換取潛在的大量經濟效用。

谷歌雲預計,這種互操作性技術,將引導開發人員創建混合應用程序,充分利用智能合約平臺和雲平臺所提供的功能。此外,谷歌雲特別有興趣推出谷歌雲平臺的ML服務(例如AutoML和Inference API)。

相關推薦

推薦中...