更新时间:2025-06-24 14:09:02 编辑:丁丁小编
来源:点击查看
简介
什么是区块链预言机?
区块链预言机是提供外部信息给智能合约的第三方服务。它们充当区块链与外部世界的桥梁。区块链和智能合约无法访问链下数据(即网络外部的数据),然而,许多合同协议需要来自外部世界的相关信息来执行协议。这就是区块链预言机的用武之地,它们提供了链下数据与链上数据之间的链接。预言机在区块链生态系统中至关重要,因为它们扩展了智能合约的操作范围。没有区块链预言机,智能合约的使用将非常有限,因为它们只能访问网络内部的数据。需要注意的是,区块链预言机本身并不是数据来源,而是查询、验证和认证外部数据源的层,然后将这些信息传递给智能合约。预言机传输的数据形式多样,包括价格信息、支付成功完成或传感器测量的温度等。为了从外部世界调用数据,必须调用智能合约,并且需要消耗网络资源。一些预言机不仅能够将信息传递给智能合约,还能将信息反馈给外部来源。预言机的运作方式完全取决于其设计目的,本文将介绍一些这些设计。
区块链预言机的示例
假设Alice和Bob就美国总统选举的赢家下注。Alice认为共和党候选人会赢,而Bob认为民主党候选人会赢。他们就下注条款达成一致,并将资金锁定在一个智能合约中,该合约将根据选举结果将所有资金释放给赢家。由于智能合约无法与外部数据互动,它必须依赖预言机来提供必要的信息——在这种情况下,是总统选举的结果。选举结束后,预言机查询一个可信的API以了解哪位候选人获胜,并将此信息传递给智能合约。然后,合约根据结果将资金发送给Alice或Bob。如果没有预言机传递数据,这场赌注将无法以一种不会被一方操纵的方式解决。
区块链预言机的不同类型
区块链预言机可以根据多种不同特性进行分类:
- 来源 - 数据来源于软件还是硬件?
- 信息方向 - 是入站还是出站?
- 信任 - 是集中式还是去中心化?
一个预言机可以属于多个类别。例如,从公司网站获取信息的预言机是一个集中式的入站软件预言机。
软件预言机
软件预言机与在线信息源互动,并将信息传输到区块链。这些信息可以来自在线数据库、服务器、网站——基本上是网络上的任何数据源。软件预言机连接到互联网,不仅允许它们向智能合约提供信息,还能实时传输这些信息。这使它们成为最常见的区块链预言机类型之一。软件预言机通常提供的信息包括汇率、数字资产价格或实时航班信息。
硬件预言机
一些智能合约需要与现实世界互动。硬件预言机设计用于从物理世界获取信息并使其可供智能合约使用。此类信息可以从电子传感器、条码扫描器和其他信息读取设备中传输。硬件预言机本质上是将现实世界事件“翻译”成智能合约可以理解的数字值。一个例子可能是检查运输货物的卡车是否到达装卸区的传感器。如果确实到达,它会将信息传递给智能合约,智能合约可以根据此信息执行决策。
入站和出站预言机
入站预言机从外部来源传输信息到智能合约,而出站预言机从智能合约发送信息到外部世界。一个入站预言机的例子是告知智能合约传感器测量的温度。出站预言机的例子可以是智能锁,如果资金被存入一个地址,智能合约通过出站预言机将此信息发送给一个解锁智能锁的机制。
集中式和去中心化预言机
集中式预言机由单一实体控制,是智能合约的唯一信息提供者。仅使用一个信息来源可能存在风险——合约的有效性完全依赖于控制预言机的实体。此外,任何恶意行为者的干扰将直接影响智能合约。集中式预言机的主要问题是存在单一故障点,这使得合约对漏洞和攻击的抵御能力较差。去中心化预言机与公共区块链共享一些相同的目标——避免对手方风险。它们通过不依赖单一真实性来源来提高提供给智能合约的信息的可靠性。智能合约查询多个预言机以确定数据的有效性和准确性——这就是为什么去中心化预言机也被称为共识预言机。一些区块链项目为其他区块链提供去中心化预言机服务。去中心化预言机在预测市场中也很有用,在那里可以通过社会共识验证某个结果的有效性。虽然去中心化预言机旨在实现无需信任,但需要注意的是,就像无需信任的区块链网络一样,去中心化预言机并不能完全消除信任,而是将信任分布在许多参与者之间。
特定合同预言机
特定合同预言机是为单个智能合约设计的。这意味着如果想要部署多个智能合约,就必须开发相应数量的特定合同预言机。这种类型的预言机被认为是非常耗时和昂贵的维护。想要从多种来源提取数据的公司可能会发现这种方法非常不切实际。另一方面,由于特定合同预言机可以从头开始设计以服务于特定用例,开发者有高度的灵活性来根据特定需求定制它们。
人类预言机
有时在特定领域具有专业知识的个人也可以充当预言机。他们可以研究并验证来自各种来源的信息的真实性,并将这些信息翻译给智能合约。由于人类预言机可以使用加密技术验证他们的身份,欺诈者冒充他们的身份并提供损坏数据的可能性相对较低。
预言机问题
由于智能合约基于预言机提供的数据执行决策,它们是健康区块链生态系统的关键。设计预言机的主要挑战是,如果预言机被攻破,依赖它的智能合约也会被攻破。这通常被称为预言机问题。由于预言机不属于主区块链共识的一部分,它们不幸地不能享受公共区块链提供的安全机制。第三方预言机与智能合约无需信任执行之间的信任冲突仍然是一个大多未解决的问题。中间人攻击也可能是一个威胁,在这种攻击中,恶意行为者获得对预言机与合约之间数据流的访问,并修改或伪造数据。
结语
促进智能合约与外部世界通信的可靠机制对于区块链的全球采用至关重要。没有区块链预言机,智能合约将只能依赖网络内部的信息,这将大大限制它们的能力。去中心化预言机有可能引入保障机制,消除区块链生态系统中的许多系统性风险。区块链预言机仍然是区块链生态系统中需要以安全、可靠和无需信任的方式实施的关键构建块之一,以促进区块链生态系统的增长。