来自社区提交的内容。作者:瓦莱里·牟


内容

  • 什么是区块链预言机?

  • 使用预言机的示例

  • 神谕的种类

    • 软件预言机

    • 硬件预言机

    • 传入和传出的预言机

    • 集中式和分散式预言机

    • 基于合约的预言机

    • 甲骨文人

  • 预言机的问题方面

  • 结论


什么是区块链预言机?

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

区块链和智能合约无法访问链外(网络外)的数据。然而,对于许多合同来说,能够从外界提取相关信息以遵守协议条款至关重要。

在这种情况下,预言机就发挥了作用,因为它们提供了外部和内部资源之间的通信。预言机是区块链生态系统的重要组成部分,因为它们扩展了智能合约的功能。如果没有预言机,智能合约将受到极大限制,因为它们只能访问其网络内的数据。

值得注意的是,预言机本身不是数据源,而是请求、验证和验证来自外部源的所有读数,然后中继此信息的层之一。预言机传输的数据有多种形式:价格信息、支付成功完成或传感器测量的温度。

要从外部请求数据,您需要激活智能合约并在其上花费网络资源。一些预言机不仅能够将信息传输到智能合约,还能够将其发送回外部源。

预言机有许多不同类型,但其工作原理完全取决于其用途。在本文中,我们将了解其中一些品种。


使用预言机的示例

假设爱丽丝和鲍勃正在打赌谁将赢得美国总统选举。爱丽丝认为共和党候选人会获胜,鲍勃认为民主党代表会获胜。他们同意投注条款,并将一部分资金锁定在智能合约中,该合约根据选举结果向获胜者提供奖金。

由于智能合约无法与外部数据源交互,因此完全依赖于预言机为其提供必要的信息,在本例中为总统选举的结果。选举结束后,预言机向可信 API 发出请求,以查明哪位候选人获胜,并将此信息传递给智能合约。然后,合约根据结果将资金发送给 Alice 或 Bob。

如果没有预言机的活动(中继数据包),那么在没有第三方干预的情况下就无法确定获胜者。


神谕的种类

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

  • 来源——数据来自软件还是硬件?

  • 信息的方向——传入还是传出?

  • 信任——集中还是分散?

一个预言机可以同时分为多个类别。例如,从公司网站接收信息的预言机是集中式、基于软件的预言机。


软件预言机

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

软件预言机连接到互联网的事实使它们不仅可以为智能合约提供信息,还可以实时广播这些信息。这使它们成为区块链上最常见的预言机之一。

基本上,软件预言机依赖的数据包括:交易所评级、数字资产价格、实时航班信息等。


硬件预言机

对于某些智能合约来说,与现实世界的交互是必要的。硬件预言机旨在从物理世界获取信息并将其提供给智能合约。这些信息可以从传感器、条形码扫描仪和其他信息读取设备传输。

其核心是,硬件预言机将真实事件“翻译”为可以使用智能合约读取的数字值。

一个例子是检查运载货物的卡车是否已到达装卸区的传感器。如果是这样,它将信息传递给智能合约,然后智能合约可以据此做出决定。

如果您想了解有关此主题的更多信息,我们建议您阅读以下文章:区块链技术用例:供应链。


传入和传出的预言机

传入的预言机从外部源提取信息并将其传输到智能合约,而传出的预言机则按相反的顺序行事,即他们从智能合约收到的数据由预言机传输到外部源。

例如,传入的预言机告诉智能合约传感器正在测量的温度,而传出的预言机则调节智能锁的操作。如果资金存入该地址,智能合约会通过传出预言机将此信息发送到解锁智能锁的机制。


集中式和分散式预言机

中心化预言机由一个法人或个人控制,是智能合约的唯一信息提供者。仅使用一种来源可能存在风险,因为合同的有效性完全取决于控制实体。此外,欺诈者的任何恶意干预都会对智能合约产生直接影响。中心化预言机的主要问题是存在单点故障,这使得合约更容易受到攻击,并且更难抵抗攻击。

去中心化预言机和公共区块链在避免交易对手风险方面有着相同的目标。它们通过消除单一事实来源来提高所提供信息的可靠性。智能合约同时向多个预言机请求信息,以确定数据的有效性和准确性,因此,去中心化预言机也可以称为共识预言机。

一些区块链项目为其他区块链提供去中心化的预言机服务。去中心化预言机在预测市场中也很有用,可以根据社会共识来确认特定结果的有效性。

虽然去中心化预言机的目标是实现信任,但它们就像不信任的区块链网络一样,并没有完全消除信任某人的需要,而是将其分配给许多参与者。


基于合约的预言机

面向合约的预言机是一种专门在单个智能合约中使用的预言机。这意味着,如果想要部署多个智能合约,就必须开发一定数量的以合约为中心的预言机。

此类预言机被认为是非常耗费人力且维护成本高昂的。想要从多个来源提取数据的公司可能会发现这种方法非常不切实际。另一方面,由于这种类型的预言机可以从头开始开发以适应特定的用例,因此其开发人员在指定预言机的必要要求方面具有很高的灵活性。


甲骨文人

有时,某一特定领域的专家也可以充当先知。他们的职责包括研究和验证从各种来源收到的信息的真实性,并将已处理的数据传输到智能合约。由于人类预言机可以使用密码学来验证他们的身份,因此欺诈者代表他们进行身份验证并提供篡改数据的可能性相对较低。


预言机的问题方面

由于智能合约根据预言机提供的数据做出决策,因此它们是区块链生态系统健康运行的关键。开发预言机面临的主要问题是,预言机可能受到负面影响的风险直接影响基于它的智能合约的运行。这通常被称为“预言机问题”。

不幸的是,预言机不是公共区块链安全机制的一部分,因为它们与区块链网络的共识没有任何关系。第三方预言机之间的信任冲突和智能合约的不可靠执行仍然是一个尚未解决的问题。

当攻击者访问预言机和合约之间的数据流并修改或伪造传输的数据时,中间人攻击也可能构成威胁。


结论

促进智能合约与外界沟通的可靠机制对于全球范围内公众接受区块链技术至关重要。如果没有预言机,智能合约将仅依赖于网络中已有的信息,这极大地限制了它们的能力。

去中心化预言机在引入安全机制方面具有巨大潜力,可以消除区块链生态系统中的大部分系统性风险。预言机仍然是最重要的构建模块之一,必须以安全、可靠和可信的方式实施,以促进区块链技术和整个生态系统的进一步发展。