AIN:如何使用Chainlink和谷歌云共建区块链+云端混合型应用-ODAILY_区块链

谷歌于去年6月宣布将在谷歌云中集成Chainlink服务,使谷歌的BigQuery数据能供安全、可靠地传输到以太坊区块链上。以下为GoogleCloud开发者AllanDan针对Chainlink和GoogleCloud集成之后可能有怎样的潜在应用所做的分析。

将区块链协议和技术与现代互联网资源和公共云服务相结合,可以大幅提高应用速度。把互联网端数据接入公链会带来更多的应用场景,而使用Chainlink预言机就可以将BigQuery数据传到区块链上,使得这些应用场景成为可能。相关应用场景有很多,本文着重分析其中几种我们认为价值较高并且可以立即投入使用的应用场景,它们分别是预测市场、期货合同和交易隐私。

区块链云端混合型应用

区块链致力于运用数学方式建立共识。最初的区块链出现后,很快就出现了各种创新,实现了点对点的协议,也就是智能合约。计算机科学家NickSzabo在1997年发表的一篇文章中首次提到智能合约这个概念。ColoredCoins等项目在比特币区块链上首次尝试了智能合约。

中国银行原行长李礼辉:把数字人民币打造成全球最佳的央行数字货币:中国银行原行长李礼辉日前在首届“2021西岸金融科技前沿论坛”上表示,“我们应该把数字人民币打造成全球最佳的央行数字货币,一方面确保数字人民币在高并发市场中的规模化可靠应用,另一方面加快数字金融制度建设,抓紧制定数字化金融监管、数字货币监管、法定数字货币发行等金融制度,并在全球数字金融制度和规则的建设中,主动参与并积极争取话语权。”(中证报)[2021/5/23 22:35:28]

智能合约被嵌入了区块链的信息源中,在几个区块后就再也不能被篡改。这就打造了一种信任机制,让区块链的各个参与者可以放心地投入加密资产而不必担心交易对手方风险,因为无须第三方参与,智能合约必然会自动执行。

但上述尝试都无法解决一个根本问题,那就是用于评估合约的参数从何而来。如果数据不是来自于最近添加的链上数据,那么就需要一个可信的外部数据来源。这个数据来源就叫预言机。

在此之前,我们通过GoogleCloud公共数据集项目在BigQuery中免费开放了八个区块链项目的公共数据,以下简称Google区块链公共数据集。如果想了解更多关于这些数据集的信息,可以访问GCP市场。此类数据集资源让许多GCP客户可以基于区块链数据自动分析开发业务流程,比如SaaS利润分享,通过标注网络参与方特征降低服务滥用风险,以及使用静态分析技术侦测软件漏洞和恶意软件。然而,这些应用都有一个共同的特征,那就是他们全都使用了区块链公共数据集作为数据输入,传输至链下业务流程。

历史上的今天丨济南发布首个“区块链+疫情防控”标准:2020年4月9日,首个“区块链+疫情防控”标准在济南诞生,由山大地纬牵头编制的《基于区块链技术的疫情防控信息服务平台建设指南》省级地方标准正式获批发布,这也是山东省首个区块链地方标准。[2021/4/9 20:03:04]

与之相比,通过智能合约执行的链上业务流程如果无法访问链下数据,则效用会受限。为了解决这个问题,并实现双向交互,我们不仅需要让区块链数据与云服务交互,还要让云服务与区块链上的智能合约交互。

接下来,本文将展示一个智能合约平台如何通过预言机中间件与我们的企业云数据库交互。通过这样的交互,智能合约可以在区块链上发送数据请求,并从互联网端数据库提取相应数据,以此触发操作。本文分析的云端+区块链混合型应用模式能让智能合约高效地配置云端资源,完成复杂的操作。我们在之后的文章会进一步探讨该模式的其他应用。

运作原理

跑在以太坊上的应用程序,也就是Dapp,在最高层级从Chainlink请求数据,然后从Google应用引擎和BigQuery端的web服务提取数据。

Coin Center呼吁开发解决方案以在新冠疫情中保护公民隐私:在冠状病大流行期间,加密倡导组织Coin Center已呼吁社区开发基于区块链技术的应对措施,以保护公民自由和隐私。该组织的研究主管Peter Van Valkenburgh表示,作为一个技术社区,我们有责任警惕那些强加于我们的追踪和身份识别技术,因为从长远来看,这些技术可能会危及我们的自主权和隐私。(Cointelegraph)[2020/4/9]

Dapp会触发Chainlink预言机智能合约,从BigQuery提取数据,合约中包含参数化数据请求的费用。一个或多个Chainlink节点会看到数据请求,最终其中一个节点会处理请求任务。Chainlink节点的能力会通过外部适配器,也就是以服务为中心的模块,扩展至授权API、支付网关以及外部区块链。通过Chainlink节点交互,就可以获取应用引擎的web服务。

我们在GCP使用应用引擎标准环境实施了web服务,我们选择应用引擎是因为它成本低廉、可扩展性高而且无须部署服务器。AppEngine从BigQuery提取数据,BigQuery中储存着区块链公共数据集。我们提供的数据是来自于已存数据,也就是说我们不会允许从BigQuery随意请求数据,而只能请求参数化数据,比如应用可以针对以太坊上具体某个区块或具体某个日期要求平均gas价格。

Chainlink节点成功得到web服务响应后,就会向Chainlink预言机合约传回数据,之后会触发Dapp合约,随后触发下游具体的Dapp业务流程执行。详情请参见下方图表:

如果想了解整合Dapp的具体方式,可以参考我们的文档《了解如何通过Chainlink从BigQuery请求数据》。

如何使用BigQueryChainlink预言机

这一部分中,我们将探讨如何利用GoogleCloud和Chainlink开发实用的应用。

应用场景1:预测市场

预测市场中的参与者可以通过资产配置对未来发生的各种事件进行投机操作。区块链行业一个很有趣的问题是,哪个智能合约平台会成为主流,因为网络生态系统的价值将遵循赢者通吃的逻辑。人们对于哪个平台会成功以及成功怎么定义持有许多不同的见解。

通过使用区块链公共数据集,就可以在区块链上处理很复杂的预测。我们在文档中也阐述了如何在具体某个Dapp上通过提取1天/7天/30天活动数据测量Dapp的使用变化、使用量、使用间隔和使用频率。

这些衡量指标包括每日/每周/每月活跃用户,并经常用于web分析和移动App分析,是评估网站和App成功与否的标杆。

应用场景2:对冲区块链平台风险

金融行业成功将现有金融系统复制到了区块链环境中,因此去中心化的金融应用也是大势所趋。金融行业转移到区块链上,从技术角度来看,会比传统金融系统更加值得信任也更加透明。

期货和期权等金融合约的存在原本是为了让企业能够降低或对冲关键资源相关的风险。同样地,如果可以使用平均gas价格这种链上活动数据创建简单的金融工具,就可以对冲gas价格波动的风险。区块链网络的其他特质,比如区块时间和/或矿工中心化等,都为Dapp开发者带来了一定风险,因此也需要做一定对冲,规避风险。

通过从区块链公共数据集中提取优质数据输入到智能合约中,Dapp开发者可以降低风险,并最终带来更多的创新和区块链技术更加广泛的应用。

我们在相关文档中描述了以太坊智能合约如何与BigQuery预言机交互,在任意时间点提取gas价格数据。我们还在智能合约中展示了如何使用预言机基于未来gas价格执行质押合约,这是Dapp正常运行所需的关键数据输入。

应用场景3:使用潜艇交易在整个以太坊上实现交易发布和披露

以太坊最受诟病问题之一就是缺乏交易隐私,导致对手会利用链上数据泄露钻空子,剥削高频智能合约用户的价值,比如包含去中心化交易所地址的抢跑交易。《派出潜水艇,击沉抢跑者》这篇文章里提到提前交易是目前所有去中心化交易所都遇到的问题,而且会拖慢去中心化金融的步伐,因为交易所是许多去中心化金融产品和应用的关键环节。

通过潜艇交易,智能合约用户能够提高交易隐私,并成功避免对手抢跑,这样一来去中心化交易所立刻能拥有更大的实用价值。虽然这个方法对于阻止抢跑等恶性行为特别有效,但如果没有预言机的话,其本身还是具有一定限制。

不使用预言机的潜艇交易会导致区块链变得臃肿不堪。具体来说,以太坊虚拟机让智能合约最多可以看到区块链上256个上游区块,或大约1小时内产生的全部区块。这个最大可见范围限制了潜艇交易的实用性,因为当需要重新广播数据的时候会造成不必要的不规范问题。相较之下,如果使用了预言机,就可以拓宽潜艇交易的操作范围,可以看到链上的所有历史数据,因此区块链也不会变得过于臃肿。

总结

我们已经展示了如何使用Chainlink服务将BigQuery中的区块链公共数据集传输至区块链上。这个技术可以用于提升效率,在一些情况下为以太坊智能合约建立全新的能力,并打造全新的区块链商业模式。

这个方法的核心是用少量的延迟和交易费用换取大量的经济效用。举个具体的例子,普通的潜艇交易所需链上储存的空间复杂度是O(n),要向链上添加新区块,但是如果智能合约等到两个区块后再调用BigQuery预言机,那么空间复杂度就能降低到O(1)。

我们预期这种交互技术将让开发者能够将智能合约平台和云平台的优势结合起来开发混合型应用。我们对结合GoogleCloud平台上的机器学习服务尤为感兴趣。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-16:826ms