什么是区块链中的Oracle

Oracle是智能合约生态系统的重要组成部分。智能合约的局限性在于它们无法访问外部数据,这可能是控制业务逻辑执行所必需的。例如,合同释放股息所需要的证券产品的股票价格。甲骨文可以用来提供
外部数据到智能合约。 Oracle是一个接口,可将数据从外部源传递到智能合约。

根据行业和需求,Oracle可以提供各种类型的数据,从天气预报,真实新闻和公司行动到物联网(IoT)设备的数据。 Oracle是使用安全通道将数据传输到智能合约的受信任实体。

Oracle还能够对数据进行数字签名,以证明数据源是真实的。然后,智能合约可以订阅Oracle,并且智能合约可以提取数据,或者Oracle可以将数据推送到智能合约。 Oracle还必须不能操纵Oracle提供的数据,而必须能够提供真实的数据。

即使Oracle是受信任的,在某些情况下由于操作仍可能导致数据不正确。因此,Oracle必须无法更改数据。可以通过使用各种公证方案来提供此验证

通过这种方法,已经可以看到一个在某些情况下可能不希望的问题,那就是信任问题。您如何信任第三方提供的数据的质量和真实性?这在金融世界中尤其如此,在金融世界中,市场数据必须准确可靠。精明的合同设计者可以接受由信誉良好的大型第三方提供的Oracle数据。
政党,但集中化问题仍然存在。这些类型的Oracle可以称为标准Oracle或简单Oracle。例如,数据源可以来自信誉卓著的天气报告机构或中继航班延误的机场信息系统。

可以用来确保第三方来源为Oracle提供的数据的可信度的另一个概念是,数据来自多个来源。甚至具有访问和某些数据知识的用户或公众也可以提供所需的数据。

然后可以汇总此数据,并且如果从多个来源提供了大量相同的信息,则很有可能数据是正确的并且可以信任。

基本上由于分散要求而出现的另一种Oracle,称为分散Oracle。可以基于某种分布式机制来构建这些类型的Oracle。还可以设想,Oracle可以从分布式共识驱动的另一个区块链中找到自己的源数据,从而确保数据的真实性。例如,一家私立学校
区块链可以通过Oracle发布其数据供稿,然后供其他区块链使用。

研究人员还引入了另一种硬件Oracle概念,即需要来自物理设备的真实数据。例如,它可以用于遥测和物联网。

但是,这种方法需要硬件设备防篡改的机制。这可以通过提供IoT设备数据的加密证据(不可抵赖性和完整性)以及IoT设备上的防篡改机制来实现,这会使设备在进行篡改尝试时无法使用。下图显示了Oracle和智能合约生态系统的通用模型:

现在有可用的平台,使智能合约能够使用Oracle获取外部数据。 Oracle使用不同的方法将数据写入区块链,具体取决于所使用的区块链的类型。例如,在比特币区块链中,Oracle可以将数据写入特定交易,而智能合约可以在区块链中监控该交易并读取数据。

阅读更多 : 身份管理中的区块链用例

提供Oracle服务的各种在线服务,例如http://www.oraclize.it/和https://www.realitykeys.com/。还可以通过https://smartcontract.com/获得另一项服务,该服务提供外部数据并可以使用智能合约进行付款。

所有这些服务旨在使智能合约能够获取执行和决策所需的数据。为了证明Oracle从外部源检索到的数据的真实性,可以使用TLSnotary之类的机制来产生数据源与Oracle之间的通信证明。这样可以确保将数据反馈给智能
从源中检索合同

阅读有关区块链的更多信息:

发表评论

电子邮件地址不会被公开。 必填项已用*标注