选择页面

什么是区块链预言机 Oracle?

区块链预言机是为智能合约提供外部信息的第三方服务。它们充当区块链与外部世界之间的桥梁。

区块链和智能合约无法访问链外数据(网络外的数据)。但是,对于许多合同协议而言,获得来自外部世界的相关信息以执行协议至关重要。

这就是区块链预言机发挥作用的地方,因为它们提供了链外和链上数据之间的链接。预言机在区块链生态系统中至关重要,因为它们扩大了智能合约的运行范围。如果没有区块链预言机,智能合约的用途将非常有限,因为它们只能访问其自身所在网络内的数据。

重要的是要注意,区块链预言机不是数据源本身,而是查询、核实和验证外部数据源,然后对其进行中继转发的层。预言机传输的数据有多种形式——例如价格信息、支付确认或传感器测量的温度值。

调用外界数据,需要借助智能合约,同时消耗网络资源。一些预言机不仅可以将信息传递给智能合约,还可以将反馈发回外部源。

预言机存在有许多不同的类型——区块链预言机的运作方式完全取决于它的设计目的。本文将介绍其中的一些设计。

🔎 区块链预言机示例

假设爱丽丝和鲍勃打赌谁将成为美国总统大选的获胜者。爱丽丝相信共和党候选人会赢,而鲍勃相信民主党会赢。他们就押注条款达成一致,并将资金锁定在一个智能合约中,该合约将根据选举结果将所有资金发放给获胜者。

由于智能合约不能与外部数据交互,它必须依靠预言机向其提供必要的信息——在这里指的是总统选举结果。选举结束后,预言机查询可信任 API 以找出哪个候选人获胜,并将此信息传递给智能合约。然后,合约根据结果将资金发送给 Alice Bob

如果没有预言机传递数据,就无法以参与者不操纵的方式来解决这个赌注。

🔎 区块链预言机有哪些不同类型?

区块链预言机可以根据许多不同的品质进行分类:

  • 来源——数据来自软件还是硬件?
  • 信息的方向——是入还是出?
  • 信任——是中心化的还是去中心化的?

一个预言机可以是包含多个类别。例如,一个从公司网站获取信息的预言机是中心化入站软件预言机。 

✔ 软件预言机

软件预言机与在线信息源交互并将其传输到区块链。这些信息可以来自在线数据库、服务器、网站——本质上可以是网络上的任何数据源。 

软件预言机连接到互联网不仅允许它们向智能合约提供信息,而且还可以实时传输这些信息。这使它们成为最常见的区块链预言机类型之一。

通常由软件预言机提供的信息可以包括汇率、数字资产价格或实时航班信息。

✔ 硬件预言机

一些智能合约需要与现实世界交互。硬件预言机的目的旨在从物理世界获取信息并将其提供给智能合约。此类信息可以从电子传感器、条形码扫描仪或其他信息读取设备中传递。

硬件预言机本质上是将现实世界的事件“翻译”成智能合约可以理解的数字值。

举个例子,比如一个传感器,它检查运输货物的卡车是否已经到达装载区。如果是,它将信息传递给智能合约,然后合约可以根据该信息执行决策。

✔ 入站和出站预言机

入站预言机将信息从外部来源传输到智能合约,而出站预言机将信息从智能合约发送到外部世界。

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

中心化预言机由单个实体控制,并且是智能合约的唯一信息提供者。仅使用一种信息源可能存在风险——合同的有效性完全取决于控制预言机的实体。此外,来自不良行为者的任何恶意干扰都会对智能合约产生直接影响。中心化预言机的主要问题是存在单点故障,这使得合约对漏洞和攻击的弹性降低。

去中心化预言机与公共区块链有一些相同的目标——避免交易对手风险。它们不依赖单一的事实来源,从而提高了提供给智能合约的信息的可靠性。智能合约查询多个预言机以确定数据的有效性和准确性——这就是为什么去中心化预言机也可以称为共识预言机。 

一些区块链项目向其他区块链提供去中心化预言机服务。去中心化预言机在预测市场中也很有用,其中某个结果的有效性可以通过社会共识来验证。

虽然去中心化预言机旨在实现去信任化,但需要注意的是,就像去信任区块链网络一样,去中心化预言机并没有完全消除信任,而是在许多参与者之间分摊信任。

✔ 特定合约的预言机

特定合约的预言机是一种旨在供单个智能合约使用的预言机。这意味着,如果想要部署多个智能合约,则必须开发相应数量的特定于合约的预言机。

这种类型的预言机被认为非常耗时且维护成本高。想要从各种来源提取数据的公司可能会发现这种方法非常不切实际。不过从另一方面来说,由于可以从头开始设计特定于合约的预言机以服务于特定的用例,因此开发人员可以灵活地根据要求对其进行定制。

✔ 人预言机

有时,具有特定领域专业知识的个人也可以充当预言机。他们可以研究和验证来自各种来源的信息的真实性,并将该信息转化为智能合约。由于人预言机可以使用密码学验证他们的身份,因此欺诈者伪造其身份并提供损坏数据的可能性相对较低。

🔎 问题

由于智能合约根据预言机提供的数据执行决策,因此它们是区块链生态系统健康的关键。设计预言机的主要挑战是,如果预言机被破坏,依赖它的智能合约也会被破坏。这通常被称为 Oracle 问题。

由于预言机不是主要区块链共识的一部分,它们不能成为公共区块链可提供安全机制的一部分。第三方预言机之间的信任冲突和智能合约的去信任执行仍然是一个大部分未解决的问题。

中间人攻击也可能是一种威胁,恶意行为者可以访问预言机和合约之间的数据流并修改或伪造数据。

🔎 总结

促进智能合约与外部世界之间通信的可靠机制对于全球采用区块链至关重要。如果没有区块链预言机,智能合约将只能依赖其网络中已有的信息,这将大大限制其能力。 

去中心化预言机有可能引入保护机制,从而消除区块链生态系统中的许多系统性风险。区块链oracle仍然是区块链生态系统发展的关键构件之一,需要以安全、可靠和去信任化的方式实现。

编译:LeYeng@W

声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资建议及暗示,本站所发布文章仅代表第三方作者个人观点,与链龙社区官方立场无关。虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险。请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识。