- 区块链教程
- 区块链 - 首页
- 区块链基础
- 区块链 - 简介
- 区块链的历史
- 区块链 - 技术
- 区块链与密码学
- 区块链超越加密货币
- 区块链 - 高级概念
- 区块链 - 去中心化
- 区块链 - 去中心化应用(DApp)
- 区块链 - 去中心化金融(DeFi)
- 区块链 - 未来展望
- 区块链中的智能合约
- 区块链 - 里卡迪安合约
- 区块链 - 预言机
- 区块链 - 去中心化自治组织(DAO)
- 比特币
- 比特币 - 无形的黄金
- 比特币是如何工作的?
- 比特币 - 网络
- 比特币 - 钱包
- 比特币 - 创新
- 以太坊
- 以太坊替代加密货币
- 以太坊生态系统
- 以太坊虚拟机
- 高级以太坊
- 以太坊钱包
- 以太坊矿工节点
- 其他
- 区块链 - 双重支付
- 公钥密码学
- 区块链 - 哈希
- 比特币 - 挖矿
- 区块链 - 区块链
- 区块链 - 工作量证明
- 区块链 - 网络与挖矿
- 区块链 - 矿工激励
- 区块链 - 梅克尔树
- 区块链 - 支付验证
- 区块链 - 解决冲突
- 区块链 - 隐私
- 比特币 - 缓解攻击
- 区块链 - 结论
- 区块链资源
- 区块链 - 快速指南
- 区块链 - 资源
- 区块链 - 讨论
区块链 - 预言机
区块链预言机在智能合约和区块链技术的生态系统中发挥着至关重要的作用。智能合约的主要限制之一是无法访问外部数据,因为区块链作为封闭系统运行,没有与现实世界信息的直接链接。
这些外部数据可能对于在智能合约中执行特定的业务逻辑是必要的,例如触发股息分配所需的金融资产的股票价格。
在这种情况下,预言机通过向智能合约提供所需的外部数据来作为解决方案。预言机可以被描述为一个接口,它促进数据从外部来源传输到智能合约。这些预言机是可靠的实体,它们利用安全通道将链下信息传递给智能合约。
区块链预言机应用
根据不同行业和用例的具体需求,预言机可以提供各种类型的数据。这些数据可能包括天气信息、当前事件、公司行为以及来自物联网 (IoT) 设备的信息。
例如,在比特币区块链中,预言机能够将数据输入到特定交易中,而智能合约可以在区块链上观察该交易并检索数据。
此外,另一种方法涉及将获取的数据存储在智能合约的存储中,允许区块链上的其他智能合约根据平台通过合约间请求访问它。
在以太坊中,这可以通过使用消息调用来实现。
区块链预言机如何工作?
预言机的基本操作概述如下:
- 智能合约向预言机发起数据请求。
- 预言机处理此请求并从指定来源检索必要的数据。可以使用各种技术来获取此数据,包括利用数据提供者的API、访问 Web 服务、查询数据库或从另一个区块链提取信息。
- 检索到的数据被转发到公证人,后者生成加密证明以验证数据的有效性。TLSNotary 通常用于此目的。其他方法可能包括Android 证明、Ledger 证明以及受信任硬件支持的证明。
- 然后,数据及其有效性证明被发送到预言机。
- 可选地,数据及其真实性证明可以存储在去中心化的存储系统中,例如Swarm 或 IPFS,允许智能合约或区块链访问它以进行验证。
- 最终,数据及其有效性证明被传递给智能合约。
区块链预言机的类型
通常,预言机可以分为两大类:入站预言机和出站预言机。下一节将深入探讨这些分类。
入站预言机
此类别包含从外部来源收集数据并将其输入到智能合约中的预言机。我们将在接下来的部分简要探讨软件、硬件和其他类型的入站预言机。
出站预言机
这些被称为反向预言机,用于促进数据从区块链智能合约到外部环境的传输。
它们的使用有两种主要场景。第一种涉及源区块链生成数据(例如区块链指标),这些数据是另一个区块链所需的。在这种情况下,相关数据必须传达给接收区块链上的智能合约。第二种场景涉及外部硬件设备执行由链上交易触发的物理操作。
入站预言机的类型
以下部分阐明了区块链预言机技术中可用的主要类型的入站预言机:
软件预言机
这些预言机的任务是从互联网上提供的各种在线服务中收集信息。通常,它们用于获取诸如气象条件、金融统计数据(如股票价格)、旅行详细信息以及来自外部提供者的其他信息。
硬件预言机
此类预言机用于从硬件源收集数据,包括IoT 设备和传感器。这在保险相关的智能合约等场景中特别有用,其中遥测传感器可以提供诸如车辆速度和位置等关键信息。
计算预言机
这些预言机促进在链下执行计算密集型任务。由于区块链技术不适合处理资源密集型计算,因此区块链上的智能合约可以请求在外部高性能计算系统上执行这些计算,并通过预言机接收经过验证的结果。
基于聚合的预言机
在此模型中,单个值来自多个数据源。例如,在确定金融资产的价格时,依赖单个来源可能存在风险。为了解决这个问题,使用了各种数据提供者,并选择大多数这些源报告的价格以确保准确性。
群体智慧驱动的预言机
此方法通过避免依赖可能不可信的单个来源来解决区块链预言机问题。相反,它利用多个公共来源通过集体输入获得最准确的数据。
去中心化预言机
此类预言机是使用分布式框架设计的。这些预言机还可以从运行在分布式共识模型上的其他区块链获取数据,从而保证信息的完整性。
智能预言机
智能预言机的功能类似于传统预言机,但还具有执行合约代码的功能。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 创建预言机,使智能合约能够与应用程序交互并合并来自链下来源的数据。