区块链预言机充当着区块链与外部世界之间的桥梁,让智能合约能够获取到链下数据。
预言机是一种第三方服务工具,用于获取、验证外部信息并将其传输到运行在区块链上的智能合约中。
它们通过提供一个与链下数据交互的机制,以执行有价值的任务和服务,从而扩展智能合约的功能。
如果没有预言机,智能合约就会被局限在链上数据的世界中,而无法获取到外部信息。
举一个基本的例子:Alice 和 Bob 对一场赛马进行下注,双方玩家都可以将他们的资金锁定在一个智能合约中,该智能合约将根据现实世界的比赛结果将资金发放给获胜者。
虽然智能合约不能直接与外部世界进行交互,但一个第三方的预言机可以通过查询一个可信的 API 来检索这场赛马的结果,并将结果传输给智能合约,确定获胜者,并让合约能够相应地分配资金。
预言机充当了外部世界和智能合约世界之间的桥梁。
请注意,预言机本身并不是数据源,而是一个检索、验证外部数据并将其转发给智能合约的工具。它们可以传输各种类型的信息,比如价格数据、付款确认信息或传感器的测量值。
此外,预言机必须在传输这些数据的同时保留智能合约固有的特征:无需信任和去中心化。
这基本上就是预言机所需要解决的问题:确保为智能合约服务的链下数据的可靠性、真实性和可信度,同时消除单点故障和漏洞。
预言机的种类
市面上有许多类型的区块链预言机,他们分别用于不同的目的。
我们可以根据数据源类型(硬件或软件)、信息传输方向(传入或输出)和信任模型(中心化或去中心化)对预言机进行分类。每种预言机类型都具有独特的功能和优势。
硬件预言机:从物理世界中收集数据,例如来自运动传感器或 RFID 传感器的信息。
软件预言机:从网站、服务器或数据库等数字数据源处收集数据。通常用于提供实时数据,如汇率或价格变化。
传入预言机:主要向区块链传输链下或真实世界的数据。可用于触发基于链下事件的特定操作。
输出预言机:将区块链数据发送到外部世界。可以向外部系统提供链上事件的更新信息。
中心化预言机:由单一主体管理运行,并依赖单一信息源。这可能会带来风险,因为它们引入了单点故障问题,这让智能合约容易受到攻击。
去中心化预言机:利用多个信息源和共识机制来提供更可靠和防篡改的数据。可以最大限度地降低交易对手风险,提高智能合约所使用信息的可信度。
人类预言机:具有专业知识的个人充当数据的来源。他们可以收集信息、验证其合理性、并将其转换到智能合约中。人类预言机可以使用加密技术来验证他们的身份并提供可信的数据。
特定智能合约预言机:为特定的智能合约设计,并满足他们的独特需求。然而,它们需要额外的工作来运营和维护,可能无法拥有普适性。
计算预言机:执行复杂的计算操作,并将计算结果返回到链上。这些计算往往难以在链上进行,或在链上进行的成本极高。此类预言机在网络 gas 约束和高计算成本限制的情况下特别有价值。
去中心化预言机
区块链预言机对于任何复杂和有价值的智能合约服务都是必不可少的。
区块链预言机的用例跨越了诸多行业,包括地理位置追踪(供应链分析、物联网)、体育(预测市场)、天气(旅行、农业)、时间和间隔数据(自动化)以及我们的主要研究重点 —— 金融和资本市场相关数据。
去中心化金融(DeFi)行业有望为世界带来更高效、更透明和更公平的金融市场。
为了做到这一点,DeFi 应用需要能够可靠、无需信任地获取到广泛的数据:资产价格(从加密货币到房地产)、基准参考数据(利率、资金费率)、波动性和市场影响数据等等。
事实上,自 2020 年“DeFi Summer”以来,DeFi 行业的快速扩张突显了对全面、可用和稳健的预言机市场数据的迫切需求。
此外,预言机基础设施需要提供高质量的数据,与任何 L1/L2 区块链无缝集成,并准备好根据日益复杂的 DeFi 生态系统不断增长的需求进行扩展。
在 DeFi 中,喂价数据预言机仍然是最主要和讨论最多的预言机类型。喂价数据预言机设计的历史几乎与智能合约的历史一样长,但现有的架构仍然显示出了它们的局限性。
在接下来的讨论中,我们将专注讨论几个问题:
传统的预言机解决方案通常依赖于中间方(节点)来验证和聚合数据,从而引发时间延迟、数据源不透明以及由于成本导致的跨链扩展问题。
目前,一种新的预言机网络架构正在出现,它专注于“拉取”而非“推送”模型,并激励高度可信的数据所有者和创建者来发布他们的数据。
为什么我们需要价格预言机?
该预言机的主要类别被称为喂价数据预言机,它提供加密货币资产、股票、大宗商品等的价格数据。
为了说明它们的重要性,我们来看几个例子:
衍生品协议:必须为交易者提供准确的资产价格,并在头寸抵押不足时及时进行清算。
DEX 聚合器:流动性来自各种去中心化交易所,这意味着需要准确的预言机价格数据来确定最佳价格并以最小的滑点执行交易。
稳定币:加密货币抵押的稳定币需要预言机数据来确保头寸得到足额的抵押,并确保其保持与相关资产的锚定。
借贷协议:这些协议通常依赖于动态借贷利率进行运作,动态借贷利率是一个关于当前资产价格的函数。延迟或不准确的价格数据会损害协议的整体流动性健康,尤其是在价格波动期间。
我们不能仅仅依靠单一的数据源来提供这些数据,因为这会引发一个集中的故障点,这与 DeFi 的精神相悖。相反,我们需要的是防篡改的、及时的数据。
这说起来容易做起来难,由于预言机在 DeFi 中的重要性,它们经常会成为攻击的主要目标。然而,拥有可靠且稳健的数据源对于任何 DeFi 项目来说都是至关重要的。
这就是为什么预言机通常被称为 DeFi 的脊梁。随着 DeFi 领域的不断发展和扩展,快速可靠地获取到攻击免疫的数据的需求将变得越来越重要。
现在我们已经了解了预言机的背景知识,让我们来研究一下现有的预言机体系结构。
价格预言机的现状
一种常见的预言机网络设计被称为“报告者预言机网络”,它依赖于多个独立节点运行,这些节点则充当了数据源和区块链应用(终端用户)之间的中介。
在报告者网络中,中间节点负责从链下数据源处(如市场数据专家或公共 API)检索数据,然后将该信息“经过最后一公里”传递到最终的目的地区块链上。
这些节点还将负责执行数据聚合、效验和证明。
举个例子来说,假设有 100 个节点,它们的任务是检索一个给定时间点的 BTC 价格。
他们将从各种数据源处检索价格(例如,平均每个节点可能使用 30 个数据源),然后将他们反馈的价格进行聚合,以输出一个单一的平均或中位数价格数据。
大多数节点最终可能可以获得正确的价格,而一小部分节点可能由于使用了糟糕的数据源而反馈了错误的价格数据。
最后,预言机网络将聚合大多数节点的反馈数据,并将其作为正确的数据进行发布。
为了保持这些节点的持续运转和诚实性,经济激励措施通常会被采用。
发布准确价格数据的节点可以以代币激励的形式获得奖励,而报告不准确数据的节点可能会通过扣分等机制受到惩罚。
这种预言机设计有几个关键的优势:
安全性:拥有各种数据源和中间节点意味着任何一方都难以操纵网络并影响最终的价格输出。
数据源:广泛的数据源可以确保预言机可以获得广泛的价格信息,通常可以提高准确性和可靠性。
区块链不可知论:任何区块链网络都可以采用这种设计,因为它们已经部署了节点进行区块验证。
然而,这种设计也有一些缺点。
让多个节点相互验证数据,然后聚合数据并执行共识是低效的。现有的预言机部署大约每 15 分钟更新一次数据,这对于全域扩展区块链来说,这个速度非常低效且缓慢。
如果有大量资产对进行频繁的价格更新,相关的网络成本(例如 ETH gas 费用)也会快速增加,这将导致可用资产对数量的下降。
如果没有极高的 gas 补贴,将无法解决网络堵塞的问题。支持不断增长的节点网络所必需的不断增加的 gas 费用需要最终由用户承担或进行贴补。
这个限制让报告者网络在支持更多数据或用户方面的可扩展性变得非常差。
此外,报告者网络中的数据源通常是不透明的。在这些网络中,数据通常以不透明的方式在链下聚合,并以不透明的方式发布到链上,这与区块链的透明目标形成了直接对比。
因此,虽然提供数据的节点实体是已知的,但它们的最终数据源是未知的。在各种数据源不频繁更新或缺乏颗粒度的高度不稳定时期,这一点尤其值得关注。
事实上,上游的数据源甚至可能不知道他们的数据正在被用来保障智能合约的价值,从而导致数据质量和可靠性的进一步的损失。
这甚至还没有谈到数据合法性的问题:一些数据供应商并不允许将他们的数据报告给公共账本,因为他们希望限制向订阅者分发数据的能力。
报告者网络的设计专门用于链上可公开获取的数据 —— 这种解决方案在将 DeFi 推进到当前阶段的过程中发挥了重要作用。
然而,当我们努力将 DeFi 带给全球数十亿用户时,解决传统预言机架构的局限性是至关重要的。
在之前的一篇文章中,我们将报告者预言机网络与较新的预言机架构进行了比较,强调了对更透明、更经济、更可扩展的预言机解决方案的需求。
未来的价格预言机需要准备好扩展到我们在传统金融(TradFi)领域中习惯的所有交易对,并支持开发者选择构建的所有区块链。
Pyth 预言机网络引入了一种发布者预言机网络设计,它重新考虑了价格预言机应该检索的数据类型、数据选择的数据源以及数据所有者和数据用户之间的关系。
让我们来看看这个全新的架构。
重新思考价格预言机
金融数据行业的规模非常庞大。美国最大的几家交易所仅靠出售市场数据就能获得数十亿美元的收入。鉴于这一观察结果,改变我们对价格预言机数据源的一些基本假设可能是明智的。
例如,互联网上有公开的价格数据,由 Yahoo! Finance 或 Google Finance 这样的免费价格聚合服务提供。
这些数据不需要非常精细,以美股价格为例,由于监管的原因,通常会延迟 15 分钟或更长时间。
世界上还有很多有价值的数据被各种机构严密保护着:准确及时的信息有着巨大的价值。Bloomberg 或 Refinitiv 等交易所和数据终端服务公司知道这一点,并为此收取大量订阅费。
报告者预言机网络运营的隐含假设是,区块链所需的所有数据都可以在互联网上免费获取。通过激励中间节点进行数据收集、验证和传输,DeFi 便可追踪世界市场的运动。
而在现实中,有价值的金融数据仅限于少数特权方,且不容易被获取。为检索和传递数据而奖励节点的方式对某些类型的数据是有效的,但对速度非常重要、信息是基本优势的资本市场数据却是无效的。
这种方法也受到支持更大节点网络的质量、效率甚至法律限制的影响。
Pyth Network 采用了一种完全不同的方法:预言机网络可以激励高度可信的各方 —— 有价值数据的所有者和创造者 —— 自愿和直接地将他们的数据发布给预言机网络。
链上程序通过价格聚合机制以消除异常值影响,而跨链桥则对发送到其目标区块链的所有价格数据进行签名和验证。
在这个报告者预言机网络中,数据提供方运行自己的节点,直接在链上发布数据。
这种设计消除了对中间节点的依赖,从而产生更高质量的数据和更高的 gas 效率,并最终为预言机网络扩展到数千个喂价数据提供了更高的可扩展性。
一手的数据源
向 Pyth Network 提供数据的可信机构被称为数据提供者或“发布者”。数据提供者通常是拥有大量高质量数据的成熟机构,包括全球交易所、做市商和交易公司。
其中一些最知名的机构包括 Cboe、Jane Street、Optiver、Binance、OKX、QCP Capital、Two Sigma、Wintermute 和 CMS。目前网络中有超过 80 个数据提供者。
所有这些数据提供者都是一手的数据源:他们创造并因此拥有他们所提供的价格数据,因为他们要么是接受订单的交易场所(交易者打算交易的价格),要么是交易者自身(并以指定的价格执行交易)。
在报告者网络中,节点必须从其他中间商或一手数据源处搜索或购买数据;这让它们成为第三方的数据源。
一手数据意味着数据质量和网络安全的保证。所有数据提供者对任何 Pyth 喂价数据的贡献意味着单个数据源可以对其输入的数据质量负责。
此外,这些数据提供者的声誉,以及对他们的恶意攻击将对他们的整个业务产生有害影响的影响。这是针对传统预言机攻击向量的一个强大的额外威慑力。
还有一点很明显,这些机构拥有的数据质量比简单的网络爬取或从公共聚合器和服务提供商那里收集的数据高得多。
此外,由于这些数据源是其数据的所有者,因此可以将数据分发到区块链应用,而无需考虑知识产权问题。
深入研究:Pyth 如何运作
Pyth Network 协议允许一手数据提供商在链上发布其独有的价格信息供公众使用。
协议是三方之间的交互场所:
数据提供者:信誉良好的机构将价格数据直接提交给 Pyth 的链上预言机程序。对于任何喂价数据产品(例如 BTC/USD),都有多个数据提供者进行数据发布,以确保准确性和稳健性。
Pyth 预言机程序:Pyth 预言机程序运行在 Pythnet 应用链上。该程序安全且透明地聚合所提交的数据,以输出聚合价格。
用户:Pyth 的数据用户使用聚合的价格数据。用户通常是去中心化的应用,如 Synthetix、Ribbon 及 CAP Finance 等。
Pythnet 应用链
2022 年 8 月,Pyth Network 发布了 Pythnet,这是一个转为应用打造的区块链,它使 Pyth 数据能够通过 Wormhole 跨链桥聚合并发布到其他区块链中。
Pythnet 基于 Solana 技术构建,但最终与 Solana 主网分离。数据提供者将数据提交给 Pythnet 进行聚合;通过 Wormhole,聚合价格可以传输到超过 20 个区块链中。这种架构选择带来了难以置信的可扩展性优势。
在 Pyth Network 上发布的新喂价数据可以在所有 20+ Pyth 支持的区块链上即时上线。
这对于希望将其应用程序扩展到新区块链的构建者来说是非常有帮助的,这可以让他们即时提供与原始区块链相同的市场和资产支持。
此外,Pyth 独特的架构还允许它能够快速部署到由 Wormhole 支持的新区块链上 —— 以大约每月一个新区块链的速度。
相比之下,竞争对手的预言机网络经常需要经历技术延迟,这限制了他们向新区块链的扩展。例如,一个预言机网络在 Solana 上线,从最初宣布到现在花了近两年的时间。
要拉取,不要推送
Pyth Network 通过一个“拉取”预言机模型运行,用户可以从 Pyth 主动请求或将他们需要的数据“拉取”到他们的本地区块链环境中。
相比之下,传统的预言机解决方案采用“推送”模式,价格数据在链上以预设的频率自动“推送”,即使没有人正在实际使用这些价格更新。
Pyth 的 拉取预言机设计拥有以下优势:
Gas 高效:用户只在“拥有需求”时才需要为数据付费。gas 不会浪费在未使用的价格更新上。此外,如果另一个实体在链上拉取了 Pyth 价格数据,该链上的每个个体都可以使用该价格更新。
高频价格更新:Pyth 喂价数据更新速度超过每秒一次 —— 这比大多数的区块时间更快。如果每个价格都必须推送到链上,那么这种频次的价格更新是不可能实现的。
低延迟:用户可以使用最新拉取的价格数据,而无需被迫使用最近推送的价格数据。
可靠性:在市场波动期间,推送的价格更新可能会与其他交易争夺区块链网络带宽。而 Pyth 的拉取更新则可以被合并到用户的有价值的交易中。
可扩展性:Pyth 可以扩展到数千个新的喂价数据,而无需增加 gas 成本。只有当用户拉取数据时才会产生成本。
拉取模型的优势很多,但最重要的一点是,拉取预言机(按需更新)模型带来了 DeFi 未来所需的可扩展性的优势。
进一步改进思考
尽管 Pyth 已经被证明能够持续地为超过 20 个区块链网络提供高质量的数据,但一个反复出现的批评指出,由于对机构数据源的依赖,Pyth 所描述的体系结构可能有过度中心化的问题。
需要注意的是,Pyth 拥有非常多的数据提供者,这意味着任何给定数据提供者的失误对任何喂价数据的影响都很小。
如果要操纵喂价数据,需要绝大多数提供数据的提供者都发布错误的数据。我们的白皮书更详细地讨论了网络对数据提供者合谋的抗性。
虽然 Pyth Network 依赖于“需要信任的”机构是一个有效的批评,但 Pyth 的方法为 DeFi 带来了重要的优势,同时防止了数据源的预言机操纵或勾结。
我们将持续推动预言机解决方案在性能、安全性和去中心化方面继续创新和改进 —— 达成这种平衡不是一件容易的事 —— 我们希望继续在这方面发挥领导作用。
前进的道路
喂价数据预言机是 DeFi 的支柱,负责提供准确及时的数据,让关键性的应用能够安全准确地进行交易、保障和转移资产。
过去的设计是建立在一个前提上的:即可以激励中间节点以无需信任的方式收集和同意公共信息,并提交聚合结果。
这种方法有其优点,但也存在一些缺陷,比如传输延迟、不透明的数据源、对分发权利的考虑,以及总体上对预言机网络扩展能力的限制。
去中心化金融的持续创新(即使公众需要时间才能意识到这个行业正在创造什么),尤其是 DeFi 基础设施已经取得了长足的进步。
Pyth Network 引入了一种更快、更可靠、更安全的方法来获取大多数区块链开发者无法获得的金融数据。Pyth Network 已经经历了以下方面的大幅增长:
250+ 可使用的喂价数据
2,500 万 + 每日价格更新次数
500 亿 + 美元总保障交易额
150+ 集成应用
20+ 支持区块链
Pyth 喂价数据是无需许可的。开发者可以直接从开发者文档处开始进行集成,并探索用户案例,例如 Synthetix 永续合约如何使用 Pyth 价格数据。
Pyth 的其他知名用户还包括 Ribbon Finance、Venus 和 CAP Finance 等。
随着 DeFi 生态系统的不断发展,Pyth Network 在提供可信任的和实时的数据方面的作用对于确保这些区块链网络的安全性和稳定性以及整个行业的扩展方面变得越来越重要。