谷歌於 2019 年 6 月 13 日宣佈,將在谷歌雲中集成 Chainlink (LINK)服務,使谷歌的 BigQuery 數據能供安全、可靠地傳輸到以太坊區塊鏈上。

Chainlink (LINK)是一個去中心化的預言機網絡,通過使用 Chainlink (LINK),智能合約能夠安全地訪問鏈外數據源、網站 API 和傳統的銀行支付。 Chainlink (LINK)一直以來都被高德納諮詢公司( Gartner)等領先獨立調研公司譽爲頂級區塊鏈技術之一。 Chainlink (LINK)爲 SWIFT 等大型企業以及領先的智能合約開發團隊提供來了高度安全並可靠的預言機。目前,Chainlink 已與 Polkadot、哈希圖等近 40 個區塊鏈項目團隊達成合作。同時,IC3 的聯合創始人、康奈爾大學教授 Ari Jules、Facebook 的區塊鏈總監 Evan Cheng、DocuSigh 的創始人 Tom Gosner 也是 Chainlink 項目的技術顧問。

Chainlink (LINK)對中國區塊鏈市場極爲看重,認爲中國是極具潛力與活力的市場,近期更攜手 SNZ Holding 共同打造中國社區,爲中國的開發者提供更好的服務與支持。

以下爲 Google Cloud 開發者 Allan Dan 針對 Chainlink 和 Google Cloud 集成之後可能有怎樣的潛在應用所做的分析。

撰文:Allen Day,Google Cloud 開發者

將區塊鏈協議和技術與現代互聯網資源和公共雲服務相結合,可以大幅提高應用速度。把互聯網端數據接入公鏈會帶來更多的應用場景,而使用 Chainlink 預言機就可以將 BigQuery 數據傳到區塊鏈上,使得這些應用場景成爲可能。相關應用場景有很多,本文着重分析其中幾種我們認爲價值較高並且可以立即投入使用的應用場景,它們分別是預測市場、期貨合同和交易隱私。

區塊鏈雲端混合型應用

區塊鏈致力於運用數學方式建立共識。最初的區塊鏈出現後,很快就出現了各種創新,實現了點對點的協議,也就是智能合約。計算機科學家 Nick Szabo 在 1997 年發表的一篇文章中首次提到智能合約這個概念。Colored Coins 等項目在比特幣區塊鏈上首次嘗試了智能合約。

智能合約被嵌入了區塊鏈的信息源中,在幾個區塊後就再也不能被篡改。這就打造了一種信任機制,讓區塊鏈的各個參與者可以放心地投入加密資產而不必擔心交易對手方風險,因爲無須第三方參與,智能合約必然會自動執行。

但上述嘗試都無法解決一個根本問題,那就是用於評估合約的參數從何而來。如果數據不是來自於最近添加的鏈上數據,那麼就需要一個可信的外部數據來源。這個數據來源就叫預言機。

在此之前,我們通過 Google Cloud 公共數據集項目(Google Cloud Public Datasets Program)在 BigQuery 中免費開放了八個區塊鏈項目的公共數據,以下簡稱 Google 區塊鏈公共數據集。如果想了解更多關於這些數據集的信息,可以訪問 GCP 市場。此類數據集資源讓許多 GCP 客戶可以基於區塊鏈數據自動分析開發業務流程,比如 SaaS 利潤分享,通過標註網絡參與方特徵降低服務濫用風險,以及使用靜態分析技術偵測軟件漏洞和惡意軟件。然而,這些應用都有一個共同的特徵,那就是他們全都使用了區塊鏈公共數據集作爲數據輸入,傳輸至鏈下業務流程。

與之相比,通過智能合約執行的鏈上業務流程如果無法訪問鏈下數據,則效用會受限。爲了解決這個問題,並實現雙向交互,我們不僅需要讓區塊鏈數據與雲服務交互,還要讓雲服務與區塊鏈上的智能合約交互。

接下來,本文將展示一個智能合約平臺(以太坊)如何通過預言機中間件(Chainlink)與我們的企業雲數據庫(BigQuery)交互。通過這樣的交互,智能合約可以在區塊鏈上發送數據請求,並從互聯網端數據庫提取相應數據,以此觸發操作。本文分析的雲端+區塊鏈混合型應用模式能讓智能合約高效地配置雲端資源,完成複雜的操作。我們在之後的文章會進一步探討該模式的其他應用。

運作原理

跑在以太坊上的應用程序,也就是 Dapp,在最高層級從 Chainlink 請求數據,然後從 Google 應用引擎(Google App Engine)和 BigQuery 端的 web 服務提取數據。

Dapp 會觸發 Chainlink 預言機智能合約,從 BigQuery 提取數據,合約中包含參數化數據請求的費用(比如具體某個時間點的 gas 價格)。一個或多個 Chainlink 節點會看到數據請求,最終其中一個節點會處理請求任務。Chainlink 節點的能力會通過外部適配器,也就是以服務爲中心的模塊,擴展至授權 API、支付網關以及外部區塊鏈。通過 Chainlink 節點交互,就可以獲取應用引擎(App Engine)的 web 服務。

我們在 GCP 使用應用引擎標準環境實施了 web 服務,我們選擇應用引擎是因爲它成本低廉、可擴展性高而且無須部署服務器。App Engine 從 BigQuery 提取數據,BigQuery 中儲存着區塊鏈公共數據集。我們提供的數據是來自於已存數據,也就是說我們不會允許從 BigQuery 隨意請求數據,而只能請求參數化數據,比如應用可以針對以太坊上具體某個區塊或具體某個日期要求平均 gas 價格。

Chainlink 節點成功得到 web 服務響應後,就會向 Chainlink 預言機合約傳回數據,之後會觸發 Dapp 合約,隨後觸發下游具體的 Dapp 業務流程執行。詳情請參見下方圖表:

谷歌:如何使用 Chainlink 和谷歌雲共建區塊鏈+雲端混合型應用

如果想了解整合 Dapp 的具體方式,可以參考我們的文檔《瞭解如何通過 Chainlink 從 BigQuery 請求數據》 。

這一部分中,我們將探討如何利用 Google Cloud 和 Chainlink 開發實用的應用。

應用場景 1: 預測市場

預測市場中的參與者可以通過資產配置對未來發生的各種事件進行投機操作。區塊鏈行業一個很有趣的問題是,哪個智能合約平臺會成爲主流,因爲網絡生態系統的價值將遵循贏者通喫的邏輯。人們對於哪個平臺會成功以及成功怎麼定義持有許多不同的見解。

通過使用區塊鏈公共數據集,就可以在區塊鏈上處理很複雜的預測(比如最近有人押 50 萬美元預測以太坊的未來走向)。我們在文檔中也闡述瞭如何在具體某個 Dapp 上通過提取 1 天 /7 天 /30 天活動數據測量 Dapp 的使用變化、使用量、使用間隔和使用頻率。

這些衡量指標包括每日 / 每週 / 每月活躍用戶,並經常用於 web 分析和移動 App 分析,是評估網站和 App 成功與否的標杆。

應用場景 2:對沖區塊鏈平臺風險

金融行業成功將現有金融系統複製到了區塊鏈環境中,因此去中心化的金融應用也是大勢所趨。金融行業轉移到區塊鏈上,從技術角度來看,會比傳統金融系統更加值得信任也更加透明。

期貨和期權等金融合約的存在原本是爲了讓企業能夠降低或對沖關鍵資源相關的風險。同樣地,如果可以使用平均 gas 價格這種鏈上活動數據創建簡單的金融工具,就可以對沖 gas 價格波動的風險。 區塊鏈網絡的其他特質,比如區塊時間和 / 或礦工中心化等,都爲 Dapp 開發者帶來了一定風險,因此也需要做一定對沖,規避風險。

通過從區塊鏈公共數據集中提取優質數據輸入到智能合約中,Dapp 開發者可以降低風險,並最終帶來更多的創新和區塊鏈技術更加廣泛的應用。

我們在相關文檔中描述了以太坊智能合約如何與 BigQuery 預言機交互,在任意時間點提取 gas 價格數據。我們還在智能合約中展示瞭如何使用預言機基於未來 gas 價格執行質押合約,這是 Dapp 正常運行所需的關鍵數據輸入。

應用場景 3:使用潛艇交易(submarine sends)在整個以太坊上實現交易發佈和披露

以太坊最受詬病問題之一就是缺乏交易隱私,導致對手會利用鏈上數據泄露鑽空子,剝削高頻智能合約用戶的價值,比如包含去中心化交易所地址的搶跑交易(front running)。 《派出潛水艇,擊沉搶跑者》這篇文章裏提到提前交易是目前所有去中心化交易所都遇到的問題,而且會拖慢去中心化金融的步伐,因爲交易所是許多去中心化金融產品和應用的關鍵環節。

通過潛艇交易,智能合約用戶能夠提高交易隱私,併成功避免對手搶跑,這樣一來去中心化交易所立刻能擁有更大的實用價值。雖然這個方法對於阻止搶跑等惡性行爲特別有效,但如果沒有預言機的話,其本身還是具有一定限制。

不使用預言機的潛艇交易會導致區塊鏈變得臃腫不堪。具體來說,以太坊虛擬機讓智能合約最多可以看到區塊鏈上 256 個上游區塊,或大約 1 小時內產生的全部區塊。這個最大可見範圍限制了潛艇交易的實用性,因爲當需要重新廣播數據的時候會造成不必要的不規範問題。相較之下,如果使用了預言機,就可以拓寬潛艇交易的操作範圍,可以看到鏈上的所有歷史數據,因此區塊鏈也不會變得過於臃腫。

總結

我們已經展示瞭如何使用 Chainlink 服務將 BigQuery 中的區塊鏈公共數據集傳輸至區塊鏈上。這個技術可以用於提升效率(潛艇交易的案例),在一些情況下爲以太坊智能合約建立全新的能力(風險對沖的案例),並打造全新的區塊鏈商業模式(預測市場的案例)。

這個方法的核心是用少量的延遲和交易費用換取大量的經濟效用。舉個具體的例子,普通的潛艇交易所需鏈上儲存的空間複雜度是 O(n),要向鏈上添加新區塊,但是如果智能合約等到兩個區塊後再調用 BigQuery 預言機,那麼空間複雜度就能降低到 O(1)。

我們預期這種交互技術將讓開發者能夠將智能合約平臺和雲平臺的優勢結合起來開發混合型應用。我們對結合 Google Cloud 平臺上的機器學習服務(比如 AutoML 和 Inference API)尤爲感興趣。