如何通过市场机制解决预言机MEV(OEV)问题?
作者:Shew ,极客web3
注:原文整理自极客web3官推上的一条2000余字的,关于OEV问题及其解决方案的推文,由于该话题特别有趣,我们将其整理成短文,供大家参考。
简单来说,当预言机运行者监控到链下与链上的价格数据存在偏差时,运行者可以发起交易,更新链上预言机感知到的价格。当一笔可以修改预言机价格的交易发生时,这往往意味着 MEV 的产生,我们称这种依赖于预言机的 MEV 为 OEV (oracle extractable value)。
OEV的存在,在不同利益相关者之间产生了价值再分配,而API3则号称使用拍卖机制,使OEV再分配尽可能合理(通过市场机制来分配),并设法带来更快、成本更低的价格更新。
一般认为,OEV的产生与提取,是MEV问题的一个子集,我们在此简单介绍OEV 是如何产生的,其核心原因在于以下两方面:
1. DeFi 系统使用预言机获取价格,并基于预言机价格,执行清算等逻辑。而资产清算往往意味着有大额的利润空间。
2. 预言机更新存在细粒度问题,只有链下与链上价格存在一定偏差后,才会更新链上数据,且链上数据更新会以一笔交易的形式呈现。
OEV 的产生,意味着流动性提供者的价值损失,一些数据显示,基于以上两方面,OEV 存在以下三种产生途径:
Frontrunning,即抢先交易。当 OEV 搜索者监控到,交易池内出现一笔预言机价格更新交易时,其可以在此交易前,插入自己的交易,以获取价格更新带来的收益。这是最传统的抢跑交易。
Arbitrage,即套利。由于预言机链上价格更新,取决于链上价格与链下价格之间的差额,这意味着预言机报价可能与其他系统报价不一致,此时就产生套利空间
Liquidations,即清算。预言机的价格更新,会触发一系列借贷头寸的清算,清算者可以在清算过程中内获取大量的清算收益。
通过 Frontrunning 和 Arbitrage 方式提取的收益,实际上是流动性提供者的损失。而对于 Liquidations 清算获取的收益,一方面影响了借款人的利益,因为借款人会在清算过程中损失相当部分的资金,而对于贷款人,由于预言机给出的报价存在延迟,其最终收到的抵押品价值可能低于预期。所以无论如何,OEV的提取都会给相应的Defi协议带来托管财产上的损失。
对于 OEV 的提取,搜索者会通过监控内存池内的“预言机数据更新指令”,通过 MEV 基础设施,将预言机数据的更新交易指令,与自己发起的交易指令捆绑在一起,最终执行以获取收益。
当然,对于套利和清算交易,搜索者只需要监控链上价格与链下价格的偏差,最终通过 MEV 基础设施,确保自己发起的交易先上链执行即可。
无论搜索者使用的那种流程,我们可以看到 OEV 的收益被分配给了 MEV 基础设施和 OEV 的搜索者,而“被捕获” OEV 价值的协议,并没有获取其应有的收益。(根据某些数据,OEV 问题此前曾导致GMX 平台的利润被抽走差不多10%)
为了解决这个问题,贡献了大量OEV价值、身为链上衍生品交易平台的GMX采用了一种简单粗暴的方式:让自己指定的一些人来捕获OEV价值,然后把这些OEV价值尽可能返还给GMX平台。
对此,GMX 引入了Rook和白名单。简单来说,GMX 的预言机更新通过 Rook 执行,而Rook会基于目前的市场情况,进行 OEV 的提取操作以获取市场内的 OEV。这些 OEV 的 80% 会被返换给 GMX 协议。
总结下来就是,GMX 通过白名单,赋予 Rook 们更新预言机的权利,通过Rook 提取OEV以避免被其他搜索者提取OEV,同时将 OEV 的 80% 返还给 GMX 系统。这个套路其实有点简单粗暴。
在介绍最近热议的API3提出的OEV 拍卖方案前,我们先简单介绍下API3的预言机运行原理。API3 的核心被称为 Airnode 协议。该协议允许 API 服务商直接将自己的 Web2 的 API 包装为 Web3 的预言机。
简单来说,Airnode 协议要求 API 服务商使用自己的私钥,对每一个发布数据进行签名。用户可以随时向Airnode 协议的服务商,获取最新的数据及其签名,然后可以将其发布到链上预言机内,以更新数据。
这对于 API 服务商而言,将其 Web2 API 服务包装为区块链预言机,实际上只需要增加一个私钥签名环节,API 服务商的大量基础设施可以直接复用,这大大降低了 API 服务商进入预言机领域的门槛。
基于 Airnode 协议,API3 使用了一种类似 flashbot 的但针对于预言机系统的拍卖方案,以实现 OEV 的合理分配,同时也可以进一步提高链上预言机的更新频率。下图展示了 API3 的 OEV 方案:
API3允许任何人通过竞拍,主动的更新其预言机合约上记录的数据,并引入OEV Relay节点,作为整个OEV拍卖流程中的核心。OEV Relay 在各个预言机网络节点内收集数据,并统一返回给搜索者(Searcher),搜索者再拿去更新API3预言机上记录的数据,并趁机把MEV交易也捆绑在一起。
OEV Relay 的存在带来了以下两方面优势:
1.为搜索者统一提供所有数据,减少搜索者单独与预言机节点交互的事件;
2.保护网络内单个预言机节点,避免单个预言机节点被搜索者发起 DoS 攻击;
搜索者可以在 OEV Relay 内,获取聚合的预言机网络报价数据及其签名,当搜索者认为当前的预言机网络报价可以帮助其完成某些 OEV 提取操作,搜索者就会向 OEV Relay 发起竞价。
在竞价过程中,假如搜索者给出了最高报价,OEV Relay 就会返回一笔已经签名完成,可以直接上链用于链上预言机价格更新的 meta-tx。搜索者可以将该笔价格更新交易,与其他交易打包在一起上链,执行获取 OEV 收益。此时由于价格更新交易也被打包上链,所以链上预言机价格也一并更新。
我们可以看到,允许OEV拍卖的一个效果,在于实现链上预言机价格的高频更新。以 AAPL/USD 数据源为例,在没有 OEV 拍卖前,当链下与链上价格偏差 1% 时,这种大幅度的偏差才会使得预言机主动更新链上价格。
但假如 OEV 拍卖开放后,预言机允许外界向其提交数据更新指令,搜索者可能就会认为,链上与链下 0.1% 的价差就可以带来巨大的OEV收益。这会驱使搜索者,在价差为 0.1% 时就拍下用于价格更新的 meta-tx ,并将该笔交易指令上链。
这会加快 AAPL/USD 数据源的更新,且没有对使用此预言机的应用带来额外的预言机更新成本。
所以说,预言机数据更新的成本,被转嫁给了OEV价值捕获者,而API3的OEV Relay可以从OEV玩家那里,获得大额的竞拍费用,再把这些费用反哺给被捕获OEV价值的Defi协议。
可以预见,随着 OEV 市场扩大,搜索者会在拍卖价格上激烈竞争,导致 OEV 价值的大部分(甚至是95%)都被转移给 API3 协议,而API3协议收到这部分OEV收入后,会区分OEV价值的来源,并将其返还给被捕获OEV价值的Defi协议。
还需要注意 ,为了保险,API3会在链上数据与链下数据差额较大时,自动执行数据更新操作,前提是一直没有OEV拍卖者主动更新API3合约记录的数据。
基于 Airnode 协议与 Flashbot 的启发,API3 开发了 OEV 拍卖方案,该方案带来了以下优势:
将 OEV 大部分返还给使用预言机喂价的协议,提供了更具有细粒度的价格更新,且采用预言机喂价的协议平台 无需为更细粒度的数据更新付出高昂成本,这部分成本通过拍卖的方式转嫁给了出价的OEV抢跑者。
相比于 GMX 的特殊化方案,API3 的方案是更加通用的,而且 API3 预言机的使用方只需要给定钱包地址,API3 协议会自动将 OEV 收入打入此钱包,使 OEV 的再分配更加方便。