区块链 - 预言机
区块链预言机在智能合约和区块链技术生态系统中发挥着至关重要的作用。智能合约的主要限制之一是无法访问外部数据,因为区块链作为封闭系统运行,没有与现实世界信息的直接链接。
这些外部数据可能是在智能合约中执行特定业务逻辑所必需的,例如触发股息分配所需的金融资产的股票价格。
在这些情况下,预言机通过向智能合约提供所需的外部数据来充当解决方案。预言机可以被描述为促进数据从外部来源传输到智能合约的接口。这些预言机是可靠的实体,利用安全渠道将链下信息传达给智能合约。
区块链预言机应用
预言机可以根据不同行业和用例的具体要求提供各种类型的数据。这些数据可以包括天气信息、时事、公司行为以及来自物联网 (IoT)设备的信息。
例如,在比特币区块链中,预言机能够将数据输入到特定交易中,而智能合约可以在区块链上观察该交易并检索数据。
此外,另一种方法是将获取的数据存储在智能合约的存储中,允许区块链上的其他智能合约通过合约间请求访问它,具体取决于平台。
在以太坊的情况下,这可以通过使用消息调用来实现。
区块链预言机如何工作?
预言机的基本操作概述如下 −
- 智能合约向预言机发起数据请求。
- 预言机处理此请求并从指定源检索必要的数据。可以采用各种技术来获取这些数据,包括利用数据提供商的API、访问 Web 服务、查询数据库或从另一个区块链中提取信息。
- 检索到的数据被转发给公证人,公证人生成加密证明以验证数据的有效性。TLSNotary 通常用于此目的。其他方法可能包括 Android 证明、Ledger 证明 以及受信任硬件支持的证明。
- 然后将数据及其有效性证明发送到预言机。
- 或者,可以将数据及其真实性证明存储在 Swarm 或 IPFS 等去中心化存储系统中,从而允许智能合约或区块链访问它以进行验证。
- 最终,将数据及其有效性证明一起交付给智能合约。
区块链预言机的类型
一般来说,预言机可以分为两大类:入站预言机和出站预言机。后面的部分将深入探讨这些分类。
入站预言机
此类别包括从外部来源收集数据并将其输入到智能合约中的预言机。我们将在接下来的部分中简要探讨软件、硬件和其他类型的入站预言机。
出站预言机
这些被称为反向预言机,有助于将数据从区块链智能合约传输到外部环境。
它们的使用主要有两种场景。第一种是源区块链生成另一个区块链所需的数据(例如区块链指标)。在这种情况下,必须将相关数据传达给接收区块链上的智能合约。第二种情况是外部硬件设备执行由链上交易触发的物理操作。
入站预言机的类型
以下部分将介绍区块链预言机技术中可用的主要入站预言机类型 −
软件预言机
这些预言机的任务是从互联网上可用的各种在线服务收集信息。通常,它们用于从外部提供商获取气象状况、财务统计数据(如股票价格)、旅行详情和其他信息等数据。
硬件预言机
此类预言机用于从硬件源收集数据,包括物联网设备和传感器。这在保险相关智能合约等场景中尤其有益,因为遥测传感器可以提供车辆速度和位置等关键信息。
计算预言机
这些预言机有助于在链下执行计算密集型任务。由于区块链技术不适合处理资源密集型计算,因此区块链上的智能合约可以请求在外部高性能计算系统上执行这些计算,并通过预言机接收经过验证的结果。
基于聚合的预言机
在此模型中,单个值来自多个数据源。例如,在确定金融资产的价格时,依赖单一来源可能会有风险。为了解决这个问题,我们利用了各种数据提供商,并选择了大多数数据提供商报告的价格以确保准确性。
众智驱动的预言机
这种方法通过避免依赖可能不可靠的单一来源来解决区块链预言机问题。相反,它利用多个公共来源通过集体输入来获取最准确的数据。
去中心化预言机
此类预言机采用分布式框架设计。这些预言机还可以从其他采用分布式共识模型的区块链获取数据,从而保证信息的完整性。
智能预言机
智能预言机的功能与传统预言机类似,但具有执行合约代码的附加功能。Codius 开发的智能预言机在 Google Native Client 中运行,这是一个专为执行不受信任的 x86 本机代码 而设计的安全环境。
区块链预言机服务
现在各种在线平台都提供预言机服务,通常称为预言机即服务解决方案。这些服务旨在促进智能合约执行和做出明智决策所需的链下数据的安全获取。
值得注意的例子包括 −
- Town Crier − https://www.town-crier.org
- Provable − https://provable.xyz
- Witnet − https://witnet.io
- Chainlink − https://chain.link
- Realitio 项目 − https://realit.io
- TrueBit − https://truebit.io
- iExec − https://iex.ec
此外,https://smartcontract.com/ 平台允许为以太坊、比特币和 Town Crier创建预言机,使智能合约能够与应用程序交互并整合来自链下来源的数据。