介绍
在区块链领域,获取可靠的链上价格信息一直是个重要挑战,这些信息既要确保最高级别的安全性,又要准确反映目标资产的当前现货价格。我们特别关注了Prisma Finance平台上的抵押资产,包括wstETH、rETH、cbETH和sfrxETH等基于以太坊的流动性质押衍生品(LSD)。其中部分资产由于缺乏Chainlink数据源(通常被视为可靠价格数据的黄金标准),影响了它们与Prisma平台的整合。
最近,Curve Finance在其稳定池中引入了一项创新功能——内部池预言机,通过计算指数移动平均线(EMA)来生成抗操纵的价格数据。虽然一些集成商已经开始探索在其他DeFi应用中使用这个预言机,但目前它主要还是用于保障Curve自身crvUSD市场的抵押品安全。
本报告的核心目标是评估Curve Finance预言机是否能够成为ETH LSD代币Chainlink的可靠替代方案。我们通过对Curve价格预言机进行详尽的统计分析,将其波动性、准确性和整体性能与Uniswap参考现货价格(假设为链上最准确的价格)进行对比研究。
我们的分析主要包含两个相互关联的研究方向:首先是对stETH预言机残差的分析,通过历史数据比较Chainlink和Curve预言机相对于参考现货价格的偏差平均值和标准差;其次是stETH MEV赎回分析,利用历史数据研究Prisma平台上的赎回事件,并采用替代预言机来评估机器人的盈利能力和预期行为模式。
基于这些分析结果,我们提出了预言机的初步优化方案,旨在改善价格偏差的同时确保预言机的可靠性。这个解决方案可以作为未来进一步优化预言机性能的研究基础。
第1部分:相关背景
1.1 Prisma协议中的预言机功能
在Prisma协议中,我们主要在清算和赎回这两个关键场景下评估预言机的有效性。值得注意的是,同样的预言机还用于向协议费用接收者和即将上线的”代币化稳定池”出售获得的代币,这将进一步提升其重要性。
预言机的表现对Prisma用户至关重要,因为套利者可能会利用预言机价格与现货价格之间的偏差获利。确保在处理清算和赎回时使用最准确的价格反馈,同时不牺牲定价来源的安全性,这完全符合Prisma协议及其金库存款人的最佳利益。
Prisma中的两个主要预言机功能如下:
1.1.1 清算机制
为了防止Prisma产生坏账(即债务头寸超过抵押品价值的情况),LiquidationManager合约在所有活跃的TroveManager(Prisma金库)上执行清算逻辑。清算可能通过三种方式触发,具体取决于目标账户的抵押比率和系统整体的抵押比率。
当ETH或ETH LSD经历剧烈价格波动(特别是下跌)时,Prisma清算的可能性在市场剧烈波动时会显著增加。虽然预言机故障或操纵可能随时影响协议,但在最关键的时刻,预言机故障的风险可能会加剧。抵押资产可能因为Gas费用飙升而无法及时更新价格,或者预言机的定价方法无法充分跟踪加剧的波动性而导致错误定价。这些情况都可能导致坏账增加,必须在活跃的金库中分配,或者在预言机错误报告价格低于公平市场价格时,导致借款人被不公平地清算。
1.1.2 赎回机制
套利者可以随时执行赎回操作,他们可以选择将1 mkUSD兑换成价值1美元的抵押品(加上动态赎回费用),从系统中抵押比率最低的金库开始。当mkUSD价格跌破1美元时,这有助于加强其锚定汇率。赎回过程会降低目标金库的抵押品风险并提高其抵押比率。
虽然历史上Prisma上的清算事件较为罕见,但赎回却相当常见,值得对预言机进行特别考量。MEV机器人正积极寻找这类机会,通过闪电贷快速获利。
除了强制赎回给金库所有者带来的不便外,由于预言机与现货价格的偏差,用户可能会遭受一定的价值损失。错误定价可能导致用户损失比预期更多的资产,特别是当预言机报告的价格低于公平市场价值时。另一方面,如果预言机报告的价格高于公平市场价格,可能会阻止赎回的发生,从而削弱赎回机制强制执行mkUSD挂钩底价的作用。
1.2 预言机选项
以下是Prisma平台上主要的预言机价格服务候选方案:
1.2.1 Chainlink(链下方案)
Chainlink作为一个去中心化的预言机网络,聚合了广泛的市场数据源,并将这些数据连接到智能合约。其架构依赖于独立的节点运营商从各种交易所和市场数据聚合器API获取和传递数据,从而最大限度地减少单点故障并增强安全性。
1.2.2 Curve池EMA预言机(链上方案)
最新的Curve池实现(包括StableSwap和CryptoSwap池)都包含由getter函数price_oracle()公开的EMA价格计算。这些池不依赖外部预言机,而是根据自身的交易活动,在内部计算相对于池索引0中代币的资产价格。
2023年11月,在stableswap-ng池的部署实施中发现了一个影响池预言机的错误。该错误由yAudit在二次审计中发现,促使社区提议升级实施并弃用少数受影响的池。虽然没有资金面临风险,但这一事件凸显了Curve池预言机虽然经过广泛审计,但仍处于积极开发阶段,可能存在使预言机容易受到操纵或不准确的潜在问题。
1.3 赎回的历史MEV分析
本报告的第3部分是对wstETH TroveManager赎回的深入分析。由于赎回对Prisma用户有重要影响,本节介绍了有关历史赎回的观察结果,这些将在与替代Curve EMA预言机的比较分析中进行评估。
1.3.1 机器人行为模式
在wstETH TroveManager上查询赎回事件显示共有200多笔赎回交易,其中190笔被识别为机器人交易。数据显示只有3个机器人频繁进行mkUSD赎回,它们都遵循类似的获取mkUSD和赎回的一般流程。
MEV盈利能力主要取决于三个关键步骤中的价格差异:随着mkUSD价格下降,赎回盈利能力增加;随着动态赎回费用降低,赎回盈利能力增加;而随着抵押资产(如stETH)交换滑点增加,赎回盈利能力下降。
1.3.2 wstETH预言机变更的效果
一项更改Prisma预言机feed定价stETH的提案已获得通过。最初,Prisma使用Chainlink stETH/USD预言机,wstETH TroveManager的偏差阈值为1%。后来发现,改用Chainlink stETH/ETH和ETH/USD预言机组合可以得到改善,每个预言机的偏差阈值为0.5%。
观察发现,当mkUSD交易价格低于其锚定汇率时,由于预言机偏差超过1%,导致出现过度赎回。在这些情况下,动态费用不足以阻止由于定价偏差而导致的过度赎回。与组合预言机相比,stETH/USD预言机更容易出现偏差,曾出现过超过1.2%的短暂偏差,为MEV机器人的利用创造了机会。
第2部分:预言机残差分析
2.1 研究目标
这项分析旨在评估已实施的Prisma预言机的性能,并使用历史数据来评估替代链上Curve EMA预言机的假设性能。研究结果将为链下预言机与链上预言机的行为差异提供初步见解,为后续更细致的评估奠定基础。
分析的核心目的是确定当前预言机是否提供了最优解决方案,或者是否可以通过利用Curve EMA池预言机实施链上或混合方案来进行改进。
2.2 研究方法
分析特别关注stETH,因为它是最常用的LSD,拥有成熟的Chainlink价格源和深度流动性的Curve池。我们采用比较分析方法,评估目标数据与参考数据集的吻合程度。
为了量化这种一致性,我们检查残差——即目标数据和参考数据之间的差异。残差分析旨在揭示这些差异的模式或趋势。在分析残差时,我们特别关注残差的标准差,这是一个统计指标,用于量化一组值中的变异或离散程度。
2.3 数据收集
为了分析目的,我们从所有相关资产中收集了2023年最后一个季度的数据(从区块18331000到区块18931000,以250个区块作为数据集的分辨率)。这将为所有资产创建一个包含2401个数据点的全面数据集。
主要考虑的资产是stETH,因为它是Prisma目前接受的既有Chainlink feed又有Curve StableSwap-ng池可供参考的抵押品类型。所有数据都是通过查询指定区块范围的价格来获取的。
2.4 stETH预言机残差分析结果
通过比较分析,我们发现当以Uniswap数据作为现货价格的代理参考时,Chainlink数据的偏差明显大于Curve预言机。
在所有情况下,Curve都表现出较低的平均值和标准差值。精度倍数显示每个观测值的相对精度的大小。主要发现包括:
首先,根据残差的标准差,与参考现货价格相比,Curve显示出比Chainlink更低的波动性,并且在观察到的资产之间保持一致,尽管Chainlink和Curve之间cbETH的标准差相似。
其次,通过分析平均值可以发现,与参考Uniswap现货价格相比,Chainlink倾向于低估资产价格。Curve与参考价格更加一致,但也略微倾向于低估价格。
需要特别注意的是,尽管观察到这些Curve预言机总体上优于Chainlink,但rETH和cbETH经历了急剧而短暂的偏差。这是由于池的相对流动性不足、活动性低以及较旧的池实施不适合整合所致。这提示我们需要进行额外研究来确定可靠Curve池预言机所需的基准指标。
第3部分:stETH MEV赎回分析
3.1 研究目标
该分析旨在将wstETH TroveManager中赎回事件的实现价格与替代链上预言机使用历史数据报价的假设价格进行比较。研究结果将为链下预言机与链上预言机的行为提供重要见解,为后续更细致的评估奠定基础。
分析的核心目的是确定当前预言机在特定赎回环境下是否提供了最优解决方案,或者是否可以通过实施链上或混合方案、利用Curve EMA池预言机来进行改进。
3.2 研究方法
分析特别关注stETH,因为它是最常用的LSD,拥有成熟的Chainlink价格源和深度流动性的Curve池。本研究汇总了所有赎回事件,将已实现的stETH预言机价格与几种替代预言机价格进行比较。
对于每笔赎回交易,实现的stETH价格是通过将赎回的mkUSD数量除以金库损失的stETH数量来计算的。如果任何替代源为赎回者提供的利润持续较低,我们可以说它们的MEV表现优于实际价格。
3.3 数据收集
我们使用Dune查询来识别所有机器人交易的tx哈希、mkUSD赎回的已实现wstETH汇率以及赎回事件的区块号。这些区块号作为查询以下数据的输入,用于将当前实现与Curve stETH喂价变化进行比较。
3.4 stETH MEV赎回分析结果
分析揭示了一个明显的趋势:当将Curve stETH/ETH与Uniswap ETH/USDC和Chainlink ETH/USD结合使用时,可用于mkUSD赎回的stETH数量减少。因此,每mkUSD赎回的stETH单位减少会导致机器人利润下降。
数据显示,与已实现的喂价相比,Curve stETH/ETH、Uniswap ETH/USDC和Chainlink ETH/USD的组合显著降低了赎回盈利能力。
第4部分:预言机改进方案
4.1 混合预言机解决方案
认识到完全依赖Curve预言机的固有风险,特别是在流动性低或流动性波动期间,我们提出的解决方案战略性地集成了Chainlink预言机作为出现偏差时的保障措施。鉴于Chainlink提供错误数据的可能性极低,它可以作为可靠的后备选项。
该解决方案充当过滤器,同时考虑Curve和Chainlink价格。我们在函数内建立了条件作为开关。为了设计这个条件,引入了acceptable_range概念。这个范围代表了Chainlink预言机和Curve预言机价格之间可接受的差异。当观察到的差异超过此范围时,表明Curve预言机数据可能存在偏差或操纵风险。
4.2 解决方案验证
4.2.1 静态acceptable_range
该解决方案引入静态acceptable_range方法来解决仅依赖Curve预言机的潜在漏洞。虽然Curve预言机产生的价格比Chainlink更准确,但它可能更容易受到操纵。从策略上讲,acceptable_range接受的报价低于Chainlink报价的±1%,这与Curve和Chainlink之间的平均差相差近3个标准差。
4.2.2 函数输出derived_price
derived_price是旨在确定给定资产最终报价的函数输出。在所描述的解决方案中,该函数评估来自Curve预言机和Chainlink预言机的报价。根据观察到的这两个价格之间的差异以及它是否落在或超出预定义的accepted_range,该函数将输出不同的派生价格。
分析总利润可以揭示更大情况。确定了六个异常值,在过滤异常值之前和之后计算每种情况的总利润。在减少机器人可用利润方面,Curve stETH/ETH和Uniswap ETH/USDC表现最好。derived_price与当前stETH的预言机实现具有相同的利润潜力,但限制了利润,假设在分析的189笔交易中为用户节省了约35.4 ETH。
4.3 研究结论
由于链上活动严重依赖流动性最强的去中心化交易所的报价,而MEV机器人将mkUSD兑换成LSD也遵循相同的报价,因此用于报价赎回的预言机价格的准确性至关重要。
根据历史数据,Curve池预言机价格比Chainlink的价格更接近参考(UniswapV3价格数据)。数据表明,实施Curve预言机将减少机器人的MEV,并为用户赎回其金库提供更好的汇率。
虽然单独使用Curve预言机很诱人,但Curve价格反馈的有效性取决于特定资产的流动性深度以及与池的交互。我们建议采用Curve预言机和Chainlink预言机的混合方案来匹配链上价格,同时保持Chainlink预言机继承的可靠性和广泛的市场覆盖范围。
我们提出的混合预言机解决方案评估标准差(SD)来生成derived_price。如果SD接近0,则表明derived_price遵循参考值,可以考虑采用。这确保了当Curve预言机偏离预定义阈值时,解决方案会动态切换到更安全的Chainlink源。
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/12733.html