時間:2023-06-18|瀏覽:253
谷歌云的高級開發(fā)者AllenDay寫道,Chainlink可充當(dāng)智能合約與現(xiàn)實世界數(shù)據(jù)的中間件,讓去中心化應(yīng)用(DApp)無需依賴中心化的oracle獲得鏈下輸入數(shù)據(jù)。區(qū)塊鏈專注于通過數(shù)學(xué)的形式創(chuàng)建一個共享共識,后來便出現(xiàn)了一些想法來擴展這種模式,以允許當(dāng)事人之間的協(xié)議(即合約)。
智能合約最早由計算機科學(xué)家尼克·薩博(NickSzabo)在1997年的一篇文章中首次描述出來。其中一個早期的智能合約例子,就是比特幣區(qū)塊鏈上的染色幣(ColoredCoin)。智能合約嵌入到區(qū)塊鏈的真實性來源中,因此在幾個區(qū)塊深度之后,它們實際上是不可變的。這提供了一種機制,允許參與者將加密經(jīng)濟資源提交給與交易對手達成的協(xié)議,并相信合約條款將自動執(zhí)行,如果需要,此過程無需第三方執(zhí)行或仲裁。
但這些都不能解決一個基本問題:從哪里獲得評估合約的變量。如果數(shù)據(jù)不是從最近添加的鏈上數(shù)據(jù)派生的,則需要外部數(shù)據(jù)的可信源。這樣的信息源,就被稱為oracle。
在之前的工作中,開發(fā)人員通過谷歌云公共數(shù)據(jù)集計劃,為8種不同的加密貨幣免費提供了BigQuery中的公共區(qū)塊鏈數(shù)據(jù)。在本文中,我們將該工作稱為谷歌的加密公共數(shù)據(jù)集。你可以在GCP市場中找到這些數(shù)據(jù)集的更多詳細信息和示例。該數(shù)據(jù)集資源導(dǎo)致許多GCP客戶基于索引區(qū)塊鏈數(shù)據(jù)的自動分析開發(fā)業(yè)務(wù)流程,例如SaaS利潤共享、使用靜態(tài)分析技術(shù)檢測軟件漏洞和惡意軟件等。然而,這些應(yīng)用有一個共同的屬性:它們都使用加密公共數(shù)據(jù)集作為智能合約實現(xiàn)的業(yè)務(wù)流程是在鏈上執(zhí)行的,并且在沒有訪問鏈外輸入的情況下,它的效用是有限的。
要關(guān)閉循環(huán)并允許雙向互操作,我們不僅需要使區(qū)塊鏈數(shù)據(jù)以編程方式可用于云服務(wù),還需要使云服務(wù)以編程方式實現(xiàn)與智能合約的鏈上交互。下面,我們將演示特定的智能合約平臺(以太坊)如何通過Oracle中間件(ChainLink)與谷歌的企業(yè)云數(shù)據(jù)倉庫(BigQuery)進行互操作。此組件組合允許智能合約根據(jù)從鏈上查詢到Internet托管數(shù)據(jù)庫的數(shù)據(jù)執(zhí)行操作。
從高level來看,以太坊Dapp(即智能合約應(yīng)用)從ChainLink請求數(shù)據(jù),ChainLink反過來從使用谷歌應(yīng)用引擎和BigQuery構(gòu)建的Web服務(wù)中檢索數(shù)據(jù)。為了從BigQuery中檢索數(shù)據(jù),Dapp調(diào)用ChainLinkOracle合約,并包括對要服務(wù)的參數(shù)化請求的付款(例如,在指定時間點的gas價格)。一個或多個Chainlink節(jié)點正在監(jiān)聽這些調(diào)用,在觀察到這些調(diào)用后,將執(zhí)行請求的作業(yè)。外部適配器是面向服務(wù)的模塊,它將Chainlink節(jié)點的功能擴展到經(jīng)過身份驗證的API、支付網(wǎng)關(guān)和外部區(qū)塊鏈。在這種情況下,Chainlink節(jié)點與專門構(gòu)建的應(yīng)用引擎Web服務(wù)交互。在GCP上,開發(fā)者使用應(yīng)用引擎標(biāo)準(zhǔn)環(huán)境實現(xiàn)了一個Web服務(wù)。之所以選擇應(yīng)用引擎,是因為它的低成本、高可擴展性以及無服務(wù)器部署模型。應(yīng)用引擎從BigQuery中檢索數(shù)據(jù),而后者承載了公共加密貨幣數(shù)據(jù)集。谷歌云提供的數(shù)據(jù)來自封閉查詢,即其不允許從BigQuery請求任意數(shù)據(jù),只允許參數(shù)化查詢的結(jié)果。具體來說,應(yīng)用程序可請求(a)特定以太坊區(qū)塊號或(b)特定日歷日期的平均gas價格。
在Web服務(wù)成功響應(yīng)之后,Chainlink節(jié)點使用返回的數(shù)據(jù)調(diào)用Chainlinkoracle合約,從而調(diào)用Dapp合約,然后觸發(fā)下游Dapp特定業(yè)務(wù)邏輯的執(zhí)行。過程如下圖所示。有關(guān)集成Dapp的詳細信息,請參閱谷歌云通過Chainlink從BigQuery請求數(shù)據(jù)的文檔。對BigQuery的說明性查詢,可以按日期和區(qū)塊編號查看gas價格。
在本節(jié)內(nèi)容中,我們將描述如何使用谷歌云和Chainlink構(gòu)建有用的應(yīng)用程序。
用例1:預(yù)測市場
預(yù)測市場的參與者一般會分配資本來推測未來的事件。舉一個備受關(guān)注的例子:參與者可能會賭巴西是否會在2018年FIFA世界杯上奪冠,因此,他們可以在市場上購買巴西奪冠的衍生品來參與該市場。這種購買衍生品的方式,使參與者從博彩中得到收益。
谷歌云和ChainLink的組合可以為此類市場帶來很大的好處。通過接入外部數(shù)據(jù)源,這種組合可以提供更準(zhǔn)確的數(shù)據(jù),從而提高預(yù)測市場的可靠性。例如,在語音助手中使用語音識別技術(shù),以真實的或虛擬的事件的形式提供數(shù)據(jù),從而更好地估計買家和賣家之間的價格差異。此外,通過外部數(shù)據(jù)源提供的數(shù)據(jù),以太坊區(qū)塊鏈可以更好地了解市場的主要驅(qū)動因素。這些措施有助于提高Dapp的可靠性并確保交易的公平性。
用例2:期貨合約
期貨合約可以被認為是一種協(xié)議,其中在未來的某個時間,一個資產(chǎn)將被買或賣,而價格則在合同簽訂之時確定。期貨合約可以被使用來管理風(fēng)險和投機。谷歌云和ChainLink的組合可以提供必要的支持來執(zhí)行這些合約。通過封閉查詢的支持,網(wǎng)絡(luò)將能夠提供各種不同的查詢以準(zhǔn)確估計未來價格。此外,智能合約可以從谷歌云獲得大量的市場和金融數(shù)據(jù),從而使其能夠更好地處理和管理合同。
用例3:交易隱私
最近,許多人開始擔(dān)心區(qū)塊鏈上的交易的隱私問題。智能合約平臺可以通過ChainLink和谷歌云的組合提供不同的隱私級別,以滿足不同類型的用戶需求。例如,只允許雙方交易,并限制外部人員的訪問,使智能合約與相應(yīng)的數(shù)據(jù)源保持隔離。此外,一旦給定的智能合約被執(zhí)行,可以將所需的交易信息增加到區(qū)塊鏈上,從而提高交易的可靠性。
總之,谷歌云和ChainLink的組合提供了一種獨特的方式來實現(xiàn)智能合約的擴展性并提高其可靠性。通過接入各種外部源,區(qū)塊鏈可以更好地了解當(dāng)前局勢,并做出更準(zhǔn)確的決策和預(yù)測。這對于各種行業(yè)和應(yīng)用都有潛在的好處。