この研究は、信頼性の高いオンチェーン価格情報を取得し、セキュリティを最大限に確保しながら、ターゲット資産の現行価格を反映させるという課題から生まれました。具体的には、Prisma Financeの担保資産(wstETH、rETH、cbETH、およびsfrxETH)およびEthereumベースの流動性ステーキングデリバティブ(LSD)に焦点を当てています。これらの資産のいくつかはChainlinkデータソースを欠いており(信頼性の高い価格データのゴールドスタンダードとされることが多い)、これがPrismaプラットフォームとの統合に影響を与えています。
Curve Financeのステーブルプールの最新の実装には、Exponential Moving Average(EMA)を計算して改ざんに耐える価格データを導出する内部プールOracleが含まれています。インテグレーターはOracleを他のDeFiアプリケーションで利用し始めていますが、Oracleは主にCurve独自のcrvUSD市場の担保の安全性を確保するために使用されています。
このレポートの主な目的は、Curve FinanceのOracleがETH LSDトークンのChainlinkに対する信頼性のある代替として機能するかどうかを判断することです。この研究では、Curve価格オラクルの効果に関する統計分析が行われ、その変動性、精度、および総合的なパフォーマンスがUniswapの参照価格(オンチェーン価格とされる精度の高い価格)と比較されます。
分析は2つの関連する研究に分かれています:
stETH Oracles Residual Analysis: ChainlinkとCurveを比較した研究、歴史的データを使用して、Oracleの偏差を参照スポット価格の平均および標準偏差に対して決定する。
stETH MEV Redemption Analysis:ChainlinkとオンチェーンOracleの比較研究で、履歴データを使用してPrismaの償還イベントを調査し、代替Oracleを使用してロボットの収益性と予想される動作を推定します。
分析の結果、オラクルの初期仕様を提供し、オラクル価格の偏差の改善を期待しつつ、オラクルの信頼性を確保します。提案されたソリューションは、オラクルを最適化する他の研究のための初期の設計図として機能する可能性があります。
オラクルの効果は、プリズマの使用環境内で評価されます:清算および償還。(さらに、同じオラクルがトークン発行手数料や「トークン化されたステーブルプール」への取得トークンの売却にも使用されることに注意してください。この重要性は、ローンチ後に増加するでしょう。)
Oracleのパフォーマンスは、プリズマのユーザーにとって重要です。アービトラージャーは、オラクル価格とスポット価格の不一致から利益を得るチャンスがあるかもしれません。清算や償還時に最も正確な価格フィードバックの使用を確保することは、価格源のセキュリティを犠牲にすることなく、プリズマプロトコルとその財務預金者の最善の利益にかなっています。
Prisma内の2つのOracle関数は次のように概説されています:
Prismaを破綻から保護するために、債務ポジションが担保の価値を上回る場合、LiquidationManager契約はすべてのアクティブなTroveManager(Prismaの財務省)に清算ロジックを実行します。清算は、対象アカウントの担保比率とシステム全体の担保比率に応じて3つの方法のいずれかでトリガーされることがあります。
個々の担保比率(ICR)<= 100%:アカウント(財務省)の担保が不足しています。すべての負債と担保は残りのアクティブな財務省の間で再分配され、効果的に損失が社会化されます。
100% < ICR < 最小担保比率(MCR):金庫が清算基準を下回るが、安全に清算できます。ステーブルプールは、清算のための準備金として使用されます(清算プールのインセンティブ)。担保はステーブルプールの預金者に割り当てられます。ステーブルプールの残高が金庫を完全に返済するには不十分な場合、残りの負債と担保は残りのアクティブな金庫に再分配されます。
MCR ≤ ICR ≤ グローバルトータル担保率(GTCR)&& GTCR < 150%:システムは回復モードにあり、CRがGTCR未満である場合は、MCRではなくGTCR以下で財務が清算されることを意味します。ステーブルプールへの預入れは、まず財務の清算に使用されます。 MCRでの債務価値に相当する担保は、ステーブルプールの預金者に分配されます。 残りの担保は、財務所有者が請求できます。
ETHまたはETH LSDが大幅な価格変動、特に急落を経験すると、高い市場の変動率ではPrismaの清算可能性が高まります。オラクルの障害や操作がいつでもプロトコルに影響を与える可能性があり、オラクルの障害リスクは最も重要な時期に増加する可能性があります。ガス手数料の急上昇により担保資産の価格が適切なタイミングで更新されない可能性があるか、オラクルの価格設定方法が増加するボラティリティを適切に追跡できない場合、価格の誤設定が発生する可能性があります。破産が増加し、アクティブな資金管理者間で再分配が必要になる場合があります。また、オラクルが誤って公正な市場価格を下回る価格を報告した場合、借入者が不当に清算される可能性があります。
アービトラージャーは常に引き出しを開始でき、1 USドルの価値の担保を1 mkUSDに引き換えることを選択できます(+動的引き換え手数料)、システム内で担保比率が最も低い財務で開始します。これにより、mkUSD価格が1 USドルを下回ったときにペッグを強化できます。引き換えプロセスにより、対象財務の担保リスクが軽減され、担保比率が増加します。引き換えを実行する当事者は、引き換え手数料と呼ばれる手数料を支払います。引き換え手数料の範囲は、TroveManager毎にあり、引き換え手数料の下限+基本料率の合計です。 TroveManagerに格納されている変数は、引き換えられたmkUSD総供給量と比例して増加し、時間の経過とともに線形に減少します。この動的手数料である基本料率は、収益性の高い引き換え率を調整します。
Prismaでの清算はこれまで稀でしたが、償還は一般的であり、オラクルにとって特別な考慮が必要です。 MEVボットは積極的にこのような機会を探し、フラッシュローンを通じて迅速に利益を上げようとします。
自分たちの宝物を強制的に償還しなければならない不便さに加えて、Oracle とスポット価格の乖離による価値の抽出を経験する可能性があります。 誤定価は、特に Oracle が公正な市場価値よりも価格を報告した場合に、ユーザーが必要以上に資産を失うことにつながります。 一方で、Oracle が公正な市場価格よりも高い価格を報告した場合、償還を妨げる可能性があり、mkUSD ペッグフロアを強制する償還メカニズムの目的を無効にすることがあります。
ここでは、プリズマのオラクル価格フィードの主要候補について簡単に紹介します。
Chainlinkは、幅広い市場ソースからデータを収集し、このデータをスマートコントラクトに接続する分散型オラクルネットワークです。そのアーキテクチャは、独立したノードオペレータがさまざまな取引所や市場データ集約APIからデータを取得し送信することに依存しており、単一障害点を最小限に抑えてセキュリティを向上させています。データの整合性は、送信前にデータの正確性を検証する暗号化手法やコンセンサスメカニズムを通じて確保されています。そのアプローチには、資産の時価総額加重平均価格(VWAP)を用いて、資産の現物価格を最も適切に表す公正な市場価値を集約することが含まれています。
ノードネットワークは定期的に(ハートビート)または価格の逸脱閾値に基づいて価格をチェーンにプッシュします。この制限は、メインネットでのガス料金が高いため、価格の更新が高額になり、遅延が増加し、それによってオラクルのパフォーマンスが低下する可能性があります。このようなオラクルを維持するコストは高額になる可能性があり、特に高いボラティリティの期間中には、オラクルへのタイムリーな更新が重要となります。
最近のCurve pools(StableSwapおよびCryptoSwap pools)の実装には、例えばgetter関数によって公開されたEMA価格計算が含まれています。price_oracle()
これらのプールは外部オラクルに依存せず、代わりに内部で独自の取引活動に基づいてプールのインデックス0のトークンに対する資産価格を計算します。 EMAは、滑らかな価格調整を通じて操作コストを増加させ、操作耐性と現物価格からの価格偏差との間のバランスをとります。各プールには、ma_exp_time
Curve DAOの投票を通じて構成できる
Curve Oracleのドキュメントで開示されているように、EMA Oracleは積極的に開発中です。
「Curveの'price oracle'機能または任意の価格オラクルを使用して、構築中の分散型アプリケーションにオンチェーン価格データを提供する場合は、特に注意してください。」
異なるプールの実装は、EMA Oracleコードのバージョンを変更しますので、統合者は対象プールのOracle実装を理解する必要があります。
2023年11月、stableswap-ngプールのデプロイ実装中に、プールOracleに影響するエラーが発見されました。このエラーは、yAuditによる2次監査中にプールの実装デプロイ後すぐに発見されました。これを受け、実装のアップグレードと影響を受けるいくつかのプールの非推奨化を提案しました。資金は危険にさらされていませんでしたが、この事件は、Curveプールオラクルの積極的な開発と、広範な監査にもかかわらずプール間の不整合や、オラクルが操作や不正確さに脆弱になる可能性があるエラーが引き続き存在する可能性を浮き彫りにしました。
このレポートの第3部は、wstETH TroveManagerの償還の分析です。償還がPrismaユーザーに与える重大な影響を考慮し、このセクションでは、歴史的償還に関する観察を提示し、比較分析で代替のCurve EMA Oracleと比較されます。
wstETH TroveManagerで償還イベントをクエリすると、合計200件以上の償還取引があり、そのうち190件がBOT取引として特定されました(BOTによって実行された取引を特定する方法は、後述の同じセクションで説明されます)。以下は、これらの取引の頻度を時間経過に沿って表示したものです。
Source: Dune query_3402461
よくmkUSDをやりとりするBOTは3つしかありません:
Source: Dune query_3402461
各BOTは、mkUSDを取得し、償還するという類似した一般的なプロセスに従います。以下は、BOT取引の1つであり、いくつかの有用な洞察を明らかにしています。
ソース:Phalcon Tx Explorer
BOT取引パターンは以下のようにさらに細分化できます:
Uniswap V3: USDC からフラッシュローンを取得します。
Curve.fi Factory USD Metapoolを使用してUSDCをmkUSDに変換する:Prisma mkUSD。
wstETHトローブマネージャーでmkUSDをwstETHに交換します。
wstETHでstETHにアンラップします。
Curve stETH/ETHプールでstETHをETHに交換します。
Wrap ETH、ローンを返済し、利益と手数料を配当します。
MEVの収益性は、ステップ2、3、および5の価格差に依存します。
2: mkUSD価格が下がると、償還の収益性が高まります。
3: 最近の償還数量および償還後の時間の関数として動的償還手数料が減少すると、償還の収益性が向上します。
-5: 資産交換におけるスリッページ(例:stETH)が増加すると、償還の収益性が低下します。stETHなどのLSDは、基礎となるETHと直接交換することができますが、このプロセスには待機期間が必要であり、二次市場における流動性が重要です
Prismaは、動的手数料を用いて、mkUSDからwstETHへの儲けの機会を制限する仕組みを採用しています。ステップ3では、頻繁で過度な償還を防ぐために動的手数料が関与します。この仕組みにもかかわらず、Oracleの誤価設定により償還が発生する可能性があります。mkUSDの償還に対するOracleの見積もりは、財務所有者に非最適な担保率を提供することがあり、ユーザー体験が損なわれることがあります。
stETHのPrisma Oracleフィード価格変更提案が承認されました。最初は、PrismaはChainlink stETH/USDオラクルを使用しましたが、wstETH TroveManagerの偏差閾値が1%でした。Chainlink stETH/ETHおよびETH/USDオラクルの組み合わせを使用することで改善が見込まれ、それぞれのオラクルの偏差閾値は0.5%であることがわかりました。
新しいOracleと古いOracleの15ブロック解像度の偏差を参照してください:
ソース:チャートby@wavey
mkUSDの取引価格がペッグレートを下回ると、オラクルの逸脱が1%を超えるため、過剰な償還が発生することが観察されています。これらの場合、ダイナミック手数料では価格の逸脱による過剰な償還を防ぐのに不十分であることがわかりました。償還イベントの調整については、償還手数料の調整をご参照ください。
ソース:チャート by @wavey
これらの償還は、トローヴが償還される際に不利なレートを受け取る可能性があるため、Prismaユーザーに間接的なコストが発生する可能性があります。Waveyの分析によると、stETH/USDオラクルは、上記のデータで検証されたオラクルの組み合わせと比較して逸脱しやすいと示しています。1.2%を超える一過性の逸脱は、MEVボットが悪用する機会を生み出しています。
Oracle(PIP-004)の変更提案は2023年11月17日に7時に実行されましたUTC午後3時35分に、この取引とともに。 下のmkUSD価格表と提案実行日に基づくと、提案実行後、mkUSDのUSDCに対する実現価格が減少したことが観察されます。 オラクルの改善による償還の収益性の低下は、ペギング強度の低下をもたらす可能性があります。
ソース:Dune query_5685458
プロトコル金利モデルの制限、mkUSDの使用事例、およびアライメントされていないインセンティブ対策を含む、その他の影響要因も考慮する必要があります。1月31日に実行されたPIP-019は、償還を制限する重要な提案の1つです。この提案により、すべてのTroveManagerの基本償還手数料が1%〜1.5%に引き上げられ、mkUSDのアンカリング弾力性が低下しましたが、Prismaトローブ所有者の償還リスクが低下しました。
分析の目的は、実装されたPrismaオラクルのパフォーマンスを評価し、歴史データを使用してオンチェーンCurve EMAオラクルの代替の仮説的なパフォーマンスを評価することです。研究の結果は、オフチェーンおよびオンチェーンオラクルの挙動についての初期の洞察を提供し、その後の研究でより詳細な評価を可能にします。
この分析の目的は、現在のオラクルが最適なパフォーマンスソリューションを提供しているか、またはCurve EMAプールオラクルを利用したオンチェーンまたはハイブリッドソリューションを実装することで改善できるかを判断することです。
この分析は、成熟したChainlinkの価格フィードとCurveプールの深い流動性を持つため、stETHに特に焦点を当てます。 Prismaに掲載されている他の担保の分析も実施され、結果はレポートの付録Bに参照用として提供されています。
比較分析には、試験データと参照データセットとの整合度を評価することが含まれます。この場合、2つのデータセットが考慮されます:興味のある試験データと参照データセット。試験データは参照データに密接に追跡されるべきであると予想されていますが、逸脱が発生する可能性があります。
整合性を定量化するために、我々は残差を調査し、これは基本的に試験データと基準データとの間の差を表しています。残差分析は、これらの差異のパターンや傾向を明らかにすることを目的としています。
残差(基準値からの偏差)を分析する際、残差の標準偏差に基づいて観測が行われます。標準偏差(SD)は、値の集合の変動性や分散を数量化するために使用される統計的指標です。平均値(平均値)の周りの値の分布を示します。標準偏差が低いと、データポイントは平均値に近い傾向がありますが、標準偏差が高いと、データポイントがより広い範囲に分布していることを示します。
私たちの場合、0に近い平均値は望ましいです。なぜなら、それは提供された価格が参照価格を過大評価または過小評価していないことを示しているからです。ただし、平均値が0に近いか等しい場合でも、比較的高い標準偏差があると、重大な価格設定の誤りに対応する、望ましくない大きな変動が示唆されます。平均値がゼロで最小標準偏差のオラクルフィードは、スポット価格を正確に追跡していることを示し、理想的な結果です。
オンチェーンオラクル価格活動の精度を監視し評価するために、カーブを除く最も流動性のある取引先から得られた見積もりは、残余分析の基準として機能します。具体的には、UniswapのLSD/ETH通貨ペアからの見積もりがこのシナリオにおける主要な基準点です。
私たちの分析には、stETH Chainlink価格を導出するための2つの戦略が含まれています。これは、元のChainlink stETH/USDフィードの偏差がstETH/ETH + ETH/USDを使用した偏差よりも大きいことがわかったためです。オラクルはガバナンス提案に従って更新されました。その後、改良されたstETH/ETH Chainlink価格をETHで表した分析はstETHv1と呼ばれ、stETH/USD + ETH/USDの組み合わせフィード(元のstETHオラクルのパフォーマンスを再現し、ETHに標準化されています)はstETHv2と呼ばれています。
解析目的のため、2023年の最終四半期のデータは、すべての対応する資産から取得されました(ブロック18331000からブロック18931000までのデータセットの解像度は250ブロックです)。これにより、すべての資産に対して2401のデータポイントを含むデータセットが作成されます。
検討対象となる主要資産は、Prismaによって現在受け入れられている担保タイプであるstETHであり、ChainlinkフィードとCurve StableSwap-ngプールの両方が参照可能です(古いCryptoSwapプール実装を利用するrETHとcbETHに関する分析については、付録Bを参照してください)。すべてのデータは、指定されたブロック範囲の価格をクエリして取得しました。
オラクルの価格は次の情報源から分析されます:
Curve流動性プール
Chainlink価格フィードバック
Uniswapマイニングプールアドレスは、スポット価格参照エージェントとして以下の通りです。
Uniswapスポット価格
LSDをその基礎となるETHに標準化するために、内部LSD/ETHの為替レートを利用しています:
内部LSD/ETH取引レート
このセクションでは、ChainlinkのstETH価格フィードの精度をCurveと比較します。
Chainlink stETHv1 Feed vs. Curve
Chainlink: stETH/ETHフィード
Curve: stETH/ETHプール
以下は、ChainlinkとCurveからのstETH価格の直接比較です。ChainlinkのstETH/ETHは24時間のハートビートサイクルにより、価格は数ブロックごとに変動します。比較的、Chainlinkフィードでは変動がより観察しやすく(Chainlink stETH/USDフィードで視覚化がより良くされています)、Curveと比較すると、Curveは価格を導出するために10分のEMA時間(ma_exp_time)を使用しているため、変動がより観察しやすくなっています。
Curveの価格からChainlinkの価格を引くと、以下に示すように残差が得られます。
平均偏差値は約-0.000305です。
ここで重要な観察ができるのは、Curve OracleはChainlinkに比べて価格データをわずかに過大評価しているということです。
Chainlink stETHv2とCurve
Chainlink:stETH/USD feed / ETH/USD feed
Curve:stETH/ETH プール
以下は、ETHに正規化された代替Chainlinkフィードからの価格の比較です(stETH/USDおよびETH/USD)対stETH Curve。Chainlink stETH/USDは1%の偏差閾値を持っています(stETH/ETHフィードの0.5%と比較して)、そのため価格はアンカー価格を中心により大きな偏差を示します。
以前に観察されたように、ChainlinkのstETH/USDの価格変動は、Curveと比較してより顕著です。
平均偏差値は〜-0.000171です。
スケールに応じて、このフィードは、stETH/ETHよりも大きな残差、つまりより多くのボラティリティを持っています。
このセクションでは、ChainlinkのstETH価格フィードの歴史的な正確性をUniswapの参照スポット価格と比較します。
UniswapV3プール価格データがスポット価格の信頼性のプロキシとして機能すると仮定すると、以前に取得した基準データを比較して、Chainlink Oracleフィードの参照値にどれだけ近いかを確認できます。
Uniswapスポット対Chainlink stETHv1
Chainlink: stETH/ETHフィード
Uniswap: wstETH/ETHプール/ wstETH/stETH内部取引レート
Uniswapのスポット価格とChainlinkのstETH/ETHの実際の偏差は次の通りです:
残余平均 = 0.000415
価格差の標準偏差 = 0.000601
Uniswapスポット対Chainlink stETHv2
Chainlink: stETH/USDフィード/ETH/USDフィード
Uniswap:wstETH/ETHプール/wstETH/stETH内部取引レート
UniswapのstETHとChainlinkのstETH(stETH/USD)の実際の偏差はこちらです:
価格差=0.000281
価格差標準偏差 = 0.002747
ここでは、Chainlink stETHv1(つまり、stETH/ETH)とstETHv2(つまり、stETH/USD)をUniswapデータと比較し、その結果、stETHv2の偏差がstETHv1よりも大幅に大きいことが示されています。
同じ観察結果は、オラクルが価格フィードのずれを減らすためにstETH/USDからstETH/ETH + ETH/USDに切り替わったPrismaガバナンス提案(PIP-004)でも観察されました。
このセクションでは、stETH Curve Oracleの歴史的な精度をUniswapの参照スポット価格と比較します。
UniswapV3プール価格データを信頼できるスポット価格の代理として想定すると、以前に取得した基準データと比較して、Curve Oracleフィードの近接性を確認できます。
Uniswapスポット対Curve
Curve: stETH/ETHプール
Uniswap:wstETH/ETHプール/wstETH/stETH内部取引レート
前述の残差分析に基づいて、以前に設定された基準値と比較するための次のメトリクスを取得します。
平均価格差 = 0.000110。
価格の差の標準偏差 = 0.000141。
観察されるように、Curveによって報告された平均価格は、Uniswapのスポット価格よりわずかに低く、Chainlinkのいずれかのソースと比較して標準偏差が大幅に低いことがわかります。
これらの指標を比較すると、Uniswapデータをスポット価格の代理として参照した場合、Chainlinkデータの偏差がCurveよりも大幅に大きいことがわかります。
上記の観察は各価格ソースからの偏差に基づいているため、Curve Oracleフィードが正の偏差を示す一方で、Chainlinkフィードが負の偏差を示す可能性があります。その逆もまた然りです。このシナリオは、ChainlinkフィードとCurve Oracleの偏差範囲がUniswap&ChainlinkおよびUniswap&Curveの偏差範囲と比較して小さいため、完全に否定されます。
以下の表は、収集されたデータに実施された残差解析を示しています。残差平均値に100を乗じると、対象資産の基準からの平均偏差パーセンテージが得られます(USD建てのETH価格に対してUSD単位で比較)。
この表は、各資産の平均値と標準偏差について、ChainlinkとCurveの相対パフォーマンスをUniswapの基準と直接比較しています。すべてのケースで、Curveは平均値と標準偏差の値が低いです。正確度乗数は、各観測値の相対的な正確度を示しています。
ここでの主なポイントは次のとおりです:
分析の目的は、wstETH TroveManagerにおける償還イベントの実装価格と、代替オンチェーンオラクルによる過去のデータを使用した仮想価格を比較することです。研究の結果は、オフチェーンおよびオンチェーンオラクルの振る舞いについての初期の洞察を提供し、その後の研究におけるより詳細な評価を可能にします。
この分析の目的は、特定の償還シナリオにおいて現在のオラクルが最適なパフォーマンスソリューションを提供しているか、またはオンチェーンまたはハイブリッドソリューションの実装を通じて改善が可能かどうかを判断することであり、Curve EMAプールオラクルを利用することが含まれています。
この分析は、最も一般的に使用されているLSDであり、成熟したChainlink価格フィードとCurveプールでの深い流動性を持つstETHに特に焦点を当てます。この研究では、すべての償還イベントを集計し、実現したstETHオラクルの価格を複数の代替オラクル価格とUSDで比較し、Curve stETH/ETHオラクル価格を使用します。
この分析では、実現したstETH価格は、mkUSDの償還額をwstETHの形でトローブマネージャーに失われたstETHの量で割って計算されます。stETHの量を決定するには、償還から受け取ったwstETHに加え、手数料として支払われたwstETHを考慮し、それらをstETHに変換する必要があります。もし他の代替ソースが償還者により低い利益を一貫して提供している場合、そのMEVパフォーマンスは実際の価格よりも良好であると言えます。
wstETH TroveManagerは、mkUSDを取得する際にすべてのトランザクションハッシュを取得するために使用されます。 mkUSDを交換する際のトランザクション。 mkUSDを引き換えるアドレスがmkUSDを受け取り、燃やすトランザクションは、BOTトランザクションと見なされます。 償還イベントの詳細なクエリはこちらで見つけることができます:Dune query_3352919。 このクエリは、BOTトランザクションからすべてのデータを取得するために不可欠です。
Dune queryは、すべてのトランザクションハッシュ値、mkUSD償還の実現されたwstETH交換レート、および償還イベントのブロック番号を取得するBOTトランザクションを特定するために使用されます。クエリから取得したブロック番号は、以下のデータをクエリするための入力として使用され、これはCurve stETHフィード価格の変更と現在の実装を比較するために使用されます。
上記のデータを基に、Curve OracleのstETH/ETH価格を使用して3つの価格フィードを構築し、それらをETH/USDとマージしてstETH/USDを導出することができます。この操作を行った後、次のデータが視覚化のために得られます:
上記のデータは、全てのBOT取引から実現したstETH価格に基づいて分析できるUSDでのstETH価格を提供しています。実現したstETH(USD)は、償還中に提供される各mkUSDのstETH価格を単純に計算するために使用されます。
以下はBOTトレーディングブロックのstETH価格ソース4つです(上述の1つの参照と3つの代替案)。 実現価格フィードは実装された価格オラクル(すなわちChainlink)からの価格です。 これは、コアとしてCurve stETH/ETHを使用する3つのフィードと比較されます。ここでは、より高い見積もりは、mkUSDとの交換価値の減少につながります。
上記の情報に基づいて、mkUSD を償還することで受け取った stETH の相対量をモデル化し、既存のオラクルから実際に受け取った量に基づいて正規化することができます。以下のグラフは、手数料が発生する前の mkUSD から得られた stETH を表示し、視覚化を向上させるために外れ値を除去してデータを処理しています。
分析によれば、Curve stETH/ETHをUniswap ETH/USDCおよびChainlink ETH/USDと組み合わせると、mkUSDの償還用のstETHの量が減少します。その結果、mkUSDの償還ごとのstETHユニット数の減少がBOT利益の減少につながります。提供された可視化は、各仮定フィード価格と実際のフィード価格(手数料を除く)におけるBOTの利益の比較を示しています。
Curve stETH/ETH、Uniswap ETH/USDC、およびChainlink ETH/USDの組み合わせは、実現価格と比較して償還の収益性を低下させることが明らかです。
Curveオラクルに完全に依存するリスクを認識することは、特に流動性が低い期間や流動性の変動がある場合には、逸脱が発生した場合に備えてChainlinkオラクルを戦略的に統合する提案された解決策があります(つまり、バックアッププラン)。 Chainlinkが誤ったデータを提供する可能性が限りなくゼロであることを考慮すると、信頼性のあるバックアップオプションとして機能することができます。
このソリューションは、CurveとChainlinkの価格の両方を考慮したフィルターとして機能します。条件は、スイッチとして機能する関数内で確立されます。この条件を設計するにあたり、許容範囲の概念が導入されます。この範囲は、ChainlinkとCurveのオラクル価格の許容範囲を表します。観察された差がこの範囲を超えると、Curve Oracleデータにおける潜在的なバイアスや操作を示しています。このような場合、関数はより安全なChainlink価格を優先し、潜在的なリスクを緩和します。逆に、差が許容範囲内に収まる場合、関数はCurve Oracleの正確さと精度に依存します。
Gateでは、ETHや関連するLSDなどの基礎となる資産のボラティリティに応じて、受け入れ可能な範囲を静的または動的に設定できることに留意する価値があります。動的な性質は、変動する市況に適応し、価格決定の弾力性と応答メカニズムを確保することを可能にし、この二重の戦略によって単一のデータソースへの依存を最小限に抑え、価格メカニズムの全体的な弾力性と信頼性を向上させます。
このソリューションは、Curve Oracleだけに頼ることに潜在的な脆弱性を解消するために、acceptable_rangeという静的メソッドを導入しています。Curve Oracleによって生成される価格はChainlinkよりも正確かもしれませんが、操作の対象となる可能性があります。一方、Chainlinkは頑丈でテストされており、業界ではより安全な選択肢とされています。Curve OracleとChainlinkの価格の差が一定値を超えると、acceptable_rangeはChainlinkフィードに切り替えるためのしきい値として機能します。
戦略的に、acceptable_rangeは、Chainlinkの引用の±1%以内の引用を受け入れます。これは、CurveとChainlinkの平均差と比較して、改善されたstETH/ETHおよびETH/USDフィードを考慮すると、ほぼ3つの標準偏差離れています。前のstETH/USDフィードと比較して。
derived_priceは、特にCurve OracleとChainlink Oracleを含むシナリオにおいて、与えられた資産の最終見積もりを決定するために設計された機能またはメカニズムです。
この解決策では、この機能はCurve OracleとChainlink Oracleの両方からの見積もりを評価します。これら2つの価格の差と、事前に定義されたaccepted_range内にあるかどうかを基に、関数は異なる派生価格を出力します。
以前に表示されていた他の価格ソースとのderived_priceの比較です:
BOTの利益は、以下に示すように、この派生価格によって視覚化することができます(偏差がないため、この価格はCurve stETH/ETHおよびCL stETH/ETHと完全に等しくなります)。
総利益を分析することで、全体像が明らかになる可能性があります。6つの外れ値が特定され、外れ値をフィルタリングする前後の各ケースの総利益が計算されました。
Curve stETH/ETHとUniswap ETH/USDCは、BOTの利用可能な利益を最も減少させるのに最適です。彼らが提供する導出価格は、現在のstETH Oracleの実装と同じ利益ポテンシャルを持ちますが、利益を制限し、分析された189取引でユーザーに約35.4 ETHを節約すると仮定しています。
最も流動性の高い分散型取引所からの見積もりに大きく依存しているため、オンチェーン活動やMEVボットがmkUSDをLSDに交換する際にも同じ見積もりをフォローするため、オラクルによる償還の価格決定に使用される見積もりの正確性が最も重要です。
過去のデータによると、カーブプールオラクルの価格は、チェインリンクの価格と比較して参照価格(UniswapV3価格データ)により近いということを示しています。データは、カーブオラクルを導入することで、ボットのMEVを削減し、利用者が自分の財宝を引き替える際により良い為替レートを提供することを示しています。
Curve Oracleを単体で使用することは魅力的かもしれませんが、Curve価格フィードバックの効果は特定の資産の流動性深さとプールとの相互作用に依存します。Curve OracleとChainlink Oracleを組み合わせたハイブリッドOracleソリューションを使用することで、Chainlink Oracleから継承された信頼性と広範な市場カバレッジを保持しながら、オンチェーン価格にマッチさせることができます。
提案されているハイブリッドOracleソリューションは、標準偏差(SD)を評価して派生価格を生成します。SDが0に近づくと、派生価格の基準値への遵守を示し、検討の価値があります。これにより、Curve Oracleが事前に定義された閾値から逸脱すると、ソリューションは動的に安全なChainlinkソースに切り替えます。このソリューションではほぼ常にstETHのCurveの引用を出力するため、Curve stETH/ETHを使用する場合とMEVアクティビティが同じであると想定されます。フォールバックはありません。
付録A:データ処理スクリプト
このレポートで分析を生成するために使用されるスクリプトは次のとおりです:
Appendix B: rETH/cbETH残差分析
その他のチャート rETH
ChainlinkとCurve
Uniswap と Curve
UniswapとChainlink
ピーク rETH をチェック
観察期間において、rETH曲線予言機価格が数回ピークを迎えました。これにより、予言機価格と現物参照価格との間の価格差が急増しました。以下は、価格急騰期間中のファンドプール比率/トークン流動性と予言機価格の動きを示した、より詳細なチャートです。
start_block = 18824000
end_block = 18827000
interval_blocks = 100
マイニングプール比率:
オラクル価格:
start_block = 18850000
end_block = 18858000
interval_blocks = 100
マイニングプール比率:
Oracle価格:
start_block = 18880000
end_block = 18885000
interval_blocks = 100
マイニングプール比率:
Oracle price:
その他のチャートcbETH
ChainlinkとCurve
Uniswap と Curve
UniswapとChainlink
Check Peak cbETH
観察期間中、cbETH Curve Oracle の価格は何度かピークを経験しました。これにより、Oracle 価格とスポット参照価格の価格乖離が著しく増加することが何度かありました。以下は、これらの価格急騰期間中の流動性プール比率/トークン流動性の振る舞いと Oracle 価格の振る舞いを詳しく示したチャートです。
start_block = 18693500
end_block = 18696000
interval_blocks = 10
マイニングプール比率:
Oracle価格:
start_block = 18814000
end_block = 18816500
interval_blocks = 10
マイニングプール比率:
Oracle価格:
start_block = 18800000
end_block = 18805000
interval_blocks = 10
マイニングプール比率:
Oracle価格:
この記事は[から転載されましたmarsbit],オリジナルタイトル「Prismaオプショナルオラクルの比較分析」、著作権はオリジナルの著者[PrismaRisk]に帰属します。転載に異議がある場合は、お問い合わせくださいGate Learn Team、チームは関連手続きに従ってできるだけ早く対応します。
免責事項:本文に表現されている視点や意見は著者個人の見解を表しており、投資アドバイスを構成するものではありません。
その他の言語版の記事は、Gate Learnチームによって翻訳されています。Gate.io、翻訳された記事の転載、配布、あるいは盗用はできません。
この研究は、信頼性の高いオンチェーン価格情報を取得し、セキュリティを最大限に確保しながら、ターゲット資産の現行価格を反映させるという課題から生まれました。具体的には、Prisma Financeの担保資産(wstETH、rETH、cbETH、およびsfrxETH)およびEthereumベースの流動性ステーキングデリバティブ(LSD)に焦点を当てています。これらの資産のいくつかはChainlinkデータソースを欠いており(信頼性の高い価格データのゴールドスタンダードとされることが多い)、これがPrismaプラットフォームとの統合に影響を与えています。
Curve Financeのステーブルプールの最新の実装には、Exponential Moving Average(EMA)を計算して改ざんに耐える価格データを導出する内部プールOracleが含まれています。インテグレーターはOracleを他のDeFiアプリケーションで利用し始めていますが、Oracleは主にCurve独自のcrvUSD市場の担保の安全性を確保するために使用されています。
このレポートの主な目的は、Curve FinanceのOracleがETH LSDトークンのChainlinkに対する信頼性のある代替として機能するかどうかを判断することです。この研究では、Curve価格オラクルの効果に関する統計分析が行われ、その変動性、精度、および総合的なパフォーマンスがUniswapの参照価格(オンチェーン価格とされる精度の高い価格)と比較されます。
分析は2つの関連する研究に分かれています:
stETH Oracles Residual Analysis: ChainlinkとCurveを比較した研究、歴史的データを使用して、Oracleの偏差を参照スポット価格の平均および標準偏差に対して決定する。
stETH MEV Redemption Analysis:ChainlinkとオンチェーンOracleの比較研究で、履歴データを使用してPrismaの償還イベントを調査し、代替Oracleを使用してロボットの収益性と予想される動作を推定します。
分析の結果、オラクルの初期仕様を提供し、オラクル価格の偏差の改善を期待しつつ、オラクルの信頼性を確保します。提案されたソリューションは、オラクルを最適化する他の研究のための初期の設計図として機能する可能性があります。
オラクルの効果は、プリズマの使用環境内で評価されます:清算および償還。(さらに、同じオラクルがトークン発行手数料や「トークン化されたステーブルプール」への取得トークンの売却にも使用されることに注意してください。この重要性は、ローンチ後に増加するでしょう。)
Oracleのパフォーマンスは、プリズマのユーザーにとって重要です。アービトラージャーは、オラクル価格とスポット価格の不一致から利益を得るチャンスがあるかもしれません。清算や償還時に最も正確な価格フィードバックの使用を確保することは、価格源のセキュリティを犠牲にすることなく、プリズマプロトコルとその財務預金者の最善の利益にかなっています。
Prisma内の2つのOracle関数は次のように概説されています:
Prismaを破綻から保護するために、債務ポジションが担保の価値を上回る場合、LiquidationManager契約はすべてのアクティブなTroveManager(Prismaの財務省)に清算ロジックを実行します。清算は、対象アカウントの担保比率とシステム全体の担保比率に応じて3つの方法のいずれかでトリガーされることがあります。
個々の担保比率(ICR)<= 100%:アカウント(財務省)の担保が不足しています。すべての負債と担保は残りのアクティブな財務省の間で再分配され、効果的に損失が社会化されます。
100% < ICR < 最小担保比率(MCR):金庫が清算基準を下回るが、安全に清算できます。ステーブルプールは、清算のための準備金として使用されます(清算プールのインセンティブ)。担保はステーブルプールの預金者に割り当てられます。ステーブルプールの残高が金庫を完全に返済するには不十分な場合、残りの負債と担保は残りのアクティブな金庫に再分配されます。
MCR ≤ ICR ≤ グローバルトータル担保率(GTCR)&& GTCR < 150%:システムは回復モードにあり、CRがGTCR未満である場合は、MCRではなくGTCR以下で財務が清算されることを意味します。ステーブルプールへの預入れは、まず財務の清算に使用されます。 MCRでの債務価値に相当する担保は、ステーブルプールの預金者に分配されます。 残りの担保は、財務所有者が請求できます。
ETHまたはETH LSDが大幅な価格変動、特に急落を経験すると、高い市場の変動率ではPrismaの清算可能性が高まります。オラクルの障害や操作がいつでもプロトコルに影響を与える可能性があり、オラクルの障害リスクは最も重要な時期に増加する可能性があります。ガス手数料の急上昇により担保資産の価格が適切なタイミングで更新されない可能性があるか、オラクルの価格設定方法が増加するボラティリティを適切に追跡できない場合、価格の誤設定が発生する可能性があります。破産が増加し、アクティブな資金管理者間で再分配が必要になる場合があります。また、オラクルが誤って公正な市場価格を下回る価格を報告した場合、借入者が不当に清算される可能性があります。
アービトラージャーは常に引き出しを開始でき、1 USドルの価値の担保を1 mkUSDに引き換えることを選択できます(+動的引き換え手数料)、システム内で担保比率が最も低い財務で開始します。これにより、mkUSD価格が1 USドルを下回ったときにペッグを強化できます。引き換えプロセスにより、対象財務の担保リスクが軽減され、担保比率が増加します。引き換えを実行する当事者は、引き換え手数料と呼ばれる手数料を支払います。引き換え手数料の範囲は、TroveManager毎にあり、引き換え手数料の下限+基本料率の合計です。 TroveManagerに格納されている変数は、引き換えられたmkUSD総供給量と比例して増加し、時間の経過とともに線形に減少します。この動的手数料である基本料率は、収益性の高い引き換え率を調整します。
Prismaでの清算はこれまで稀でしたが、償還は一般的であり、オラクルにとって特別な考慮が必要です。 MEVボットは積極的にこのような機会を探し、フラッシュローンを通じて迅速に利益を上げようとします。
自分たちの宝物を強制的に償還しなければならない不便さに加えて、Oracle とスポット価格の乖離による価値の抽出を経験する可能性があります。 誤定価は、特に Oracle が公正な市場価値よりも価格を報告した場合に、ユーザーが必要以上に資産を失うことにつながります。 一方で、Oracle が公正な市場価格よりも高い価格を報告した場合、償還を妨げる可能性があり、mkUSD ペッグフロアを強制する償還メカニズムの目的を無効にすることがあります。
ここでは、プリズマのオラクル価格フィードの主要候補について簡単に紹介します。
Chainlinkは、幅広い市場ソースからデータを収集し、このデータをスマートコントラクトに接続する分散型オラクルネットワークです。そのアーキテクチャは、独立したノードオペレータがさまざまな取引所や市場データ集約APIからデータを取得し送信することに依存しており、単一障害点を最小限に抑えてセキュリティを向上させています。データの整合性は、送信前にデータの正確性を検証する暗号化手法やコンセンサスメカニズムを通じて確保されています。そのアプローチには、資産の時価総額加重平均価格(VWAP)を用いて、資産の現物価格を最も適切に表す公正な市場価値を集約することが含まれています。
ノードネットワークは定期的に(ハートビート)または価格の逸脱閾値に基づいて価格をチェーンにプッシュします。この制限は、メインネットでのガス料金が高いため、価格の更新が高額になり、遅延が増加し、それによってオラクルのパフォーマンスが低下する可能性があります。このようなオラクルを維持するコストは高額になる可能性があり、特に高いボラティリティの期間中には、オラクルへのタイムリーな更新が重要となります。
最近のCurve pools(StableSwapおよびCryptoSwap pools)の実装には、例えばgetter関数によって公開されたEMA価格計算が含まれています。price_oracle()
これらのプールは外部オラクルに依存せず、代わりに内部で独自の取引活動に基づいてプールのインデックス0のトークンに対する資産価格を計算します。 EMAは、滑らかな価格調整を通じて操作コストを増加させ、操作耐性と現物価格からの価格偏差との間のバランスをとります。各プールには、ma_exp_time
Curve DAOの投票を通じて構成できる
Curve Oracleのドキュメントで開示されているように、EMA Oracleは積極的に開発中です。
「Curveの'price oracle'機能または任意の価格オラクルを使用して、構築中の分散型アプリケーションにオンチェーン価格データを提供する場合は、特に注意してください。」
異なるプールの実装は、EMA Oracleコードのバージョンを変更しますので、統合者は対象プールのOracle実装を理解する必要があります。
2023年11月、stableswap-ngプールのデプロイ実装中に、プールOracleに影響するエラーが発見されました。このエラーは、yAuditによる2次監査中にプールの実装デプロイ後すぐに発見されました。これを受け、実装のアップグレードと影響を受けるいくつかのプールの非推奨化を提案しました。資金は危険にさらされていませんでしたが、この事件は、Curveプールオラクルの積極的な開発と、広範な監査にもかかわらずプール間の不整合や、オラクルが操作や不正確さに脆弱になる可能性があるエラーが引き続き存在する可能性を浮き彫りにしました。
このレポートの第3部は、wstETH TroveManagerの償還の分析です。償還がPrismaユーザーに与える重大な影響を考慮し、このセクションでは、歴史的償還に関する観察を提示し、比較分析で代替のCurve EMA Oracleと比較されます。
wstETH TroveManagerで償還イベントをクエリすると、合計200件以上の償還取引があり、そのうち190件がBOT取引として特定されました(BOTによって実行された取引を特定する方法は、後述の同じセクションで説明されます)。以下は、これらの取引の頻度を時間経過に沿って表示したものです。
Source: Dune query_3402461
よくmkUSDをやりとりするBOTは3つしかありません:
Source: Dune query_3402461
各BOTは、mkUSDを取得し、償還するという類似した一般的なプロセスに従います。以下は、BOT取引の1つであり、いくつかの有用な洞察を明らかにしています。
ソース:Phalcon Tx Explorer
BOT取引パターンは以下のようにさらに細分化できます:
Uniswap V3: USDC からフラッシュローンを取得します。
Curve.fi Factory USD Metapoolを使用してUSDCをmkUSDに変換する:Prisma mkUSD。
wstETHトローブマネージャーでmkUSDをwstETHに交換します。
wstETHでstETHにアンラップします。
Curve stETH/ETHプールでstETHをETHに交換します。
Wrap ETH、ローンを返済し、利益と手数料を配当します。
MEVの収益性は、ステップ2、3、および5の価格差に依存します。
2: mkUSD価格が下がると、償還の収益性が高まります。
3: 最近の償還数量および償還後の時間の関数として動的償還手数料が減少すると、償還の収益性が向上します。
-5: 資産交換におけるスリッページ(例:stETH)が増加すると、償還の収益性が低下します。stETHなどのLSDは、基礎となるETHと直接交換することができますが、このプロセスには待機期間が必要であり、二次市場における流動性が重要です
Prismaは、動的手数料を用いて、mkUSDからwstETHへの儲けの機会を制限する仕組みを採用しています。ステップ3では、頻繁で過度な償還を防ぐために動的手数料が関与します。この仕組みにもかかわらず、Oracleの誤価設定により償還が発生する可能性があります。mkUSDの償還に対するOracleの見積もりは、財務所有者に非最適な担保率を提供することがあり、ユーザー体験が損なわれることがあります。
stETHのPrisma Oracleフィード価格変更提案が承認されました。最初は、PrismaはChainlink stETH/USDオラクルを使用しましたが、wstETH TroveManagerの偏差閾値が1%でした。Chainlink stETH/ETHおよびETH/USDオラクルの組み合わせを使用することで改善が見込まれ、それぞれのオラクルの偏差閾値は0.5%であることがわかりました。
新しいOracleと古いOracleの15ブロック解像度の偏差を参照してください:
ソース:チャートby@wavey
mkUSDの取引価格がペッグレートを下回ると、オラクルの逸脱が1%を超えるため、過剰な償還が発生することが観察されています。これらの場合、ダイナミック手数料では価格の逸脱による過剰な償還を防ぐのに不十分であることがわかりました。償還イベントの調整については、償還手数料の調整をご参照ください。
ソース:チャート by @wavey
これらの償還は、トローヴが償還される際に不利なレートを受け取る可能性があるため、Prismaユーザーに間接的なコストが発生する可能性があります。Waveyの分析によると、stETH/USDオラクルは、上記のデータで検証されたオラクルの組み合わせと比較して逸脱しやすいと示しています。1.2%を超える一過性の逸脱は、MEVボットが悪用する機会を生み出しています。
Oracle(PIP-004)の変更提案は2023年11月17日に7時に実行されましたUTC午後3時35分に、この取引とともに。 下のmkUSD価格表と提案実行日に基づくと、提案実行後、mkUSDのUSDCに対する実現価格が減少したことが観察されます。 オラクルの改善による償還の収益性の低下は、ペギング強度の低下をもたらす可能性があります。
ソース:Dune query_5685458
プロトコル金利モデルの制限、mkUSDの使用事例、およびアライメントされていないインセンティブ対策を含む、その他の影響要因も考慮する必要があります。1月31日に実行されたPIP-019は、償還を制限する重要な提案の1つです。この提案により、すべてのTroveManagerの基本償還手数料が1%〜1.5%に引き上げられ、mkUSDのアンカリング弾力性が低下しましたが、Prismaトローブ所有者の償還リスクが低下しました。
分析の目的は、実装されたPrismaオラクルのパフォーマンスを評価し、歴史データを使用してオンチェーンCurve EMAオラクルの代替の仮説的なパフォーマンスを評価することです。研究の結果は、オフチェーンおよびオンチェーンオラクルの挙動についての初期の洞察を提供し、その後の研究でより詳細な評価を可能にします。
この分析の目的は、現在のオラクルが最適なパフォーマンスソリューションを提供しているか、またはCurve EMAプールオラクルを利用したオンチェーンまたはハイブリッドソリューションを実装することで改善できるかを判断することです。
この分析は、成熟したChainlinkの価格フィードとCurveプールの深い流動性を持つため、stETHに特に焦点を当てます。 Prismaに掲載されている他の担保の分析も実施され、結果はレポートの付録Bに参照用として提供されています。
比較分析には、試験データと参照データセットとの整合度を評価することが含まれます。この場合、2つのデータセットが考慮されます:興味のある試験データと参照データセット。試験データは参照データに密接に追跡されるべきであると予想されていますが、逸脱が発生する可能性があります。
整合性を定量化するために、我々は残差を調査し、これは基本的に試験データと基準データとの間の差を表しています。残差分析は、これらの差異のパターンや傾向を明らかにすることを目的としています。
残差(基準値からの偏差)を分析する際、残差の標準偏差に基づいて観測が行われます。標準偏差(SD)は、値の集合の変動性や分散を数量化するために使用される統計的指標です。平均値(平均値)の周りの値の分布を示します。標準偏差が低いと、データポイントは平均値に近い傾向がありますが、標準偏差が高いと、データポイントがより広い範囲に分布していることを示します。
私たちの場合、0に近い平均値は望ましいです。なぜなら、それは提供された価格が参照価格を過大評価または過小評価していないことを示しているからです。ただし、平均値が0に近いか等しい場合でも、比較的高い標準偏差があると、重大な価格設定の誤りに対応する、望ましくない大きな変動が示唆されます。平均値がゼロで最小標準偏差のオラクルフィードは、スポット価格を正確に追跡していることを示し、理想的な結果です。
オンチェーンオラクル価格活動の精度を監視し評価するために、カーブを除く最も流動性のある取引先から得られた見積もりは、残余分析の基準として機能します。具体的には、UniswapのLSD/ETH通貨ペアからの見積もりがこのシナリオにおける主要な基準点です。
私たちの分析には、stETH Chainlink価格を導出するための2つの戦略が含まれています。これは、元のChainlink stETH/USDフィードの偏差がstETH/ETH + ETH/USDを使用した偏差よりも大きいことがわかったためです。オラクルはガバナンス提案に従って更新されました。その後、改良されたstETH/ETH Chainlink価格をETHで表した分析はstETHv1と呼ばれ、stETH/USD + ETH/USDの組み合わせフィード(元のstETHオラクルのパフォーマンスを再現し、ETHに標準化されています)はstETHv2と呼ばれています。
解析目的のため、2023年の最終四半期のデータは、すべての対応する資産から取得されました(ブロック18331000からブロック18931000までのデータセットの解像度は250ブロックです)。これにより、すべての資産に対して2401のデータポイントを含むデータセットが作成されます。
検討対象となる主要資産は、Prismaによって現在受け入れられている担保タイプであるstETHであり、ChainlinkフィードとCurve StableSwap-ngプールの両方が参照可能です(古いCryptoSwapプール実装を利用するrETHとcbETHに関する分析については、付録Bを参照してください)。すべてのデータは、指定されたブロック範囲の価格をクエリして取得しました。
オラクルの価格は次の情報源から分析されます:
Curve流動性プール
Chainlink価格フィードバック
Uniswapマイニングプールアドレスは、スポット価格参照エージェントとして以下の通りです。
Uniswapスポット価格
LSDをその基礎となるETHに標準化するために、内部LSD/ETHの為替レートを利用しています:
内部LSD/ETH取引レート
このセクションでは、ChainlinkのstETH価格フィードの精度をCurveと比較します。
Chainlink stETHv1 Feed vs. Curve
Chainlink: stETH/ETHフィード
Curve: stETH/ETHプール
以下は、ChainlinkとCurveからのstETH価格の直接比較です。ChainlinkのstETH/ETHは24時間のハートビートサイクルにより、価格は数ブロックごとに変動します。比較的、Chainlinkフィードでは変動がより観察しやすく(Chainlink stETH/USDフィードで視覚化がより良くされています)、Curveと比較すると、Curveは価格を導出するために10分のEMA時間(ma_exp_time)を使用しているため、変動がより観察しやすくなっています。
Curveの価格からChainlinkの価格を引くと、以下に示すように残差が得られます。
平均偏差値は約-0.000305です。
ここで重要な観察ができるのは、Curve OracleはChainlinkに比べて価格データをわずかに過大評価しているということです。
Chainlink stETHv2とCurve
Chainlink:stETH/USD feed / ETH/USD feed
Curve:stETH/ETH プール
以下は、ETHに正規化された代替Chainlinkフィードからの価格の比較です(stETH/USDおよびETH/USD)対stETH Curve。Chainlink stETH/USDは1%の偏差閾値を持っています(stETH/ETHフィードの0.5%と比較して)、そのため価格はアンカー価格を中心により大きな偏差を示します。
以前に観察されたように、ChainlinkのstETH/USDの価格変動は、Curveと比較してより顕著です。
平均偏差値は〜-0.000171です。
スケールに応じて、このフィードは、stETH/ETHよりも大きな残差、つまりより多くのボラティリティを持っています。
このセクションでは、ChainlinkのstETH価格フィードの歴史的な正確性をUniswapの参照スポット価格と比較します。
UniswapV3プール価格データがスポット価格の信頼性のプロキシとして機能すると仮定すると、以前に取得した基準データを比較して、Chainlink Oracleフィードの参照値にどれだけ近いかを確認できます。
Uniswapスポット対Chainlink stETHv1
Chainlink: stETH/ETHフィード
Uniswap: wstETH/ETHプール/ wstETH/stETH内部取引レート
Uniswapのスポット価格とChainlinkのstETH/ETHの実際の偏差は次の通りです:
残余平均 = 0.000415
価格差の標準偏差 = 0.000601
Uniswapスポット対Chainlink stETHv2
Chainlink: stETH/USDフィード/ETH/USDフィード
Uniswap:wstETH/ETHプール/wstETH/stETH内部取引レート
UniswapのstETHとChainlinkのstETH(stETH/USD)の実際の偏差はこちらです:
価格差=0.000281
価格差標準偏差 = 0.002747
ここでは、Chainlink stETHv1(つまり、stETH/ETH)とstETHv2(つまり、stETH/USD)をUniswapデータと比較し、その結果、stETHv2の偏差がstETHv1よりも大幅に大きいことが示されています。
同じ観察結果は、オラクルが価格フィードのずれを減らすためにstETH/USDからstETH/ETH + ETH/USDに切り替わったPrismaガバナンス提案(PIP-004)でも観察されました。
このセクションでは、stETH Curve Oracleの歴史的な精度をUniswapの参照スポット価格と比較します。
UniswapV3プール価格データを信頼できるスポット価格の代理として想定すると、以前に取得した基準データと比較して、Curve Oracleフィードの近接性を確認できます。
Uniswapスポット対Curve
Curve: stETH/ETHプール
Uniswap:wstETH/ETHプール/wstETH/stETH内部取引レート
前述の残差分析に基づいて、以前に設定された基準値と比較するための次のメトリクスを取得します。
平均価格差 = 0.000110。
価格の差の標準偏差 = 0.000141。
観察されるように、Curveによって報告された平均価格は、Uniswapのスポット価格よりわずかに低く、Chainlinkのいずれかのソースと比較して標準偏差が大幅に低いことがわかります。
これらの指標を比較すると、Uniswapデータをスポット価格の代理として参照した場合、Chainlinkデータの偏差がCurveよりも大幅に大きいことがわかります。
上記の観察は各価格ソースからの偏差に基づいているため、Curve Oracleフィードが正の偏差を示す一方で、Chainlinkフィードが負の偏差を示す可能性があります。その逆もまた然りです。このシナリオは、ChainlinkフィードとCurve Oracleの偏差範囲がUniswap&ChainlinkおよびUniswap&Curveの偏差範囲と比較して小さいため、完全に否定されます。
以下の表は、収集されたデータに実施された残差解析を示しています。残差平均値に100を乗じると、対象資産の基準からの平均偏差パーセンテージが得られます(USD建てのETH価格に対してUSD単位で比較)。
この表は、各資産の平均値と標準偏差について、ChainlinkとCurveの相対パフォーマンスをUniswapの基準と直接比較しています。すべてのケースで、Curveは平均値と標準偏差の値が低いです。正確度乗数は、各観測値の相対的な正確度を示しています。
ここでの主なポイントは次のとおりです:
分析の目的は、wstETH TroveManagerにおける償還イベントの実装価格と、代替オンチェーンオラクルによる過去のデータを使用した仮想価格を比較することです。研究の結果は、オフチェーンおよびオンチェーンオラクルの振る舞いについての初期の洞察を提供し、その後の研究におけるより詳細な評価を可能にします。
この分析の目的は、特定の償還シナリオにおいて現在のオラクルが最適なパフォーマンスソリューションを提供しているか、またはオンチェーンまたはハイブリッドソリューションの実装を通じて改善が可能かどうかを判断することであり、Curve EMAプールオラクルを利用することが含まれています。
この分析は、最も一般的に使用されているLSDであり、成熟したChainlink価格フィードとCurveプールでの深い流動性を持つstETHに特に焦点を当てます。この研究では、すべての償還イベントを集計し、実現したstETHオラクルの価格を複数の代替オラクル価格とUSDで比較し、Curve stETH/ETHオラクル価格を使用します。
この分析では、実現したstETH価格は、mkUSDの償還額をwstETHの形でトローブマネージャーに失われたstETHの量で割って計算されます。stETHの量を決定するには、償還から受け取ったwstETHに加え、手数料として支払われたwstETHを考慮し、それらをstETHに変換する必要があります。もし他の代替ソースが償還者により低い利益を一貫して提供している場合、そのMEVパフォーマンスは実際の価格よりも良好であると言えます。
wstETH TroveManagerは、mkUSDを取得する際にすべてのトランザクションハッシュを取得するために使用されます。 mkUSDを交換する際のトランザクション。 mkUSDを引き換えるアドレスがmkUSDを受け取り、燃やすトランザクションは、BOTトランザクションと見なされます。 償還イベントの詳細なクエリはこちらで見つけることができます:Dune query_3352919。 このクエリは、BOTトランザクションからすべてのデータを取得するために不可欠です。
Dune queryは、すべてのトランザクションハッシュ値、mkUSD償還の実現されたwstETH交換レート、および償還イベントのブロック番号を取得するBOTトランザクションを特定するために使用されます。クエリから取得したブロック番号は、以下のデータをクエリするための入力として使用され、これはCurve stETHフィード価格の変更と現在の実装を比較するために使用されます。
上記のデータを基に、Curve OracleのstETH/ETH価格を使用して3つの価格フィードを構築し、それらをETH/USDとマージしてstETH/USDを導出することができます。この操作を行った後、次のデータが視覚化のために得られます:
上記のデータは、全てのBOT取引から実現したstETH価格に基づいて分析できるUSDでのstETH価格を提供しています。実現したstETH(USD)は、償還中に提供される各mkUSDのstETH価格を単純に計算するために使用されます。
以下はBOTトレーディングブロックのstETH価格ソース4つです(上述の1つの参照と3つの代替案)。 実現価格フィードは実装された価格オラクル(すなわちChainlink)からの価格です。 これは、コアとしてCurve stETH/ETHを使用する3つのフィードと比較されます。ここでは、より高い見積もりは、mkUSDとの交換価値の減少につながります。
上記の情報に基づいて、mkUSD を償還することで受け取った stETH の相対量をモデル化し、既存のオラクルから実際に受け取った量に基づいて正規化することができます。以下のグラフは、手数料が発生する前の mkUSD から得られた stETH を表示し、視覚化を向上させるために外れ値を除去してデータを処理しています。
分析によれば、Curve stETH/ETHをUniswap ETH/USDCおよびChainlink ETH/USDと組み合わせると、mkUSDの償還用のstETHの量が減少します。その結果、mkUSDの償還ごとのstETHユニット数の減少がBOT利益の減少につながります。提供された可視化は、各仮定フィード価格と実際のフィード価格(手数料を除く)におけるBOTの利益の比較を示しています。
Curve stETH/ETH、Uniswap ETH/USDC、およびChainlink ETH/USDの組み合わせは、実現価格と比較して償還の収益性を低下させることが明らかです。
Curveオラクルに完全に依存するリスクを認識することは、特に流動性が低い期間や流動性の変動がある場合には、逸脱が発生した場合に備えてChainlinkオラクルを戦略的に統合する提案された解決策があります(つまり、バックアッププラン)。 Chainlinkが誤ったデータを提供する可能性が限りなくゼロであることを考慮すると、信頼性のあるバックアップオプションとして機能することができます。
このソリューションは、CurveとChainlinkの価格の両方を考慮したフィルターとして機能します。条件は、スイッチとして機能する関数内で確立されます。この条件を設計するにあたり、許容範囲の概念が導入されます。この範囲は、ChainlinkとCurveのオラクル価格の許容範囲を表します。観察された差がこの範囲を超えると、Curve Oracleデータにおける潜在的なバイアスや操作を示しています。このような場合、関数はより安全なChainlink価格を優先し、潜在的なリスクを緩和します。逆に、差が許容範囲内に収まる場合、関数はCurve Oracleの正確さと精度に依存します。
Gateでは、ETHや関連するLSDなどの基礎となる資産のボラティリティに応じて、受け入れ可能な範囲を静的または動的に設定できることに留意する価値があります。動的な性質は、変動する市況に適応し、価格決定の弾力性と応答メカニズムを確保することを可能にし、この二重の戦略によって単一のデータソースへの依存を最小限に抑え、価格メカニズムの全体的な弾力性と信頼性を向上させます。
このソリューションは、Curve Oracleだけに頼ることに潜在的な脆弱性を解消するために、acceptable_rangeという静的メソッドを導入しています。Curve Oracleによって生成される価格はChainlinkよりも正確かもしれませんが、操作の対象となる可能性があります。一方、Chainlinkは頑丈でテストされており、業界ではより安全な選択肢とされています。Curve OracleとChainlinkの価格の差が一定値を超えると、acceptable_rangeはChainlinkフィードに切り替えるためのしきい値として機能します。
戦略的に、acceptable_rangeは、Chainlinkの引用の±1%以内の引用を受け入れます。これは、CurveとChainlinkの平均差と比較して、改善されたstETH/ETHおよびETH/USDフィードを考慮すると、ほぼ3つの標準偏差離れています。前のstETH/USDフィードと比較して。
derived_priceは、特にCurve OracleとChainlink Oracleを含むシナリオにおいて、与えられた資産の最終見積もりを決定するために設計された機能またはメカニズムです。
この解決策では、この機能はCurve OracleとChainlink Oracleの両方からの見積もりを評価します。これら2つの価格の差と、事前に定義されたaccepted_range内にあるかどうかを基に、関数は異なる派生価格を出力します。
以前に表示されていた他の価格ソースとのderived_priceの比較です:
BOTの利益は、以下に示すように、この派生価格によって視覚化することができます(偏差がないため、この価格はCurve stETH/ETHおよびCL stETH/ETHと完全に等しくなります)。
総利益を分析することで、全体像が明らかになる可能性があります。6つの外れ値が特定され、外れ値をフィルタリングする前後の各ケースの総利益が計算されました。
Curve stETH/ETHとUniswap ETH/USDCは、BOTの利用可能な利益を最も減少させるのに最適です。彼らが提供する導出価格は、現在のstETH Oracleの実装と同じ利益ポテンシャルを持ちますが、利益を制限し、分析された189取引でユーザーに約35.4 ETHを節約すると仮定しています。
最も流動性の高い分散型取引所からの見積もりに大きく依存しているため、オンチェーン活動やMEVボットがmkUSDをLSDに交換する際にも同じ見積もりをフォローするため、オラクルによる償還の価格決定に使用される見積もりの正確性が最も重要です。
過去のデータによると、カーブプールオラクルの価格は、チェインリンクの価格と比較して参照価格(UniswapV3価格データ)により近いということを示しています。データは、カーブオラクルを導入することで、ボットのMEVを削減し、利用者が自分の財宝を引き替える際により良い為替レートを提供することを示しています。
Curve Oracleを単体で使用することは魅力的かもしれませんが、Curve価格フィードバックの効果は特定の資産の流動性深さとプールとの相互作用に依存します。Curve OracleとChainlink Oracleを組み合わせたハイブリッドOracleソリューションを使用することで、Chainlink Oracleから継承された信頼性と広範な市場カバレッジを保持しながら、オンチェーン価格にマッチさせることができます。
提案されているハイブリッドOracleソリューションは、標準偏差(SD)を評価して派生価格を生成します。SDが0に近づくと、派生価格の基準値への遵守を示し、検討の価値があります。これにより、Curve Oracleが事前に定義された閾値から逸脱すると、ソリューションは動的に安全なChainlinkソースに切り替えます。このソリューションではほぼ常にstETHのCurveの引用を出力するため、Curve stETH/ETHを使用する場合とMEVアクティビティが同じであると想定されます。フォールバックはありません。
付録A:データ処理スクリプト
このレポートで分析を生成するために使用されるスクリプトは次のとおりです:
Appendix B: rETH/cbETH残差分析
その他のチャート rETH
ChainlinkとCurve
Uniswap と Curve
UniswapとChainlink
ピーク rETH をチェック
観察期間において、rETH曲線予言機価格が数回ピークを迎えました。これにより、予言機価格と現物参照価格との間の価格差が急増しました。以下は、価格急騰期間中のファンドプール比率/トークン流動性と予言機価格の動きを示した、より詳細なチャートです。
start_block = 18824000
end_block = 18827000
interval_blocks = 100
マイニングプール比率:
オラクル価格:
start_block = 18850000
end_block = 18858000
interval_blocks = 100
マイニングプール比率:
Oracle価格:
start_block = 18880000
end_block = 18885000
interval_blocks = 100
マイニングプール比率:
Oracle price:
その他のチャートcbETH
ChainlinkとCurve
Uniswap と Curve
UniswapとChainlink
Check Peak cbETH
観察期間中、cbETH Curve Oracle の価格は何度かピークを経験しました。これにより、Oracle 価格とスポット参照価格の価格乖離が著しく増加することが何度かありました。以下は、これらの価格急騰期間中の流動性プール比率/トークン流動性の振る舞いと Oracle 価格の振る舞いを詳しく示したチャートです。
start_block = 18693500
end_block = 18696000
interval_blocks = 10
マイニングプール比率:
Oracle価格:
start_block = 18814000
end_block = 18816500
interval_blocks = 10
マイニングプール比率:
Oracle価格:
start_block = 18800000
end_block = 18805000
interval_blocks = 10
マイニングプール比率:
Oracle価格:
この記事は[から転載されましたmarsbit],オリジナルタイトル「Prismaオプショナルオラクルの比較分析」、著作権はオリジナルの著者[PrismaRisk]に帰属します。転載に異議がある場合は、お問い合わせくださいGate Learn Team、チームは関連手続きに従ってできるだけ早く対応します。
免責事項:本文に表現されている視点や意見は著者個人の見解を表しており、投資アドバイスを構成するものではありません。
その他の言語版の記事は、Gate Learnチームによって翻訳されています。Gate.io、翻訳された記事の転載、配布、あるいは盗用はできません。