Alice  Klocko

Alice Klocko

1643039460

您将了解什么是区块链预言机?为什么我们需要预言机?

在这篇文章中,您将了解什么是区块链预言机?为什么我们需要预言机?

预言机为在区块链技术上运行的智能合约提供外部数据。它们本质上是外部世界与区块链世界之间的一种交流形式。因为区块链和智能合约是封闭系统——其中有连接外部数据源的严格流程——预言机提供了一种安全地向区块链网络的链上环境提供链下数据的方法。在这里,我们讨论了几种不同类型的预言机,并涵盖了预言机在执行智能合约的角色中面临的潜在挑战。

区块链预言机是将区块链连接到外部系统的实体,允许智能合约根据现实世界的输入和输出执行。Oracle 为 Web 3.0 生态系统提供了一种连接现有遗留系统、数据源和高级计算的方法。 

去中心化预言机网络 (DON) 支持混合智能合约的实施,其中链下基础设施和链上代码耦合以提供复杂的去中心化应用程序 (DApps),这些应用程序对现实世界事件作出反应并与传统系统交互。

假设 Alice 和 Bob 希望对赛马的结果下注。总计 80 美元由智能合约托管,Alice 在 X 队下注 50 美元,Bob 在 Y 队下注 30 美元。智能合约如何知道游戏结束时是把钱给 Alice 还是 Bob?解决方案是需要一个预言机机制来在链下检索准确的匹配结果,并将它们安全可靠地传送到区块链。

由于区块链的分布式账本方面,网络中的每个节点必须在给定相同输入的情况下获得相同的结果。例如,如果一个节点试图验证另一个节点的交易,它将得到不同的结果。该架构被创建为确定性的。

共识是在区块链中就数据价值达成一致的技术,节点达成共识需要确定性。其中一些您可能很熟悉,例如具有 Nakamoto 共识的工作量证明 (PoW) 和具有拜占庭共识的权益证明 (PoS)。首先使区块链发挥作用的主要因素之一是共识。

然而,区块链世界需要与现实世界连接。要拥有 DeFi,我们需要将以太 (ETH) 和其他加密货币的价格纳入合约。我们需要气象数据来提供去中心化、去信任的保险。要将区块链用于其最基本的用途之一,即智能合约,我们需要数据。那么,鉴于这种限制,我们如何连接世界呢?

区块链预言机问题

区块链预言机困境凸显了智能合约的一个关键限制,即它们无法以任何方式连接其原生区块链上下文之外的数据和系统。外部资源被称为“链下”,而当前记录在区块链上的数据被称为“链上”。 

区块链通过有目的地与外部系统分离来实现其最有益的品质,例如防止双重支出攻击、对用户交易真实性的强烈共识以及减少网络停机时间。为了安全地与来自区块链的链下系统交互并弥合两个环境之间的差距,您需要一个额外的基础设施,称为“预言机”。

由于绝大多数智能合约用例(例如 DeFi)都需要了解现实世界的数据和链下发生的事件,因此解决预言机问题至关重要。因此,预言机通过为链下资源提供通用网关,同时保持区块链的关键安全质量,拓宽了区块链可能实现的数字合约类型。 

金融资产价格、政府身份验证、游戏随机性、保险天气信息只是从预言机与智能合约集成中获利的几个行业。

为什么我们需要预言机?

大多数区块链都有用于转移价值、启用协议操作或促进治理的本地加密货币。一些区块链还支持智能合约:在区块链协议中运行的计算机程序,并在以可追溯和不可逆的方式满足某些条件时自动执行一组预定的操作。智能合约在没有第三方的情况下执行,并且可以设计为执行几乎任何可以想象的合约。

例如,如果您使用加密货币购买房屋,则可能会起草一份简单的智能合约进行销售。它会说“如果 A 人将所需的资金发送给 B 人,那么房屋的契约就会从 B 人转移给 A 人”。一旦满足智能合约的条件,它就会根据其编码编程不可逆转地执行。无需依赖传统的第三方来发起或执行合同。

但是,区块链和链上智能合约需要有一种方法来利用外部的链下数据,以便智能合约具有任何现实世界的应用程序。在上面的房地产交易示例中,链下数据可能是成功付款的证明,或者是收到契约的证明。由于区块链是独立的系统,这就是预言机发挥作用的地方

区块链预言机:外部数据的提供者

预言机为区块链或智能合约提供了一种与外部数据交互的方式。它们就像区块链之外的世界的应用程序编程接口 (API)。在许多情况下,外部数据需要与封闭的区块链系统进行通信——尤其是当智能合约连接到现实世界的事件时。加密预言机查询、验证和验证外部数据,然后将其中继到封闭系统。然后,经过身份验证的数据将用于验证智能合约。

入站与出站 Oracle

预言机建立了与区块链的双向通信线路:数据可以传入或传出。虽然出站预言机可以将区块链数据带到外部世界,但入站预言机将链下或现实世界的数据带到区块链更为常见。导入的信息几乎可以代表任何东西——从资产价格波动到天气状况,再到成功支付的证明。

入站预言机的常见可编程场景可能是:“如果资产达到某个价格,则下达买入订单。” 再举一个例子,假设 A 与 B 打赌,将连续一周下雨。投注金额将锁定在智能合约中,预言机将提供准确且不可变的天气数据报告,资金将交付给 A 人或 B 人——这取决于数据是否显示连续一周下雨。

相比之下,出站预言机将链上发生的事件通知给外部世界。例如,如果在特定的加密钱包地址收到加密货币付款,则可以对智能合约进行编程,以解锁现实世界中租赁单元上的互联网智能锁。

软件与硬件预言机

大多数加密预言机都处理数字信息,尽管情况并非总是如此。软件预言机提供来自网站、服务器或数据库等数字源的数据,而硬件预言机则提供来自现实世界的数据。软件预言机可以提供实时信息,例如汇率、价格波动或航班信息。硬件预言机可以传递和中继来自相机运动传感器、射频识别 (RFID) 传感器、温度计或条形码扫描仪的信息。

区块链预言机有什么作用?

任何将确定性区块链连接到链下数据的设备或实体都称为区块链预言机。每个数据输入都通过这些预言机中的外部事务进行路由。 

但是,我们可以确定区块链包含以这种方式验证自身所需的所有信息。预言机被视为区块链中间件,因为它们充当了两个领域之间的纽带。

Chainlink 是去中心化预言机的行业标准,因为它克服了对外部数据的访问和智能合约的集中化问题。那么,什么是 Chainlink 预言机?

Chainlink 是一个去中心化的预言机网络,它将现实世界的数据提供给区块链智能合约。LINK代币是用于支付网络服务的数字资产代币。

另一方面,单个集中式预言机会导致分散的、区块链安全的智能合约应该解决的特定问题:单点故障。那么,如果预言机出现故障或受损,您如何知道您的数据是否准确呢?如果它所依赖的数据是可疑的,那么区块链上的安全、可靠、智能合约有什么用?

Chainlink(一个分散的节点网络)解决了这个问题,它使用预言机将来自链外来源的数据和信息提供给链上智能合约。该技术与其他安全技术一起,消除了仅使用单个集中式源可能出现的可靠性困难。

Chainlink 与区块链无关,因为它使用单一框架连接所有主要的公共和私有区块链环境,为跨网络通信提供典型的抽象级别。

因此,您可以参考已经从现实世界中提取并使用Chainlink等服务收集的去中心化数据,类似于公共图书馆,除了去中心化数据。您甚至可以创建模块化预言机网络来获取您需要的任何特定信息。此外,您可以执行脱链计算并将数据传输到现实世界。

其他顶级区块链预言机是 Witnet、Paralink、Provable 和 Dos.Network。这些服务提供由智能合约和一些链下组件组成的预言机,这些组件可以查询应用程序用户界面(API),然后发送交易以定期更新智能合约中的数据。

区块链预言机的类型

预言机提供区块链或智能合约来与外部数据进行通信。相反,它们充当了与区块链外部世界的接口。在许多情况下,必须将外部数据传送到封闭的区块链系统,尤其是当智能合约与现实世界事件相关联时。外部数据由加密预言机查询、验证和认证,然后将其中继到封闭系统。之后,经过验证的数据将用于验证智能合约。

硬件和软件预言机

尽管情况并非总是如此,但大多数加密预言机都会分析数字数据。硬件预言机提供来自物理世界的数据,而软件预言机则提供来自网站、服务器或数据库等数字源的数据。此外,来自相机运动传感器和射频识别 (RFID) 传感器的信息可以通过硬件预言机传递和中继。实时数据,例如汇率、价格变化和旅行信息,可以通过软件预言机传递。 

入站和出站预言机

预言机与区块链建立双向通信通道,将数据发送进出。虽然出站预言机可以将区块链数据传送到外部世界,但入站预言机更有可能将链下或现实世界的数据传送到区块链。此外,导入的数据几乎可以代表任何东西,从资产价格波动到气象条件,再到已完成付款的验证。

对于入站预言机,常见的可编程场景可能是:如果资产达到特定价格,则下达买入订单。另一方面,出站预言机向外部世界发出链上发生事件的警报。

中心化和去中心化的预言机

集中式预言机由单个实体管理,并作为智能合约的唯一数据源。仅使用一种信息源可能很危险,因为合同的有效性完全取决于负责预言机的实体。 

不良行为者的恶意干预也会直接影响智能合约。中心化预言机的根本问题是它们存在单点故障,使得合约更容易受到攻击和弱点。

去中心化预言机的一些目标与公共区块链的目标相似,例如最小化交易对手风险。例如,它们不依赖于单一的事实来源,从而使传递给智能合约的信息更加可靠。 

智能合约咨询多个预言机来评估数据的有效性和准确性;这就是为什么去中心化预言机也被称为共识预言机。其他区块链可以使用一些区块链预言机项目提供的去中心化预言机服务。

人类神谕

在特定领域具有专业知识的个人有时可以充当神谕。他们可以从各种来源收集信息,检查其合法性并将其转换为智能合约。因为人类神谕可以使用密码学来验证他们的身份,所以欺诈者冒充他们并提供篡改数据的机会很小。

特定于合约的预言机

这些预言机可以与单一的智能合约一起使用。如果开发人员打算部署大量智能合约,则有必要构建各种特定于合约的预言机。

特定于合约的预言机不值得花时间和工作来让它们保持最新状态。相反,它们很不方便,只能在特定情况下使用。

计算神谕

到目前为止,我们刚刚在寻找和提供数据方面讨论了预言机(也称为数据载体预言机或自动预言机)。然而,预言机可用于执行任意“链下”计算解决方案,考虑到以太坊固有的块气体约束和非常高的计算成本,这尤其有益。

计算预言机,而不仅仅是中继查询的结果,可用于对一组输入执行计算并返回计算结果,否则将无法在链上计算。例如,为了估计债券合约的收益率,可以使用计算预言机来执行计算复杂的回归计算。

Oracle 设计模式 

根据定义,所有讨论的预言机都扮演着几个关键角色。这些能力包括: 

  • 从非区块链来源收集数据。
  • 使用签名消息,在链上发送数据。
  • 通过将数据存储在智能合约的存储中来使数据可访问。

一旦数据存储在智能合约的存储中,其他自动协议就可以通过调用预言机智能合约的“检索”功能的消息调用来访问它。它也可以通过“查看”预言机的存储直接由以太坊节点或支持网络的客户端“调用”。

建立预言机的三种主要方式可以分类如下:

立即阅读

即时阅读预言机提供的信息仅用于快速决策,例如“这个学生是否超过 25 岁?” 那些想要查询此类数据的人通常是在“即时”的基础上进行的,这意味着仅在需要信息时才进行查找。 

例如拨号代码、学历证书、机构会员资格、机场识别和其他神谕。

发布-订阅

一个有效地为可能发生变化的数据(可能定期和频繁地)提供广播服务的预言机要么由链上的智能合约轮询,要么由链下守护程序监视更新。天气数据、价格信息、经济或社会统计数据和交通数据只是发布-订阅设置的几个示例。

请求-响应

最具挑战性的类别是请求-响应:这是数据空间太大而无法存储在智能合约中的类别,并且预计用户一次只能使用整个信息的一小部分。对于数据提供商来说,这也是一种可行的商业策略。 

在实践中,这样的预言机可以实现为链上智能合约和链下基础设施的系统,用于监控请求以及检索和返回数据。来自去中心化应用程序的数据请求通常是一个异步过程,具有以下多个步骤:

预言机在 DApp 中的应用

Oracle 是一种机制,用于弥合脱链世界与市场上许多 DApp 使用的智能合约之间的差距。以下是预言机可能提供的一些数据实例:

  • 时间和间隔数据用于基于精确时间测量的事件触发。
  • 来自资本市场的数据,例如代币化资产和证券的定价组合。
  • 基准参考数据,例如利率,包含在智能金融衍生品中。
  • 例如,天气数据用于根据天气预报计算保险费。
  • 地理位置数据,例如用于供应链跟踪的数据。
  • 对于保险合同,需要进行损坏验证。
  • 体育赛事用于解决预测市场和梦幻体育合同。
  • 航班统计数据,例如团体和俱乐部用来汇总机票的统计数据。

通过将外部数据纳入等式,预言机在智能合约执行中发挥着关键作用。另一方面,预言机构成了巨大的危险,因为如果它们是受信任的来源并且可以被黑客入侵,它们可能会危及它们提供的智能合约的执行。

代币交易的顶级交易所。遵循指示并无限赚钱

BinanceBittrexPoloniexBitfinex火币MXCProBITGate.ioCoinbase

一般来说,在考虑使用预言机时,必须仔细考虑信任模型。如果我们假设预言机是可以信任的,那么你可能会牺牲智能合约的安全性,因为它会将其暴露在可能不正确的输入中。但是,如果仔细考虑安全假设,预言机可能很有价值。

其中一些问题可以通过去中心化的预言机来解决,为以太坊智能合约提供不可信的外部数据。在开始探索以太坊与现实世界之间的预言机桥梁之前,您必须仔细选择它。

What is GEEK

Buddha Community

Alice  Klocko

Alice Klocko

1643039460

您将了解什么是区块链预言机?为什么我们需要预言机?

在这篇文章中,您将了解什么是区块链预言机?为什么我们需要预言机?

预言机为在区块链技术上运行的智能合约提供外部数据。它们本质上是外部世界与区块链世界之间的一种交流形式。因为区块链和智能合约是封闭系统——其中有连接外部数据源的严格流程——预言机提供了一种安全地向区块链网络的链上环境提供链下数据的方法。在这里,我们讨论了几种不同类型的预言机,并涵盖了预言机在执行智能合约的角色中面临的潜在挑战。

区块链预言机是将区块链连接到外部系统的实体,允许智能合约根据现实世界的输入和输出执行。Oracle 为 Web 3.0 生态系统提供了一种连接现有遗留系统、数据源和高级计算的方法。 

去中心化预言机网络 (DON) 支持混合智能合约的实施,其中链下基础设施和链上代码耦合以提供复杂的去中心化应用程序 (DApps),这些应用程序对现实世界事件作出反应并与传统系统交互。

假设 Alice 和 Bob 希望对赛马的结果下注。总计 80 美元由智能合约托管,Alice 在 X 队下注 50 美元,Bob 在 Y 队下注 30 美元。智能合约如何知道游戏结束时是把钱给 Alice 还是 Bob?解决方案是需要一个预言机机制来在链下检索准确的匹配结果,并将它们安全可靠地传送到区块链。

由于区块链的分布式账本方面,网络中的每个节点必须在给定相同输入的情况下获得相同的结果。例如,如果一个节点试图验证另一个节点的交易,它将得到不同的结果。该架构被创建为确定性的。

共识是在区块链中就数据价值达成一致的技术,节点达成共识需要确定性。其中一些您可能很熟悉,例如具有 Nakamoto 共识的工作量证明 (PoW) 和具有拜占庭共识的权益证明 (PoS)。首先使区块链发挥作用的主要因素之一是共识。

然而,区块链世界需要与现实世界连接。要拥有 DeFi,我们需要将以太 (ETH) 和其他加密货币的价格纳入合约。我们需要气象数据来提供去中心化、去信任的保险。要将区块链用于其最基本的用途之一,即智能合约,我们需要数据。那么,鉴于这种限制,我们如何连接世界呢?

区块链预言机问题

区块链预言机困境凸显了智能合约的一个关键限制,即它们无法以任何方式连接其原生区块链上下文之外的数据和系统。外部资源被称为“链下”,而当前记录在区块链上的数据被称为“链上”。 

区块链通过有目的地与外部系统分离来实现其最有益的品质,例如防止双重支出攻击、对用户交易真实性的强烈共识以及减少网络停机时间。为了安全地与来自区块链的链下系统交互并弥合两个环境之间的差距,您需要一个额外的基础设施,称为“预言机”。

由于绝大多数智能合约用例(例如 DeFi)都需要了解现实世界的数据和链下发生的事件,因此解决预言机问题至关重要。因此,预言机通过为链下资源提供通用网关,同时保持区块链的关键安全质量,拓宽了区块链可能实现的数字合约类型。 

金融资产价格、政府身份验证、游戏随机性、保险天气信息只是从预言机与智能合约集成中获利的几个行业。

为什么我们需要预言机?

大多数区块链都有用于转移价值、启用协议操作或促进治理的本地加密货币。一些区块链还支持智能合约:在区块链协议中运行的计算机程序,并在以可追溯和不可逆的方式满足某些条件时自动执行一组预定的操作。智能合约在没有第三方的情况下执行,并且可以设计为执行几乎任何可以想象的合约。

例如,如果您使用加密货币购买房屋,则可能会起草一份简单的智能合约进行销售。它会说“如果 A 人将所需的资金发送给 B 人,那么房屋的契约就会从 B 人转移给 A 人”。一旦满足智能合约的条件,它就会根据其编码编程不可逆转地执行。无需依赖传统的第三方来发起或执行合同。

但是,区块链和链上智能合约需要有一种方法来利用外部的链下数据,以便智能合约具有任何现实世界的应用程序。在上面的房地产交易示例中,链下数据可能是成功付款的证明,或者是收到契约的证明。由于区块链是独立的系统,这就是预言机发挥作用的地方

区块链预言机:外部数据的提供者

预言机为区块链或智能合约提供了一种与外部数据交互的方式。它们就像区块链之外的世界的应用程序编程接口 (API)。在许多情况下,外部数据需要与封闭的区块链系统进行通信——尤其是当智能合约连接到现实世界的事件时。加密预言机查询、验证和验证外部数据,然后将其中继到封闭系统。然后,经过身份验证的数据将用于验证智能合约。

入站与出站 Oracle

预言机建立了与区块链的双向通信线路:数据可以传入或传出。虽然出站预言机可以将区块链数据带到外部世界,但入站预言机将链下或现实世界的数据带到区块链更为常见。导入的信息几乎可以代表任何东西——从资产价格波动到天气状况,再到成功支付的证明。

入站预言机的常见可编程场景可能是:“如果资产达到某个价格,则下达买入订单。” 再举一个例子,假设 A 与 B 打赌,将连续一周下雨。投注金额将锁定在智能合约中,预言机将提供准确且不可变的天气数据报告,资金将交付给 A 人或 B 人——这取决于数据是否显示连续一周下雨。

相比之下,出站预言机将链上发生的事件通知给外部世界。例如,如果在特定的加密钱包地址收到加密货币付款,则可以对智能合约进行编程,以解锁现实世界中租赁单元上的互联网智能锁。

软件与硬件预言机

大多数加密预言机都处理数字信息,尽管情况并非总是如此。软件预言机提供来自网站、服务器或数据库等数字源的数据,而硬件预言机则提供来自现实世界的数据。软件预言机可以提供实时信息,例如汇率、价格波动或航班信息。硬件预言机可以传递和中继来自相机运动传感器、射频识别 (RFID) 传感器、温度计或条形码扫描仪的信息。

区块链预言机有什么作用?

任何将确定性区块链连接到链下数据的设备或实体都称为区块链预言机。每个数据输入都通过这些预言机中的外部事务进行路由。 

但是,我们可以确定区块链包含以这种方式验证自身所需的所有信息。预言机被视为区块链中间件,因为它们充当了两个领域之间的纽带。

Chainlink 是去中心化预言机的行业标准,因为它克服了对外部数据的访问和智能合约的集中化问题。那么,什么是 Chainlink 预言机?

Chainlink 是一个去中心化的预言机网络,它将现实世界的数据提供给区块链智能合约。LINK代币是用于支付网络服务的数字资产代币。

另一方面,单个集中式预言机会导致分散的、区块链安全的智能合约应该解决的特定问题:单点故障。那么,如果预言机出现故障或受损,您如何知道您的数据是否准确呢?如果它所依赖的数据是可疑的,那么区块链上的安全、可靠、智能合约有什么用?

Chainlink(一个分散的节点网络)解决了这个问题,它使用预言机将来自链外来源的数据和信息提供给链上智能合约。该技术与其他安全技术一起,消除了仅使用单个集中式源可能出现的可靠性困难。

Chainlink 与区块链无关,因为它使用单一框架连接所有主要的公共和私有区块链环境,为跨网络通信提供典型的抽象级别。

因此,您可以参考已经从现实世界中提取并使用Chainlink等服务收集的去中心化数据,类似于公共图书馆,除了去中心化数据。您甚至可以创建模块化预言机网络来获取您需要的任何特定信息。此外,您可以执行脱链计算并将数据传输到现实世界。

其他顶级区块链预言机是 Witnet、Paralink、Provable 和 Dos.Network。这些服务提供由智能合约和一些链下组件组成的预言机,这些组件可以查询应用程序用户界面(API),然后发送交易以定期更新智能合约中的数据。

区块链预言机的类型

预言机提供区块链或智能合约来与外部数据进行通信。相反,它们充当了与区块链外部世界的接口。在许多情况下,必须将外部数据传送到封闭的区块链系统,尤其是当智能合约与现实世界事件相关联时。外部数据由加密预言机查询、验证和认证,然后将其中继到封闭系统。之后,经过验证的数据将用于验证智能合约。

硬件和软件预言机

尽管情况并非总是如此,但大多数加密预言机都会分析数字数据。硬件预言机提供来自物理世界的数据,而软件预言机则提供来自网站、服务器或数据库等数字源的数据。此外,来自相机运动传感器和射频识别 (RFID) 传感器的信息可以通过硬件预言机传递和中继。实时数据,例如汇率、价格变化和旅行信息,可以通过软件预言机传递。 

入站和出站预言机

预言机与区块链建立双向通信通道,将数据发送进出。虽然出站预言机可以将区块链数据传送到外部世界,但入站预言机更有可能将链下或现实世界的数据传送到区块链。此外,导入的数据几乎可以代表任何东西,从资产价格波动到气象条件,再到已完成付款的验证。

对于入站预言机,常见的可编程场景可能是:如果资产达到特定价格,则下达买入订单。另一方面,出站预言机向外部世界发出链上发生事件的警报。

中心化和去中心化的预言机

集中式预言机由单个实体管理,并作为智能合约的唯一数据源。仅使用一种信息源可能很危险,因为合同的有效性完全取决于负责预言机的实体。 

不良行为者的恶意干预也会直接影响智能合约。中心化预言机的根本问题是它们存在单点故障,使得合约更容易受到攻击和弱点。

去中心化预言机的一些目标与公共区块链的目标相似,例如最小化交易对手风险。例如,它们不依赖于单一的事实来源,从而使传递给智能合约的信息更加可靠。 

智能合约咨询多个预言机来评估数据的有效性和准确性;这就是为什么去中心化预言机也被称为共识预言机。其他区块链可以使用一些区块链预言机项目提供的去中心化预言机服务。

人类神谕

在特定领域具有专业知识的个人有时可以充当神谕。他们可以从各种来源收集信息,检查其合法性并将其转换为智能合约。因为人类神谕可以使用密码学来验证他们的身份,所以欺诈者冒充他们并提供篡改数据的机会很小。

特定于合约的预言机

这些预言机可以与单一的智能合约一起使用。如果开发人员打算部署大量智能合约,则有必要构建各种特定于合约的预言机。

特定于合约的预言机不值得花时间和工作来让它们保持最新状态。相反,它们很不方便,只能在特定情况下使用。

计算神谕

到目前为止,我们刚刚在寻找和提供数据方面讨论了预言机(也称为数据载体预言机或自动预言机)。然而,预言机可用于执行任意“链下”计算解决方案,考虑到以太坊固有的块气体约束和非常高的计算成本,这尤其有益。

计算预言机,而不仅仅是中继查询的结果,可用于对一组输入执行计算并返回计算结果,否则将无法在链上计算。例如,为了估计债券合约的收益率,可以使用计算预言机来执行计算复杂的回归计算。

Oracle 设计模式 

根据定义,所有讨论的预言机都扮演着几个关键角色。这些能力包括: 

  • 从非区块链来源收集数据。
  • 使用签名消息,在链上发送数据。
  • 通过将数据存储在智能合约的存储中来使数据可访问。

一旦数据存储在智能合约的存储中,其他自动协议就可以通过调用预言机智能合约的“检索”功能的消息调用来访问它。它也可以通过“查看”预言机的存储直接由以太坊节点或支持网络的客户端“调用”。

建立预言机的三种主要方式可以分类如下:

立即阅读

即时阅读预言机提供的信息仅用于快速决策,例如“这个学生是否超过 25 岁?” 那些想要查询此类数据的人通常是在“即时”的基础上进行的,这意味着仅在需要信息时才进行查找。 

例如拨号代码、学历证书、机构会员资格、机场识别和其他神谕。

发布-订阅

一个有效地为可能发生变化的数据(可能定期和频繁地)提供广播服务的预言机要么由链上的智能合约轮询,要么由链下守护程序监视更新。天气数据、价格信息、经济或社会统计数据和交通数据只是发布-订阅设置的几个示例。

请求-响应

最具挑战性的类别是请求-响应:这是数据空间太大而无法存储在智能合约中的类别,并且预计用户一次只能使用整个信息的一小部分。对于数据提供商来说,这也是一种可行的商业策略。 

在实践中,这样的预言机可以实现为链上智能合约和链下基础设施的系统,用于监控请求以及检索和返回数据。来自去中心化应用程序的数据请求通常是一个异步过程,具有以下多个步骤:

预言机在 DApp 中的应用

Oracle 是一种机制,用于弥合脱链世界与市场上许多 DApp 使用的智能合约之间的差距。以下是预言机可能提供的一些数据实例:

  • 时间和间隔数据用于基于精确时间测量的事件触发。
  • 来自资本市场的数据,例如代币化资产和证券的定价组合。
  • 基准参考数据,例如利率,包含在智能金融衍生品中。
  • 例如,天气数据用于根据天气预报计算保险费。
  • 地理位置数据,例如用于供应链跟踪的数据。
  • 对于保险合同,需要进行损坏验证。
  • 体育赛事用于解决预测市场和梦幻体育合同。
  • 航班统计数据,例如团体和俱乐部用来汇总机票的统计数据。

通过将外部数据纳入等式,预言机在智能合约执行中发挥着关键作用。另一方面,预言机构成了巨大的危险,因为如果它们是受信任的来源并且可以被黑客入侵,它们可能会危及它们提供的智能合约的执行。

代币交易的顶级交易所。遵循指示并无限赚钱

BinanceBittrexPoloniexBitfinex火币MXCProBITGate.ioCoinbase

一般来说,在考虑使用预言机时,必须仔细考虑信任模型。如果我们假设预言机是可以信任的,那么你可能会牺牲智能合约的安全性,因为它会将其暴露在可能不正确的输入中。但是,如果仔细考虑安全假设,预言机可能很有价值。

其中一些问题可以通过去中心化的预言机来解决,为以太坊智能合约提供不可信的外部数据。在开始探索以太坊与现实世界之间的预言机桥梁之前,您必须仔细选择它。