什么是区块链预言机
注意:本文档是英文原版的自动翻译。
什么是区块链预言机
**区块链预言机(blockchain oracle)**是一种向区块链上的智能合约提供外部数据的服务。智能合约只能访问其自身链上已经存在的信息——它们无法自行调用外部 API、读取网页或检查现实世界的状况。预言机通过获取链下数据、经由某种机制对其进行验证,并将其交付到链上供智能合约用于决策,从而弥合了这一差距。
简而言之: 预言机是一种将外部世界连接到区块链智能合约的数据馈送(data feed)——而对于人工智能项目而言,预言机是模型输出、外部数据集和现实世界信号进入链上环境的途径。
区块链预言机如何运作
预言机所解决的根本性挑战被称为预言机问题(oracle problem):区块链是确定性的封闭系统。每个节点在执行智能合约时都必须得出相同的结果。如果一个合约试图直接从外部源获取数据,不同的节点可能在不同时间得到不同的响应,从而破坏共识。预言机通过提供一个所有节点都可以参照的、单一且达成一致的数据馈送来解决这个问题。
验证与交付
预言机从链下源——API、网络服务、物联网传感器、数据库或其他区块链——收集数据。这些数据可能是一个价格馈送、一个人工智能模型的预测,或任何其他外部生成的值。一旦收集完毕,数据在到达区块链之前必须经过验证。验证方法包括:
- 去中心化预言机网络 —— 多个独立的预言机节点获取相同的数据,协议对它们的报告进行聚合(通常使用中位数或加权平均值),以降低任何单个节点提供虚假数据的风险。
- 声誉与质押 —— 预言机运营者质押代币作为抵押。如果他们提供错误的数据,就会受到惩罚(slashing),从而为准确性创造经济激励。
- 密码学证明 —— 一些预言机设计使用可信执行环境(TEE)或零知识证明,以密码学方式证明数据是从指定来源正确获取的。
经过验证的数据随后通过一笔交易写入区块链,使其可供任何引用预言机链上地址的智能合约使用。
推送式与拉取式
预言机可以通过两种方式交付数据。**推送式(Push-based)**预言机以固定间隔或在状况变化时(例如价格变动超过 1%)更新链上数据。**拉取式(Pull-based)**预言机按需提供数据——智能合约请求数据,预言机在随后的一笔交易中交付它。
为什么它对加密货币人工智能项目很重要
区块链上的人工智能项目经常需要源自链外的外部数据。预言机是可靠地交付这些数据的标准机制。
人工智能模型输出。 当一个人工智能模型在链下运行并产生一个结果时——一个预测、一个分类、一个生成的响应——该结果需要进入区块链才能被智能合约使用。预言机可以将经过验证的模型输出交付到链上,使智能合约能够根据人工智能生成的数据采取行动。
训练数据与数据集。 协调去中心化训练或数据市场的人工智能项目,可能使用预言机来验证存储在链下的数据集的可用性、完整性或质量评分。预言机证明某个数据集满足特定标准,而无需将整个数据集存储在链上。
现实世界信号。 人工智能驱动的交易分析、风险评估和决策工具需要实时的外部数据——市场价格、网络指标、社交信号。预言机以链上逻辑能够消费的格式提供这些馈送。
验证层。 在某些架构中,预言机充当人工智能计算的验证层。与其信任单一人工智能提供商的输出,一个去中心化预言机网络可以聚合来自多个人工智能提供商的结果,对其进行比较,并在链上交付一个共识输出。
它在 DecAIHub 项目卡片中出现的位置
AI component—— 使用预言机将人工智能输出交付到链上的项目,可能将预言机基础设施作为其人工智能流水线的一部分加以引用。- Type —— 一个主要功能是为人工智能数据提供预言机服务的项目,会被相应地分类。
- Category —— 依赖预言机的人工智能项目通常归入诸如 AI/分析、AI/数据或 AI/推理之类的类别,其中外部数据馈送是工作流不可或缺的一部分。
仅凭预言机无法证明什么
- 数据准确性 —— 预言机交付来自外部源的数据,但它无法保证底层来源是正确的。如果源 API 提供虚假数据,预言机就会忠实地交付虚假数据。预言机的质量取决于来源的可靠性和验证机制。
- 去中心化 —— 一个预言机网络可以从单一的中心化数据馈送,到由独立运营者组成的大型去中心化网络不等。"预言机"这个标签对去中心化程度毫无说明。
- AI reality —— 使用预言机将数据带到链上,并不能证明真的有一个人工智能模型处理了该数据。预言机交付信息;生成该信息的是另一个独立的问题。
- 无需信任性(Trustlessness) —— 即便是去中心化预言机网络,也会在基础区块链层之外引入信任假设。用户必须信任预言机的设计、其运营者集合,以及其经济激励。
请勿混淆
- API —— API 是访问数据或服务的一般性接口。预言机特指以智能合约能够消费的方式向区块链交付外部数据。并非所有 API 都是预言机,而且预言机不止是简单的 API 调用,因为它必须处理共识、验证和链上交付。
- 节点 —— 区块链节点验证并存储链上交易。预言机节点获取并交付链下数据。它们在区块链技术栈中扮演不同的角色,不过一个预言机节点也可能运行一个完整的区块链节点。
- 数据索引器(Data indexer) —— 索引器(如 The Graph)读取并组织链上数据,供链下消费。预言机做的是相反的事:它们将链下数据带到链上。数据流向相反。
- 桥(Bridge) —— 桥在两条区块链之间移动资产或消息。预言机将数据从链下(非区块链)来源带到一条区块链上。尽管两者都连接不同的信息领域,但它们解决不同的问题。
常见问题
什么是预言机问题?
预言机问题是将可靠的外部数据带入一个确定性区块链系统的根本性挑战。由于智能合约无法直接访问链下数据,并且由于任何外部数据源都会引入区块链安全模型之外的信任假设,预言机问题问的是:一个基于区块链的应用如何能信任源自链外的数据?不存在完美的解决方案——每一种预言机设计都在速度、成本、去中心化和信任假设之间涉及权衡。
为什么人工智能项目需要预言机?
大多数人工智能计算发生在链下,因为在智能合约内部运行神经网络的成本高得令人望而却步。当人工智能产生一个需要触发链上行动的结果时——例如执行一笔交易、更新一个评分或分发奖励——预言机会将该结果交付到区块链。预言机也被用于向在区块链环境中运营的人工智能系统馈送现实世界的数据(价格、指标、信号)。
预言机会被操纵吗?
会。预言机是区块链系统中一个已知的攻击途径。如果攻击者能够攻破数据源、破坏大多数预言机节点,或利用聚合机制,他们就可以向智能合约馈送虚假数据,从而可能触发不正确的交易。这就是为什么预言机的设计——独立节点的数量、质押要求、数据源的多样性以及聚合方法——对于任何依赖外部数据的项目的安全性都至关重要。
外部参考资料
- Ethereum.org — Oracles —— 来自以太坊文档的对预言机概念、类型和安全考量的全面讲解。
- Chainlink Documentation — Data Feeds —— 一个被广泛使用的预言机网络如何向智能合约交付数据。
No comments to display
No comments to display