区块链预言机:类型、用途及其工作原理

2025年4月10日 | 阅读 12 分钟

尽管智能合约(区块链上的自我执行协议)缺乏访问真实世界数据的能力,但它们拥有巨大的商业潜力。区块链预言机可以帮助解决这个问题。预言机能够安全地将外部数据(如市场价格、航班状态和天气更新)输入到智能合约中。这些数据通过触发合约内的自动化操作,实现了新的自动化和效率水平。

使用区块链技术的企业将受益于预言机。它们简化流程,消除了易出错的手动干预,并提供了访问尖端应用的机会。本教程将探讨各种区块链预言机的类型、它们的功能以及它们为不同企业提供的优势。

什么是预言机?

外部数据,例如温度测量或政党获得的选票,通过一个**“预言机”**发送到区块链。区块链上的智能合约可以使用这些信息来决定是否向收款人付款。本质上,预言机促进了以太坊智能合约的顺序、自动执行。一旦满足条件,智能合约将执行关系条款。它们为去中心化的 Web3 生态系统提供了处理计算和访问当前数据源的方法。

以下是按优先级排列的几种 Oracle 数据库版本

  1. Express Edition:Express Edition (XE) 是一个免费、有限制的版本,适用于WindowsLinux,非常轻量级。
  2. Standard Edition:用户可以使用此版本的基础功能,而无需 Enterprise Edition 的广泛捆绑。
  3. Oracle Lite:此版本专为便携式电子设备而设计。
  4. Personal Edition 与 Enterprise Edition 相当,但缺少 Oracle Real Application Clusters 功能。
  5. Enterprise Edition:企业版是最可靠和最安全的。它提供卓越的性能、安全性和所有功能。

Oracle 的历史

1977 年,Larry Ellison、Bob Miner 和 Ed Oats 在加利福尼亚州成立了 Oracle Corporation,当时名为 Software Development Laboratories。在阅读了一篇描述关系数据库方法的英国研究论文后,发明者认为该系统具有潜力。两年后,该公司推出了 Oracle,这是第一款采用结构化查询语言 (SQL) 的商业关系数据库。1982 年,公司更名为以反映其初始产品,并于 1986 年上市,在纽约证券交易所 (NYSE) 交易,股票代码为Oracle Corp (ORCL)

在成立以来的 40 年里,Oracle 通过收购多家公司来扩展其产品和服务。PeopleSoft、Siebel、BEA、Sun Microsystems、Netsuite 和 Cerner 是著名的例子。2010 年,该公司收购了创造Java编程语言的软件开发公司 Sun Microsystems,进一步深入计算机系统和软件行业。通过此次收购,该公司扩展到硬件行业(IBM.com 外部链接),将其 Java 和 Solaris 操作系统纳入麾下。此外,它还收购了著名的开源数据库MySQL

2020 年,Oracle 将其长期总部从加利福尼亚州红木海岸迁至德克萨斯州奥斯汀。2021 年,它收购了医疗记录业务 Cerner,这是其迄今为止最大的一笔收购。根据福布斯的数据,截至 2023 年,该公司继续快速增长,季度总收入超过 2 亿美元。2023 年秋季,该公司宣布将对所有 Fusion Cloud 产品中的生成式人工智能用例进行重大投资。

区块链的问题

添加到区块链上的任何数据都将成为其历史中一个重要且不可更改的部分,无法删除。如果使用此类数据错误地执行了智能合约,您的合约将受到无法挽回的损坏。

  1. 可扩展性:长期的区块链技术在可扩展性方面存在问题,这对企业来说带来了额外的挑战。要使用此技术,您需要大量的存储空间,并使系统更加安全。验证交易的节点也需要更多的电力来执行所有操作。
  2. 安全性:随着区块链技术的日益复杂,安全问题也日益复杂,消除了被入侵的可能性。例如,任何想在私有区块链上共享数据的人只需要访问一个节点。
  3. 交易速度:将资金从一个账户转移到另一个账户可以加快区块链交易。然而,由于区块链的去中心化特性,日常交易可能会面临风险,因为这些交易在被批准为一个区块之前需要由节点进行验证。

预言机如何解决这个问题?

由于其他节点会知道信息来自“不受信任”的来源,因此一旦区块链问题达成共识,就不可能将外部信息提供给交易数据。因此,理想情况下,预言机——一个所有节点都信任的第三方来源——应该提供信息。

预言机通常收集和存储来自真实世界的数据,而不是直接将信息添加到区块链。当智能合约运行时,代码会从受信任的预言机请求精确数据,充当虚拟管道,将外部数据转换为区块链可以理解的格式。

预言机有什么问题?

像以太坊这样的区块链以其执行智能合约的能力而著称。但是,一旦它们被编程,区块链就会控制智能合约,使交易根据智能合约的条款不可更改。此外,这表明一个实体正在运行预言机,它是一个数据源。如果您信任任何此类数据源,它都可能导致问题。如果所有者为了自身利益发布虚假信息,数据流将提供令人头疼的结果。

或者,任何人都可以通过 hack 数据流来推送数据并完全以自己的利益来左右数据。

区块链预言机是什么?

区块链预言机类似于第三方服务提供商。它们将外部数据提供给智能合约,并将第三方应用程序和服务连接到区块链。区块链和智能合约有意与外部世界隔离。从技术上讲,它们不打算与链外数据或网络外的数据通信。基于区块链的预言机是区块链与其支持的链外和链内数据之间至关重要的连接。链外数据的可用性提高了智能合约的实用性。它扩展了智能合约的潜在应用。如果没有区块链预言机,智能合约将受到限制,因为它们无法与网络外部来源的数据进行通信。区块链预言机通过验证、查询和检查外部数据源来工作,类似于解决方案层。处理完成后,它会传输结果。

此外,区块链预言机还可以提供有用的信息。例如,医疗保健系统可以使用预言机来请求保险信息。反之,食品行业将寻求预言机来传输有关食品生产和分销网络的信息。

Oracle 的区块链如何运作?

区块链预言机在现实世界和区块链之间创建了一个链接。预言机将信息传输到基于区块链的智能合约,智能合约利用这些信息来执行预设的操作。例如,预言机可以提供当前价格的实时信息,用于金融合同。当价格达到指定阈值时,合同可能会自动买卖资产。

为了使预言机能够正常工作,它需要能够从多个外部源检索数据,并将其格式化为智能合约可以理解的格式。这种操作称为“数据聚合”。数据在被路由到智能合约进行处理之前,被称为“事件”。

与用于从各种外部源获取数据的应用程序编程接口 (API)类似,预言机也是一种基础设施层。然而,应用程序编程接口 (API) 和预言机之间存在一些显著的差异。

去中心化预言机

由于去中心化预言机不依赖于单一的真相来源,它们提供给智能合约的数据比中心化预言机更可靠。这些预言机具有与公共区块链相同的目标。尽管它们的目标是建立一个无信任的系统,但它们将信任分散在许多人手中,而不是消除信任。

它们解决了中心化预言机存在单点故障的问题。这意味着,即使其中一个预言机因任何原因发生故障,智能合约仍将能够按设计运行。为了实现端到端的去中心化,集成了多个具有众多可信数据源的自主预言机节点运营商。

中心化预言机

这种类型的预言机很独特,因为它只能由一个人访问,并且被用作智能合约的唯一数据源。仅依赖一个数据源存在风险,因为它使智能合约容易受到操纵。

中心化预言机的主要缺点是它们容易出现单点故障。此外,它增加了智能合约受到攻击和其他威胁的脆弱性。

预言机类型

由于区块链智能合约无法访问外部数据,因此它们必须依赖预言机来提供它们运行所需的数据。现在,让我们来研究一下几种可用的区块链预言机。

  1. 软件预言机:这些预言机将其发现贡献给分布式账本,并与外部数据源进行交互。它们可以从服务器和网页等在线来源编译信息。具有互联网连接的预言机可以立即为正在运行的智能合约提供所需的数据。可以提供任何类型的实时信息,例如数字资产的价格或货币汇率。
  2. 硬件预言机:硬件预言机旨在从物理环境中提取信息并提供给智能合约。这些预言机将物理事件翻译成智能合约可以理解的值。例如条形码扫描仪、电子传感器和其他读取设备可以收集此类信息。
  3. 进出预言机:出站预言机从外部环境导入数据供智能合约使用。出站预言机与入站预言机完全相反。这些预言机将智能合约的数据广播到公众。
  4. 人类预言机:特定领域的专家有时也可以充当预言机。在将数据发送到智能合约之前,他们可以从多个来源筛选数据,进行调查,然后确认其准确性。由于人类预言机可以通过加密技术验证其身份,因此提供虚假信息的可能性较小。除了通信确定性信息外,人类预言机还可以响应任意查询,这对于机器来说可能很难完成。
  5. 与合同相关的预言机:由于这种类型的预言机是为单个智能合约设计的,因此必须创建各种特定于合同的预言机来部署多个合同。所需的时间和成本使许多人因跟不上而望而却步。
  6. 跨链预言机:它们可以读取和写入区块链之间的数据,从而实现跨区块链传输资产和数据的互操作性。
  7. 具有计算能力的预言机:启用计算能力的预言机使用安全的链下计算技术来提供去中心化服务,这些服务由于财务、法律或技术限制而无法在链上执行。ZK Rollups 和其他 Layer 2 解决方案主要使用这些来收集链下数据。
  8. 基于共识的预言机:这些预言机使用共识过程和多个预言机为智能合约收集事实信息。它们有助于确保发送到区块链的数据的准确性和可靠性。

预言机设计模式

基于其能力,所有预言机都执行一些基本功能,例如

  • 从任何非区块链来源获取信息。
  • 使用链上的签名消息发送数据。
  • 将数据存储在智能合约中,使其可访问。
  • 完成后,使用“检索”功能的调用消息使其他自动化协议可以轻松访问存储的数据。

要设置预言机,请使用这三种设计模式

  • 即时读取:这些预言机使用“即时”查询,仅在需要时检索信息,为用户提供做出快速决策所需的事实。例如拨号代码、机场标识和学术证书预言机。
  • 发布-订阅:对于持续更新,此预言机提供了一个数据广播服务,可由链上智能合约轮询或由链下守护进程监控。这些设计涵盖了常规流量数据、社会统计数据、天气数据和不可预测的价格提要。
  • 请求-响应:此模式包含用于智能合约存储的大型数据空间。对于经验丰富的数据提供者来说,此模式非常适合启动成功的业务计划,因为用户可以随时访问一小部分数据。它还可以用于请求监控,并作为链上智能合约系统。

区块链上的预言机安全吗?

尽管许多知名的预言机都经过了广泛的测试和审计,但依赖它们但协议仍然可能出错。例如,AaveV3 回退预言机中的一个严重漏洞允许黑客设置任何资产的价格,因为“setAssetPrice”函数缺少必要的访问控制。

考虑到在发现该错误时(2022 年 4 月)Aave 的估值约为 30 亿美元,您可以想象潜在违约的规模。第三方研究人员发现了问题并通知了 Aave,从而避免了最坏的情况。即使项目使用了经过验证的预言机,这些事件也凸显了外部代码审查的价值。

区块链预言机用例

预言机将智能合约世界与链外技术连接起来。区块链预言机本身有以下应用

  • 保险:可以从预言机中提取天气数据来显示航班延误。这些信息对保险产品索赔很有帮助。定制的保险单可以包括农作物保险以及旅行延误险。从预言机获取可用于自动验证索赔支付的天气相关信息的最佳地点。
  • DeFi:由于去中心化金融 (DeFi) 系统致力于提供不让单一金融机构控制流程的金融服务,因此预言机对其至关重要。区块链与外部数据通信并使用加密货币进行交易,例如购买房屋或创建退休计划。区块链预言机充当桥梁或媒介,在智能合约中使用真实世界的数据。接收付款、获得汽车贷款和其他交易取决于区块链预言机。DeFi 智能合约中的预言机允许检索金融数据,包括市场价格。预言机能够确定用户的抵押品水平和借款能力。新 DeFi 平台 AAVE 使用价格提要预言机来确定智能合约使用的资产价格。
  • DApps:预言机和去中心化应用程序 (DApps) 协同工作,使用户无需任何技术专长即可实现顺畅的区块链交互。由于它们授予用户对其数据的控制权,因此它们可以应用于各种社交媒体渠道活动和金融预测市场。预言机通过将功能扩展到其原始意图之外,实现了更智能、更广泛的场景。
  • NFT:经过验证的随机性函数 (VRF) 的创建,以维护具有随机分配的 NFT 的稀有度,在很大程度上依赖于预言机。将 NFT 连接到各种链外流程带来了挑战。爱好者使用区块链来注册资产进行交易。然而,他们在利用链外数据方面遇到了困难。使用预言机可以更快地创建与现实事件中的记忆和对象相关联的 NFT。
  • 跨链服务:在很大程度上,区块链预言机能够解决跨不同区块链的互操作性问题。无需进行特定链的集成,用户就可以在预言机开发的跨链服务的帮助下,在区块链之间传输数据。
  • CBDC、稳定币和银行业务:与商品或法定货币等事物挂钩的代币称为稳定币。虽然也有算法等价物,但它们通常由链外储备抵押。另一方面,央行数字货币 (CBDC) 由政府发行。预言机在维持稳定币价格稳定和监控抵押品方面发挥着关键作用。

区块链预言机的优势

  1. 可变参数:预言机可以一次或多次执行任务。它有两种选择:它可以被动报告或在区块链上采取行动。
  2. 区块链现在具有更多功能:预言机使区块链能够访问完成复杂活动所需的外部数据。Oracle 使区块链能够与外部数据通信,而不是仅限于单个网络。因此,区块链可以应用于投资、买卖等日常活动。
  3. 节省时间和精力:使用预言机时,用户无需主动完成区块链交易。一旦正确配置,预言机就可以响应外部触发器执行智能合约。尽管预言机无法处理复杂情况,但它们可以在无需持续检查的情况下执行简单的操作。

区块链预言机的威胁

  1. 外部参与者:预言机是一种第三方机制,它要求用户与一个随后将他们连接到区块链的提供商进行协作;它本身并未集成到区块链中。添加中间商可能会引发中心化问题。
  2. 不准确的数据:如果由于恶意活动或无害的错误而收到不准确的信息,预言机可能会得出不利的结论。仅使用安全、可靠的数据对于保持安全至关重要。

结论

智能合约与外部世界之间的通信,是全球采用区块链发展技术面临的最紧迫的问题之一。如果没有区块链预言机,智能合约只能使用其网络中已有的数据。

去中心化预言机网络 (DON) 可以将安全措施融入区块链生态系统,从而可能大大降低系统的脆弱性。必须安全可靠地实施预言机,以确保区块链生态系统的持续增长和繁荣。


下一个主题区块链创世区块