A vibrant, futuristic conference scene with

DeFi中的预言机是什么:决定价格、贷款和清算的数据层

By AI News Crypto Editorial Team阅读 9 分钟

在DeFi中,预言机是中间件,它获取、验证并发布外部数据,最常见的是市场价格,以便智能合约能够执行它们无法仅从区块链状态计算的逻辑。在借贷和永续合约中,该预言机价格不是用户界面参考,而是决定借贷能力和清算触发的可执行输入。

关键要点

  • 一个DeFi预言机是中间件,它获取、验证并发布外部数据,最常见的是代币价格,以便智能合约能够执行金融逻辑。
  • 价格馈送占主导地位,因为协议需要外部参考来评估抵押品、设定借贷能力,并自动触发清算
  • 单一来源的预言机设计创建了一个结构性单点故障,其中一个错误的价格打印可能导致多个合约“正确”执行而产生损失。
  • 协议通过聚合来源和TWAP风格的平滑来降低预言机操纵风险,因此一块的扭曲更难以利用。

预言机价格如何成为借贷和永续合约的可执行输入

在实践中,预言机馈送通过成为合约在执行规则时读取的值而成为协议的“官方”价格。借贷市场提取最新的链上预言机更新,将抵押品转换为美元价值,然后根据这个单一数字检查健康因素、借贷限额和清算阈值永续合约和保证金系统在资金、盈亏和清算方面也做同样的事情。这就是价格来源、过滤或聚合方式以及更新频率的细节为何重要:预言机不是参考报价,而是清算引擎实际执行的输入。

交易者应该关心的原因是机械性的。一旦价格在链上,它就变得可执行。借贷协议使用该数字来评估抵押品、设定借贷限额,并决定何时一个头寸是低抵押的。永续合约和合成系统用它来结算头寸。如果预言机打印了错误或过时的值,智能合约仍然会确定性地执行,这意味着即使“真实”市场从未在该价格交易,清算引擎仍然可以触发。

这也是“预言机是价格小部件”和“预言机是风险管理”之间的区别在屏幕上显现的地方。用户界面可能滞后,图表可能错误,什么都不必发生。预言机更新是不同的,因为它是合约数学的输入。一个错误的打印可以原子性地改变所有引用该馈送的账户的借贷能力,而清算只是合约遵循其规则的结果。

价格是主导的预言机用例,因为DeFi主要是抵押融资。没有外部参考价格,协议无法计算存款在美元中的价值、可以借贷多少或是否应该清算贷款。

为什么DeFi需要预言机

智能合约无法安全地“检查互联网”,因为区块链是封闭的、确定性的系统。合约只能读取链上状态。它不能调用交易所API端点、抓取网站或查询传统市场数据终端,而仍然让每个验证者独立验证相同的结果。

这种限制产生了预言机问题:DeFi希望自动化需要外部参考数据的金融行为,但基础链无法本地导入这些数据。预言机存在的目的是通过获取链外信息并以链可以验证和消费的形式提供它来弥补这一差距。

这就是为什么DeFi需要预言机不是一个关于去中心化的抽象问题。它关乎一个借贷市场是否可以安全地决定抵押品价值和清算阈值。如果一个协议无法观察到一个可信的价格,它就无法安全地设定借贷能力。如果它使用一个可操纵的代理,比如流动性薄弱的现货市场,它可能最终基于一个仅对一次交易“真实”的价格强制执行保证金调用。

依赖图很重要。任何读取预言机的合约都会继承该预言机关于来源、更新频率和故障处理的假设。当多个协议共享同一个预言机馈送时,预言机就成为一个共享的基础设施。当馈送强大时,这可以是一个优势,而当馈送脆弱时,这就是系统性风险。

预言机如何工作:从链外数据到链上执行

一个典型的预言机管道有四个步骤:来源选择、数据检索、聚合或验证,以及链上发布。来源可能是交易所价格或其他外部API。预言机操作员检索这些值,应用规则进行过滤或组合,然后在交易中将结果发布到链上。智能合约读取该链上值并执行诸如更新抵押比率或触发清算等操作。

更新设计是风险转化为时机的地方。Chainlink在基于推送的更新和基于拉取的更新之间划清了界限。基于推送的馈送在计划时间或达到阈值时发布到链上,因此链上始终有一个最近的可用值。基于拉取的设计保持数据在链外更新,仅在用户或协议需要时将其带入链上,这改变了谁为发布付费以及何时该值变得可执行。

这两种模型默认都不是“安全的”。基于推送的更新可以减少过时性,但会产生攻击者可以研究的可预测节奏。基于拉取的更新可以减少链上成本,让用户选择何时发布,但它们也可能在安静期后首次链上更新时产生关键打印的时刻。

这就是Chainlink预言机如何工作对用户的重要性:推送与拉取的选择改变了成本、新鲜度和攻击窗口的大小。预言机不仅仅是提供信息。它决定了协议的清算引擎何时获得新的输入。

预言机信任模型和共识:集中式与去中心化

第一个信任决策是协议是否依赖于一个发布者或多个。集中式预言机很简单:一个实体发布值。失败模式也很简单。如果该发布者错误、被攻破或离线,每个依赖的合约都会继承这个问题。

去中心化的预言机网络旨在通过使用多个独立的操作员和多个来源来消除单点故障,然后将它们聚合成一个链上答案。从高层来看,去中心化预言机如何达成共识大致如下:多个节点观察相同的数据,提交他们的观察结果,然后一个聚合机制生成合约读取的最终值。

去中心化减少了对任何单一操作员的依赖,但并不保证正确性或新鲜度。系统仍然需要关于哪些来源有效、如何处理离群值以及何时发布更新的规则。如果一个馈送依赖于流动性薄弱的市场、更新频率缓慢或有让扭曲输入主导的聚合规则,它仍然可以是去中心化的,但却是脆弱的。

这也是价格预言机和数据预言机之间的区别重要的地方。价格预言机提供市场价格,直接用于抵押品评估和清算触发等金融逻辑。数据预言机更广泛,可以提供多种类型的外部信息,超出价格。价格馈送直接位于杠杆头寸的清算路径上,这就是它们吸引最多对抗性关注的原因。

预言机攻击与防御:操纵、闪电贷和TWAP

预言机攻击是一种利用,其中攻击者导致智能合约消耗不正确的外部数据,通常是错误的价格,并从合约对该错误输入的执行中获利。合约并没有“困惑”。它正是用它所给定的值执行其编码的操作。

大多数被标记为预言机黑客的丑陋事件都是价格操纵问题。攻击者针对预言机信任的特定市场,短暂推高价格,然后利用该临时打印借取过多、抽走抵押品或强制清算。闪电贷是加速剂,因为它们允许攻击者在一个交易中部署大规模。Halborn报告称,62.1%的价格操纵攻击涉及闪电贷,基于其对2023年前100个最重要DeFi黑客事件的分析。Halborn还表示,缺陷预言机是价格操纵攻击的主要原因,占2023年价格操纵攻击损失的49%以上。

协议如何防止预言机操纵归结为使单块扭曲无利可图。两种常见的防御措施反复出现。首先是跨多个来源和操作员的聚合,因此单一场所或池无法决定打印。其次是TWAP风格的平滑,这迫使攻击者在一段时间内维持扭曲的价格,而不是仅仅在一次交易或一个区块内。

单一来源的设计不仅仅是“去中心化程度较低”。它们是结构上的单点故障。一个错误的打印可以传播到多个合同中,这些合同都读取相同的数字,而级联效应是完全有效的执行:借贷限额更新、保证金通知触发、清算启动,坏账可以根据协议设计进行社会化。

关于DeFi预言机的常见误解

“预言机只是一个价格信息源”忽略了其工作。预言机是获取、验证和在链上发布外部数据的中间件。价格是主要的用例,因为它们直接与抵押品估值和清算逻辑相连,但这个概念比一个价格信息源要广泛得多。

“如果智能合约经过审计,我就安全”混淆了代码的正确性与输入的正确性。如果预言机输入错误或过时,经过审计的代码仍然可以清算头寸。这里的“垃圾进,垃圾出”不是口号,而是清算路径。

“去中心化预言机意味着它不会失败”将去中心化视为一种保证。聚合减少了对单一操作员或来源的依赖,但如果基础来源稀薄、相关或可操控,或者更新频率导致数据过时,信息源仍然可能是错误的。

“预言机攻击是奇特的”是错误的。许多攻击是直接的价格操纵,而闪电贷使资本需求变得暂时。Halborn的数据显示,2023年62.1%的价格操纵攻击涉及闪电贷,这提醒我们攻击者会围绕一次交易的扭曲进行计划。

“现货DEX价格等于公平价格”对于长尾资产来说是昂贵的。稀薄的流动性意味着单笔交易可以足够地移动现货价格。如果预言机直接读取该现货价格而没有聚合或TWAP风格的平滑,协议可能会将一次交易的扭曲视为市场。

总结

我看到人们将预言机视为背景细节,然后在头寸“突然”被清算时表现出惊讶。合同并没有醒来选择暴力。它读取了一个数字并执行。如果这个数字来自稀薄的现货市场或单一来源的信息源,清算触发器始终依赖于脆弱的输入。

清晰的姿态是将预言机视为经纪人的保证金系统,而不是图表。在接触借贷市场或永续合约场所之前,我想要三个答案:价格来自哪里,如何更新,以及如果在一两个区块内错误会发生什么。Halborn的统计数据显示,62.1%的价格操纵攻击涉及闪电贷,这提醒我们“一区块的奇怪现象”并不是假设。这是攻击模型。

来源

常见问题

为什么DeFi需要预言机?

智能合约只能读取链上状态,无法安全地调用链外API或网页价格数据。预言机在链上发布外部参考数据,以便协议可以计算抵押品价值、借贷能力和清算阈值。

Chainlink预言机是如何工作的?

Chainlink使用去中心化的预言机网络将外部数据引入链上供智能合约使用。它将基于推送的更新(按计划发布或在达到阈值时发布)与基于拉取的更新(保持在链外并在需要时引入链上)区分开来。

DeFi中的预言机攻击是什么?

预言机攻击是指攻击者使智能合约使用不正确的外部数据,通常是错误的价格,并从合约根据该输入执行中获利。许多案例都是价格操纵,其中暂时扭曲的市场价格被协议视为真实。

协议如何防止预言机操纵?

协议通常通过使用去中心化或聚合来源而不是单一场所,以及应用TWAP风格的平滑,来降低操纵风险。这些选择使得单个区块或单个交易的扭曲更难以利用,包括由闪电贷驱动的操作。

价格预言机和数据预言机有什么区别?

价格预言机提供市场价格,直接用于抵押品估值、交易和清算等金融逻辑。数据预言机则更广泛,可以根据智能合约的需求提供多种类型的外部数据,超越价格。