区块链预言机介绍
首页
文章
区块链预言机介绍

区块链预言机介绍

中阶
发布时间 Jan 22, 2020更新时间 Nov 28, 2023
7m

社区发布 - 作者:Vallery Mou


什么是区块链预言机?

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

区块链与智能合约无法访问链下数据(区块链网络之外的数据)。然而,对于许多合约协议而言,拥有来自外部世界的相关信息对于执行协议至关重要。

区块链预言机可以在链下和链上数据之间提供链接,因此得以在这方面发挥作用。预言机可以拓宽智能合约的运行范围,在区块链生态系统中至关重要。如果没有区块链预言机,智能合约将只能从其网络内部获取数据,其用途将会受到极大限制。

需要注意的是,区块链预言机并非数据源本身,而是对外数据源进行查询、核实和验证,继而再进行传递的层。预言机可传输多种形式的数据,包括价格信息、成功付款数据或由传感器测量的温度数据等。

要从外部世界调用数据,就必须调用智能合约,同时还必须消耗网络资源。一些预言机不仅能够将信息传递给智能合约,还能够将信息发送回外部数据源。

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


区块链预言机示例

假设Alice和Bob打赌谁会赢得美国总统大选。Alice认为共和党候选人会获胜,而Bob则认为民主党候选人将成为赢家。他们就该赌注条款达成一致,并将各自的资金锁定在同一个智能合约中,该合约将根据选举结果将所有资金释放给赌注获胜者。

由于智能合约无法与外部数据交互,它必须依靠预言机向其提供必要的信息,在该示例中即为总统选举结果。选举结束后,预言机通过查询可信API确认选举结果,并将此信息传递给智能合约。随后,智能合约根据选举结果将资金发送给Alice或Bob。

如果没有预言机传递数据,便无法以一种参与者无法操纵的方式来进行赌注结算。


区块链预言机有哪几类?

区块链预言机可根据诸多不同的特质进行分类:

  • 根据来源分类:数据来源于软件还是硬件?

  • 根据信息传递方向分类:是由外向内传递还是由内向外传递?

  • 基于信任化程度分类:是中心化还是去中心化?

一台预言机可同时归属多种类别。例如,从公司网站获取信息的预言机就是一个中心化的入站软件预言机。


软件预言机

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

通过连接至互联网,软件预言机不仅能够向智能合约提供信息,还能够实时传输这些信息。因此,它们成为了最常见的一种区块链预言机。

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


硬件预言机

部分智能合约需要与现实世界进行交互。硬件预言机旨在从现实世界获取信息,并将其提供给智能合约。这些信息可以通过电子传感器、条形码扫描仪和其他信息读取设备进行传递。

从本质上看,硬件预言机可以将现实世界事件“转化”为智能合约可以理解的数字价值。

传感器即为这样一个例子,它可以检查运输货物的卡车是否已经到达装卸区。如果已经到达,传感器就会将该信息传递给智能合约,随后该合约即可据此执行决策。

如果您希望详细了解类似主题,敬请参阅《区块链用例:供应链》


入站和出站预言机

入站预言机旨在将信息从外部数据源传输至智能合约,而出站预言机则旨在将信息从智能合约传输至外部世界。

将由传感器测量的温度数据传递给智能合约,即为入站预言机的一个示例。而出站预言机的一个示例可以是智能锁。如果将资金存入一个智能合约地址,则该智能合约可通过出站预言机将此信息传输给智能锁解锁机制。


中心化和去中心化预言机

中心化预言机由单个实体控制,是智能合约信息的唯一提供者。然而,仅使用一种信息源可能会存在风险,智能合约的有效性完全取决于控制该预言机的实体。此外,不良行为者的任何恶意干扰均会对智能合约产生直接影响。中心化预言机的主要问题在于存在单点故障,从而导致智能合约防御漏洞和攻击的韧性较低。

去中心化预言机与公共区块链拥有一些共同的目标,如避免交易对手风险等。去中心化预言机不依赖单一信息源,从而可提高智能合约所获信息的可靠性。智能合约通过查询多个预言机来确定数据的有效性和准确性,因此,去中心化预言机也称为共识预言机。

部分区块链项目会向其他区块链提供去中心化预言机服务。去中心化预言机在预测市场中也十分有用,可通过社会共识验证该类市场中某种结果的有效性。

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


合约专用预言机

合约专用预言机专为单个智能合约设计。这意味着,如果想要部署多个智能合约,则必须开发相应数量的合约专用预言机。

此类预言机极为耗时,且维护成本高昂。如果公司希望从各种来源提取数据,可能会发现此类预言机非常不切实际。但另一方面,为服务于特定用例,合约专用预言机可从头开始设计,因此开发人员拥有很高的灵活性,可根据特定需求定制预言机。


人类预言机

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


预言机问题

由于智能合约根据预言机提供的数据执行决策,因此预言机对区块链生态系统的健康至关重要。设计预言机所面临的主要挑战是,如果预言机受到损害,则依赖其提供数据的智能合约也会受到损害。该问题通常被称为预言机问题(The Oracle Problem)。

由于预言机并非主要区块链共识的一部分,因此很遗憾,它们也不是公共区块链可提供的安全机制的一部分。第三方预言机与智能合约去信任化执行之间的信任冲突仍然有待解决。

此外,中间人攻击也可能构成威胁,即恶意行为者通过获得预言机与智能合约之间数据流的访问权限,对这些数据进行修改或伪造。


总结

对提升区块链的全球采用率而言,一个可促进智能合约与外部世界交流的可靠机制至关重要。如果没有区块链预言机,智能合约将只能依赖其网络中的已有信息,而这无疑将大大限制其能力。

未来去中心化预言机可能会引入保障机制,以消除区块链生态系统中的大量系统性风险。区块链预言机仍然是区块链生态系统发展的一大关键组成部分,需要以安全、可靠且去信任化的方式实施。