Prisma Optional Oracle Vergleichsanalyse

Fortgeschrittene4/7/2024, 12:46:07 PM
Dieser Artikel bewertet die historische Leistung der Chainlink-Integration und den Ersatz des Curve Pool EMA Oracle. Es wurde festgestellt, dass der Mangel an zuverlässigen Chainlink-Datenquellen für Sicherheiten die Integration mit der Prisma-Plattform beeinträchtigt hat. Die Studie schlägt vorläufige Spezifikationen zur Verbesserung des Orakels vor, um die Preisgenauigkeit und Zuverlässigkeit zu verbessern. Darüber hinaus diskutiert die Forschung die Bedeutung des Orakels bei Prisma-Liquidations- und Rücknahmeprozessen. Es wird empfohlen, die Preis-Orakelfunktion von Curve mit Vorsicht zu verwenden. Schließlich wird eine Hybridlösung vorgeschlagen, die Curve und Chainlink Oracle kombiniert, um die Flexibilität und Zuverlässigkeit des Preismechanismus zu verbessern. Dieser Bericht gilt nur für das Prisma-Protokoll.

Einführung

Diese Studie entstand aus der Herausforderung, zuverlässige On-Chain-Preisinformationen zu erhalten, die die Sicherheit maximieren und gleichzeitig die aktuellen Spotpreise der Zielvermögenswerte widerspiegeln. Wir konzentrieren uns speziell auf die Sicherheiten von Prisma Finance (wstETH, rETH, cbETH und sfrxETH) sowie auf Ethereum-basierte flüssige Staking-Derivate (LSD). Einige dieser Vermögenswerte verfügen nicht über Chainlink-Datenquellen (die oft als Goldstandard für zuverlässige Preisdaten gelten), was sich auf ihre Integration in die Prisma-Plattform ausgewirkt hat.

Die neueste Implementierung des stabilen Pools von Curve Finance enthält ein internes Pool-Oracle, das den Exponential Moving Average (EMA) berechnet, um manipulationssichere Preisdaten abzuleiten. Während Integratoren begonnen haben, die Verwendung des Oracles in anderen DeFi-Anwendungen zu erkunden, wird das Oracle hauptsächlich verwendet, um die Sicherheit von Sicherheiten im eigenen crvUSD-Markt von Curve zu gewährleisten.

Das Hauptziel dieses Berichts besteht darin festzustellen, ob das Oracle von Curve Finance als zuverlässige Alternative zu Chainlink für ETH LSD-Token dienen kann. Diese Studie beinhaltet eine statistische Analyse der Effektivität des Curve-Preis-Orakels, indem ihre Volatilität, Genauigkeit und Gesamtleistung mit den Referenz-Spotpreisen von Uniswap verglichen werden (die als genaue On-Chain-Preise angenommen werden).

Die Analyse ist in zwei zusammenhängende Studien unterteilt:

stETH-Orakel Restanalyse: Eine Vergleichsstudie zwischen Chainlink und Curve, die historische Daten verwendet, um die Abweichung des Orakels im Verhältnis zum Mittelwert und zur Standardabweichung des Referenz-Spotpreises zu bestimmen.

stETH MEV-Austauschanalyse: Eine Vergleichsstudie zwischen Chainlink und On-Chain-Oracle unter Verwendung historischer Daten, um Austauschereignisse auf Prisma zu untersuchen und die Rentabilität von Robotern zu schätzen. Die erwarteten Verhaltensweisen unter Verwendung alternativer Oracles werden ebenfalls analysiert.

Nach Analyse stellen wir vorläufige Spezifikationen für das Gate bereit und erwarten Verbesserungen bei der Gate-Preisabweichung, während die Gate-Zuverlässigkeit gewährleistet wird. Die vorgeschlagene Lösung kann als ein erster Entwurf für andere Studien dienen, die darauf abzielen, das Gate zu optimieren.

Abschnitt 1: relevanter Hintergrund

1.1 Oracle-Funktionen im Prisma-Protokoll

Die Wirksamkeit von Orakeln wird im spezifischen Umfeld der Prisma-Nutzung bewertet: Liquidation und Rücknahme. (Zusätzlich ist zu beachten, dass dieselben Orakel auch für die Gebühren bei der Tokenemission und den Verkauf erworbener Token an den „tokenisierten Stabilitätspool“ verwendet werden, dessen Bedeutung mit der Zeit steigen wird.)

Die Leistung des Orakels ist für Prisma-Benutzer entscheidend, da Arbitrageure Gelegenheiten haben können, von Diskrepanzen zwischen den Orakel-Preisen und den Spot-Preisen zu profitieren. Die Verwendung des genauesten Preis-Feedbacks bei Liquidation und Einlösung, ohne die Sicherheit der Preisquellen zu beeinträchtigen, steht im Einklang mit den besten Interessen des Prisma-Protokolls und seiner Schatzmeister-Einleger.

Zwei Oracle-Funktionen innerhalb von Prisma sind wie folgt skizziert:

1.1.1 Liquidation

Um Prisma vor Insolvenz zu schützen, wo die Schuldenpositionen den Wert ihrer Sicherheiten übersteigen, führt der LiquidationManager-Vertrag die Liquidationslogik auf allen aktiven TroveManagers (Prisma-Schatzkammern) aus. Die Liquidation kann auf eine von drei Arten ausgelöst werden, je nachdem, wie das Verhältnis der Sicherheiten des Zielkontos und das systemweite Sicherheitenverhältnis sind.

Individuelle Sicherheitsmarge (ICR) <= 100%: Das Konto (die Schatzkammer) verfügt über unzureichende Sicherheiten. Alle Schulden und Sicherheiten werden unter den verbleibenden aktiven Schatzkammern umverteilt, wodurch der Verlust effektiv sozialisiert wird.

100% < ICR < Mindestkollateralverhältnis (MCR): Die Schatzkammer fällt unter die Liquiditätsschwelle, kann aber sicher liquidiert werden. Der Stable Pool wird als Reserve für die Abwicklung von Liquidationen verwendet (Anreizierung des Liquidationspools). Kollateral wird an Stable Pool-Einzahler zugewiesen. Wenn das Gleichgewicht des Stable Pools nicht ausreicht, um die Schatzkammer vollständig zurückzuzahlen, werden die verbleibende Schuld und das Kollateral unter den verbleibenden aktiven Schatzkammern neu verteilt.

MCR ≤ ICR ≤ Globale Gesamt-Collateral-Verhältnis (GTCR) && GTCR < 150 %: Das System befindet sich im Wiederherstellungsmodus, was bedeutet, dass Schatzämter liquidiert werden können, wenn das CR unterhalb des GTCR und nicht des MCR liegt. Stabile Pool-Einlagen werden zuerst verwendet, um das Schatzamt zu liquidieren. Collateral, das dem Schuldenwert bei MCR entspricht, wird unter den Einlegern des stabilen Pools verteilt. Das verbleibende Collateral kann vom Schatzamtbetreiber beansprucht werden.

Die Möglichkeit einer Prisma-Liquidation steigt, wenn ETH oder ETH LSD erhebliche Preisfluktuationen erleben, insbesondere Rückgänge, in stark volatilen Marktbedingungen. Während Oracle-Ausfälle oder Manipulationen das Protokoll jederzeit beeinflussen können, kann das Risiko eines Oracle-Ausfalls in den entscheidendsten Zeiten steigen. Kollaterale Vermögenswerte können aufgrund von Gasgebührenspitzen möglicherweise nicht rechtzeitig aktualisiert werden, oder die Preismethodik des Oracles kann die zunehmende Volatilität nicht angemessen verfolgen, was zu fehlerhaften Preisen führt. Insolvenzen können zunehmen, was eine Umverteilung unter aktiven Schatzkammern erforderlich macht, oder Kreditnehmer können unfair liquidiert werden (in Fällen, in denen das Oracle fälschlicherweise Preise unter den fairen Marktpreisen meldet).

1.1.2 Rücknahme

Arbitrageure können immer Rücknahmen einleiten und sich dafür entscheiden, 1 mkUSD im Wert von 1 US-Dollar (+ dynamische Rücknahmegebühren) einzulösen, beginnend mit dem Schatzamt mit dem niedrigsten Kollateralverhältnis im System. Dies hilft, den Peg zu stärken, wenn der mkUSD-Preis unter 1 US-Dollar fällt. Der Rücknahmeprozess verringert das Kollateralrisiko des Ziel-Schatzamts und erhöht sein Kollateralverhältnis. Die Partei, die die Rücknahme ausführt, zahlt eine Gebühr namens Rücknahmegebühr. Die Spanne der Rücknahmegebühren liegt beim TroveManager und entspricht der Summe aus der Mindest-Rücknahmegebühr + dem Basiszinssatz. Variablen, die im TroveManager gespeichert sind, steigen proportional zum eingelösten mkUSD-Gesamtangebot und nehmen im Laufe der Zeit linear ab. Diese dynamische Gebühr, der Basiszinssatz, passt den rentablen Rücknahmesatz an.

Obwohl Liquidationen auf Prisma historisch gesehen selten waren, sind Rücknahmen häufig und verdienen eine besondere Berücksichtigung für Oracles. MEV-Bots suchen aktiv nach solchen Gelegenheiten, um schnell durch Flash-Kredite profitieren zu können.

Neben der Unannehmlichkeit der Zwangsrücknahme ihrer Schatzkammer können Benutzer aufgrund von Abweichungen zwischen dem Oracle und den Spotpreisen einige Wertextraktionen erleben. Fehlbewertungen können dazu führen, dass Benutzer mehr Vermögenswerte verlieren als notwendig, insbesondere wenn das Oracle Preise unter dem fairen Marktwert meldet. Andererseits können vom Oracle gemeldete Preise, die über den fairen Marktpreisen liegen, die Rücknahmen behindern und den Zweck des Einlösungsmechanismus, der den mkUSD-Pegelboden durchsetzt, zunichte machen.

1.2 Oracle-Optionen

Hier ist ein kurzer Überblick über die führenden Kandidaten für Oracle-Preisfeeds auf Prisma.

1.2.1 Chainlink (off-chain)

Chainlink ist ein dezentrales Orakelnetzwerk, das Daten aus einer breiten Palette von Marktdatenquellen aggregiert und diese Daten mit Smart Contracts verbindet. Seine Architektur stützt sich auf unabhängige Knotenbetreiber, die Daten von verschiedenen Börsen und Marktdatenaggregatoren-APIs abrufen und übertragen, um einzelne Fehlerpunkte zu minimieren und die Sicherheit zu erhöhen. Die Datenintegrität wird durch kryptografische Methoden und Konsensmechanismen sichergestellt, die die Datenkorrektheit vor der Übertragung überprüfen. Ihr Ansatz beinhaltet die volumengewichtete Asset-Bewertung (VWAP), um faire Marktwerte zu aggregieren, die die Asset-Spotpreise am besten repräsentieren.

Node-Netzwerke übertragen Preise regelmäßig (Herzschlag) oder basierend auf Preisabweichungsschwellenwerten auf die Kette. Diese Einschränkung, aufgrund hoher Gasgebühren im Hauptnetz, kann Preisaktualisierungen teuer machen und zu erhöhter Latenz führen, was die Orakelleistung verringert. Die Kosten für die Aufrechterhaltung solcher Oracles können hoch sein, insbesondere in Zeiten hoher Volatilität, wodurch rechtzeitige Aktualisierungen des Oracles entscheidend sind.

1.2.2 Curve Pool EMA Oracle (On-Chain)

Kürzliche Implementierungen von Curve-Pools (StableSwap- und CryptoSwap-Pools) umfassen EMA-Preisberechnungen, die von Getter-Funktionen wie beispielsweise offenbart werden price_oracle()Diese Pools verlassen sich nicht auf externe Orakel, sondern berechnen stattdessen Vermögenspreise relativ zum Token im Index 0 des Pools basierend auf ihren eigenen internen Handelsaktivitäten. Der EMA erhöht die Manipulationskosten durch geglättete Preisanpassungen, um ein Gleichgewicht zwischen Manipulationsbeständigkeit und Preisabweichung vom Spot zu erreichen. Jeder Pool hat eine ma_exp_timedie durch Curve DAO-Abstimmung konfiguriert werden kann.

Wie im Curve Oracle-Dokumentation offenbart, wurde das EMA-Orakel aktiv entwickelt:

Wenn Sie die 'Preis-Orakel'-Funktionalität von Curve oder eines anderen Preis-Orakels nutzen möchten, um On-Chain-Preisdaten in Ihrer dezentralen Anwendung bereitzustellen, empfehlen wir Ihnen, besonders vorsichtig zu sein.

Verschiedene Pool-Implementierungen modifizieren Versionen des EMA-Oracle-Codes, sodass Integratoren die Oracle-Implementierung des Ziel-Pools verstehen müssen.

Im November 2023 wurde bei der Bereitstellung der stableswap-ng-Pool eine Fehler, der den Pool-Oracle betraf, entdeckt. Dieser Fehler wurde kurz nach der Bereitstellung des Pool-Implementierung durch yAudit während einer sekundären Prüfung festgestellt. Dies führte zu einem Vorschlag zur Aktualisierung der Implementierung und zur Ausphasung einiger betroffener Pools. Es waren keine Mittel gefährdet, aber dieses Ereignis verdeutlichte die aktive Entwicklung von Curve-Pool-Oracles und das Potenzial für Inkonsistenzen zwischen Pools, trotz umfangreicher Prüfungen, sowie das Potenzial für fortbestehende Fehler, die Oracles anfällig für Manipulationen oder Ungenauigkeiten machen könnten.

1.3 Einlösungsverlauf MEV

Der dritte Teil dieses Berichts ist eine Analyse der Einlösung des wstETH TroveManager. Angesichts der erheblichen Auswirkungen der Einlösung auf die Prisma-Benutzer präsentiert dieser Abschnitt Beobachtungen zu historischen Einlösungen, die im Rahmen der vergleichenden Analyse mit dem alternativen Curve EMA Oracle bewertet werden.

1.3.1 BOT-Verhalten

Die Abfrage von Rücknahmeevents im wstETH TroveManager zeigt insgesamt über 200 Rücknahmetransaktionen, wobei 190 Transaktionen als BOT-Transaktionen identifiziert wurden (die Methode zur Identifizierung von Transaktionen, die von BOTs ausgeführt wurden, wird später im selben Abschnitt erläutert). Unten sehen Sie eine Visualisierung, die die Häufigkeit dieser Transaktionen im Laufe der Zeit zeigt.

Quelle: Dune query_3402461

Es gibt nur 3 BOTs, die häufig mkUSD austauschen:

Quelle: Dune query_3402461

Jeder BOT folgt einem ähnlichen allgemeinen Prozess des Erwerbs von mkUSD und der Einlösung. Nachfolgend finden Sie eine der BOT-Transaktionen, die einige nützliche Einblicke offenbart:

Quelle: Phalcon Tx Explorer

Das BOT-Transaktionsmuster kann wie folgt weiter unterteilt werden:

Flash-Kredite von Uniswap V3: USDC erhalten.

Konvertieren Sie USDC in mkUSD mit dem Curve.fi Factory USD Metapool: Prisma mkUSD.

Tauschen Sie mkUSD gegen wstETH auf dem wstETH TroveManager aus.

Entpacken Sie wstETH in stETH auf dem wstETH.

Tauschen Sie stETH gegen ETH im Curve stETH/ETH Pool.

Wrap ETH, den Kredit zurückzahlen und Gewinne und Provisionen verteilen.

MEV Rentabilität hängt von Preisunterschieden in den Schritten 2, 3 und 5 ab:

2: Da der mkUSD-Preis sinkt, steigt die Rücknahmeprofitabilität.

3: Da sich die dynamischen Rücknahmegebühren mit der Funktion der jüngsten Rücknahmemengen und der Zeit seit der Rücknahme verringern, steigt die Rentabilität der Rücknahme.

-5: Bei einem Schlupf in Vermögensaustauschen (z.B. stETH) sinkt die Rentabilität der Rücknahme. LSD wie stETH können direkt gegen zugrunde liegendes ETH ausgetauscht werden, aber dieser Prozess erfordert eine Wartezeit, was die Liquidität auf dem Sekundärmarkt entscheidend macht.

Prisma verwendet einen Mechanismus, um Gewinnchancen aus der Umwandlung von mkUSD in wstETH durch dynamische Gebühren zu begrenzen. Schritt 3 beinhaltet dynamische Gebühren, um häufige und übermäßige Umtauschvorgänge zu verhindern. Trotz dieses Mechanismus können Umtauschvorgänge aufgrund von Orakel-Fehlbewertungen zur MEV-Extraktion immer noch auftreten. Orakelangebote für mkUSD-Umtausch können den Schatzmeistern suboptimale Kollateralraten bieten, was zu einer negativen Benutzererfahrung führt.

1.3.2 Gültigkeit der wstETH-Orakeländerungen

Der Vorschlag zur Änderung der Preisgestaltung des Prisma-Orakels für stETH wurde genehmigt. Prisma verwendete zunächst das Chainlink stETH/USD-Orakel mit einem Abweichungsschwellenwert von 1% für den wstETH TroveManager. Es wurde festgestellt, dass die Verwendung einer Kombination aus Chainlink stETH/ETH- und ETH/USD-Orakeln zu Verbesserungen führen könnte, wobei für jedes Orakel ein Abweichungsschwellenwert von 0,5% festgelegt wurde.

Bitte beachten Sie die Abweichung zwischen dem neuen Oracle und dem alten Oracle mit einer Auflösung von 15 Blöcken:

Quelle: Diagramm von @wavey

Es wurde beobachtet, dass bei einem Handelspreis von mkUSD unter seinem festgelegten Kurs übermäßige Einlösungen aufgrund einer Oracle-Abweichung von mehr als 1% auftreten. In diesen Fällen stellten wir fest, dass dynamische Gebühren nicht ausreichten, um übermäßige Einlösungen aufgrund von Preisdifferenzen zu verhindern. Bitte beachten Sie die Anpassung der Einlösungsgebühren für Einlösungsvorgänge unterhalb.

Quelle: Chart von @wavey

Diese Rücknahmen können für Prisma-Benutzer indirekte Kosten verursachen, da sie möglicherweise ungünstige Kurse erhalten, wenn ihre Schätze eingelöst werden. Die Analyse von Wavey zeigt, dass das stETH/USD-Orakel im Vergleich zu den im obigen Daten validierten Orakelkombinationen anfälliger für Abweichungen ist. Vorübergehende Abweichungen von mehr als 1,2 % haben MEV-Bots die Möglichkeit gegeben, diese auszunutzen.

Der Vorschlag zur Änderung des Oracles (PIP-004) wurde am 17. November 2023 um 7 Uhr umgesetzt.:15:Um 21:35 Uhr +UTC, zusammen mit dieser Transaktion. Basierend auf dem untenstehenden mkUSD-Preisdiagramm und dem Datum der Durchführung des Vorschlags ist zu erkennen, dass nach der Durchführung des Vorschlags der realisierte Preis von mkUSD in USDC gesunken ist. Die verringerte Rentabilität von Rücknahmen aufgrund von Oracle-Verbesserungen kann zu einer Verringerung der Anbindungsfestigkeit führen.

Quelle: Dune query_5685458

Andere Einflussfaktoren sollten ebenfalls berücksichtigt werden, einschließlich der Beschränkungen des Zinsmodells des Protokolls, der Anwendungsfälle für mkUSD und der fehlgeleiteten Anreizmaßnahmen. Ein weiterer bedeutender Vorschlag, der Rücknahmen einschränkt, ist PIP-019, der am 31. Januar durchgeführt wurde. Dieser Vorschlag erhöhte die Basisrücknahmepauschale für alle TroveManager auf 1%-1,5%, was die Verankerungselastizität von mkUSD verringerte, jedoch auf Kosten einer Verringerung des Rücknahmerisikos für Prisma-Trove-Besitzer.

Teil 2: Orakel Restanalyse

2.1 Ziele

Die Analyse zielt darauf ab, die Leistung der implementierten Prisma-Orakel zu bewerten und die hypothetische Leistung alternativer On-Chain Curve EMA-Orakel anhand historischer Daten zu bewerten. Die Ergebnisse der Studie werden erste Einblicke in das Verhalten von Off-Chain- und On-Chain-Orakeln ermöglichen und eine ausführlichere Bewertung in nachfolgenden Untersuchungen ermöglichen.

Der Zweck dieser Analyse besteht darin zu bestimmen, ob das aktuelle Orakel die optimale Leistungslösung bietet oder ob Verbesserungen durch die Implementierung von On-Chain- oder Hybridlösungen unter Verwendung des Curve EMA-Pool-Orakels vorgenommen werden können.

2.2 Methodik

Die Analyse wird sich speziell auf stETH konzentrieren, da es das am häufigsten verwendete LSD ist, mit einem ausgereiften Chainlink-Preisfeed und einer tiefen Liquidität im Curve-Pool. Eine Analyse anderer auf Prisma aufgeführter Sicherheiten wurde durchgeführt, und die Ergebnisse sind im Anhang B des Berichts zur Referenz bereitgestellt.

Die vergleichende Analyse beinhaltet die Bewertung des Grades der Übereinstimmung zwischen den Testdaten und dem Referenzdatensatz. In diesem Fall werden zwei Datensätze betrachtet: die Testdaten von Interesse und der Referenzdatensatz. Es wird erwartet, dass die Testdaten eng mit den Referenzdaten übereinstimmen, jedoch können Abweichungen auftreten.

Um die Ausrichtung zu quantifizieren, untersuchen wir Residuen, die im Wesentlichen die Differenz zwischen den Versuchsdaten und den Referenzdaten darstellen. Die Residuenanalyse zielt darauf ab, Muster oder Trends in diesen Unterschieden aufzudecken.

Bei der Analyse von Residuen (Abweichungen von den Referenzwerten) werden Beobachtungen auf der Grundlage der Standardabweichung der Residuen gemacht. Die Standardabweichung (SD) ist ein statistisches Maß, das verwendet wird, um die Variabilität oder Streuung eines Wertesatzes zu quantifizieren. Es gibt einen Hinweis auf die Verteilung von Werten um den Mittelwert (Durchschnitt). Eine niedrige Standardabweichung bedeutet, dass Datenpunkte tendenziell nahe am Mittelwert liegen, während eine hohe Standardabweichung darauf hinweist, dass die Datenpunkte über einen breiteren Bereich verteilt sind.

In unserem Fall ist ein Mittelwert nahe 0 wünschenswert, da dies darauf hinweist, dass die bereitgestellten Preise die Referenzpreise nicht über- oder unterschätzen. Ein Mittelwert nahe oder gleich 0 bei einer relativ hohen Standardabweichung deutet jedoch auf signifikante Schwankungen hin, die unerwünscht sind, da sie schwerwiegende Fehlbewertungen entsprechen. Ein Oracle-Feed mit einem Mittelwert von null und der minimalen Standardabweichung ist das ideale Ergebnis und zeigt an, dass der Feed die Spotpreise genau verfolgt.

Um die Genauigkeit der On-Chain-Oracle-Preisaktivität zu überwachen und zu bewerten, dienen Angebote, die von den liquidesten Handelszielen (mit Ausnahme von Curve) erhalten wurden, als Referenz für die Restanalyse. Speziell sind Angebote des Währungspaars LSD/ETH auf Uniswap die primären Referenzpunkte in diesem Szenario.

Unsere Analyse umfasst zwei Strategien zur Ableitung von stETH Chainlink-Preisen. Dies geschieht, da festgestellt wurde, dass die Abweichung des originalen Chainlink stETH/USD-Feeds höher ist als die Abweichung bei Verwendung von stETH/ETH + ETH/USD. Die Orakel wurden gemäß Governance-Vorschlägen aktualisiert. Anschließend wird die Analyse unter Verwendung des verbesserten stETH/ETH Chainlink-Preises in ETH als stETHv1 bezeichnet, während der stETH/USD + ETH/USD-Kombinations-Feed (Replikation der ursprünglichen stETH-Orakelleistung, standardisiert auf ETH) als stETHv2 bezeichnet wird.

2.3 Datensammlung

Zu Analysezwecken wurden die Daten des letzten Quartals 2023 von allen entsprechenden Vermögenswerten (vom Block 18331000 bis Block 18931000 mit einer Auflösung von 250 Blöcken für den Datensatz) erhalten. Dies erzeugt einen Datensatz mit 2401 Datenpunkten für alle Vermögenswerte.

Das primäre zu prüfende Asset ist stETH, da es derzeit der von Prisma akzeptierte Kollateraltyp ist, wobei sowohl der Chainlink-Feed als auch der Curve StableSwap-ng-Pool als Referenz verfügbar sind (bitte beachten Sie Anhang B für eine Analyse von rETH und cbETH, die die ältere CryptoSwap-Poolimplementierung verwendet). Alle Daten wurden durch Abfragen von Preisen für den angegebenen Blockbereich erhalten.

Oracle-Preise werden aus den folgenden Quellen analysiert:

Curve Liquiditätspool

Chainlink Preisrückmeldung

Die Uniswap-Mining-Pool-Adresse als Spotpreis-Referenzagent lautet wie folgt:

Uniswap Spotpreis

Um LSD auf seinen zugrunde liegenden ETH-Standard zu standardisieren, verwenden wir den internen LSD/ETH-Wechselkurs:

Interner LSD/ETH-Wechselkurs

2.4 Restanalyse der stETH-Orakelmaschine

2.4.1 Chainlink und Curve

In diesem Abschnitt vergleichen wir die Genauigkeit des Chainlink stETH-Preisfeeds mit Curve.

Chainlink stETHv1 Feed vs. Curve

Chainlink: stETH/ETH feed

Kurve: stETH/ETH-Pool

Unten finden Sie einen direkten Vergleich der stETH-Preise von Chainlink und Curve. Aufgrund des 24-Stunden-Herzschlagzyklus von Chainlink stETH/ETH schwankt der Preis alle paar Blöcke. Im Vergleich dazu sind die Schwankungen im Chainlink-Feed (besser visualisiert im Chainlink stETH/USD-Feed) im Vergleich zu Curve leichter beobachtbar, da Curve eine 10-minütige EMA-Zeit (ma_exp_time) verwendet, um den Preis abzuleiten.

Wenn wir den Preis von Curve vom Preis von Chainlink abziehen, erhalten wir die Restwerte, wie unten dargestellt:

Der durchschnittliche Abweichungswert beträgt ~-0.000305.

Eine wichtige Beobachtung, die hier gemacht werden kann, ist, dass Curve Oracle seine Preisdaten im Vergleich zu Chainlink leicht überschätzt.

Chainlink stETHv2 and Curve

Chainlink: stETH/USD-Feed / ETH/USD-Feed

Curve: stETH/ETH Pool

Im Folgenden finden Sie einen Vergleich der Preise aus alternativen Chainlink-Feeds, die auf ETH (stETH/USD und ETH/USD) normalisiert sind, im Vergleich zum stETH Curve. Da Chainlink stETH/USD eine 1%ige Abweichungsschwelle aufweist (im Vergleich zu 0,5% im stETH/ETH-Feed), weist der Preis eine größere Abweichung um den Ankerpreis herum auf.

Wie bereits beobachtet, sind die Preisfluktuationen von Chainlink's stETH/USD im Vergleich zu Curve ausgeprägter.

Der durchschnittliche Abweichungswert beträgt ~-0,000171.

Je nach Skala weist dieser Feed größere Restwerte auf, d.h. mehr Volatilität, als stETH/ETH auf.

2.4.2 Uniswap und Chainlink

In diesem Abschnitt werden wir die historische Genauigkeit des Chainlink stETH-Preisfeeds mit dem Referenz-Spotpreis von Uniswap vergleichen.

In der Annahme, dass die Preisdaten des UniswapV3-Pools als zuverlässiger Proxy für Spotpreise dienen, können wir die zuvor erhaltenen Benchmark-Daten vergleichen, um die Nähe des Chainlink-Oracle-Feeds zu den Referenzwerten zu überprüfen.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: stETH/ETH-Feed

Uniswap: wstETH/ETH-Pool / wstETH/stETH interner Wechselkurs

Hier ist die tatsächliche Abweichung zwischen dem Uniswap Spotpreis und Chainlink stETH/ETH:

Restmittelwert = 0.000415

Standardabweichung der Preisunterschiede = 0.000601

Uniswap Spot vs. Chainlink stETHv2

Chainlink: stETH/USD-Feed / ETH/USD-Feed

Uniswap: wstETH/ETH-Pool / wstETH/stETH interner Wechselkurs

Hier ist die tatsächliche Abweichung zwischen Uniswap stETH und Chainlink stETH (stETH/USD):

Preisdifferenz bedeutet = 0.000281

Preisdifferenz-Standardabweichung = 0.002747

Hier vergleichen wir Chainlink stETHv1 (d. h., stETH/ETH) und stETHv2 (d. h., stETH/USD) mit Uniswap-Daten, und die Ergebnisse deuten darauf hin, dass die Abweichung von stETHv2 signifikant größer ist als bei stETHv1.

Die gleiche Beobachtung wurde auch im Prisma-Governance-Vorschlag (PIP-004) gemacht, als das Orakel von stETH/USD auf stETH/ETH + ETH/USD wechselte, um Preisabweichungen in der Preisversorgung zu reduzieren.

2.4.3 Uniswap und Curve

In diesem Abschnitt werden wir die historische Genauigkeit des stETH Curve-Orakels mit dem Referenz-Spotpreis von Uniswap vergleichen.

Angenommen, dass die Preisdaten des UniswapV3-Pools als zuverlässiger Proxy für Spotpreise dienen, können wir die zuvor erhaltenen Benchmark-Daten vergleichen, um die Nähe des Curve-Orakel-Feeds zu den Referenzwerten zu überprüfen.

Uniswap Spot vs. Curve

Kurve: stETH/ETH-Pool

Uniswap: wstETH/ETH-Pool / wstETH/stETH interner Wechselkurs

Basierend auf einer ähnlichen Restanalyse wie oben erhalten wir die folgenden Metriken zum Vergleich mit dem zuvor festgelegten Benchmark:

Die durchschnittliche Preisdifferenz = 0.000110.

Die Standardabweichung der Preisunterschiede beträgt 0.000141.

Wie beobachtet, liegt der durchschnittliche Preis, der von Curve gemeldet wird, leicht unter dem Uniswap-Spot, mit einer deutlich geringeren Standardabweichung im Vergleich zu beiden Quellen von Chainlink.

2.5 Ergebnisse

Beim Vergleich dieser Kennzahlen stellen wir fest, dass die Abweichung der Chainlink-Daten deutlich größer ist als die von Curve, wenn Uniswap-Daten als Proxy für Spotpreise herangezogen werden.

Da die oben genannten Beobachtungen auf den Abweichungen von jeder Preisquelle basieren, ist es möglich, dass der Curve Oracle-Feed positive Abweichungen aufzeigt, während der Chainlink-Feed negative Abweichungen aufzeigt, und umgekehrt. Dieses Szenario wird vollständig negiert, da die Abweichungsbereiche der Chainlink-Feeds und des Curve Oracle im Vergleich zu den Abweichungsbereichen von Uniswap & Chainlink und Uniswap & Curve kleiner sind.

Die Tabelle unten zeigt die Residualanalyse, die mit den gesammelten Daten durchgeführt wurde. Das Restmittel, multipliziert mit 100, ergibt den durchschnittlichen Abweichungsprozentsatz des Zielwerts vom Referenzwert (in USD-Begriffen im Vergleich zu in USD denominierten ETH-Preisen).

Die Tabelle vergleicht direkt die relative Leistung von Chainlink und Curve mit dem Uniswap-Referenzwert in Bezug auf Durchschnitt und Standardabweichung für jedes Asset. In allen Fällen weist Curve niedrigere Durchschnitts- und Standardabweichungswerte auf. Der Genauigkeitsmultiplikator zeigt die relative Genauigkeit jedes beobachteten Werts.

Die Hauptpunkte hier sind wie folgt:

  1. Basierend auf der Standardabweichung der Restwerte zeigt Curve im Vergleich zu Chainlink eine geringere Volatilität bezogen auf die Referenzspotpreise, und dies bleibt bei den beobachteten Vermögenswerten konsistent, obwohl die Standardabweichung zwischen cbETH für Chainlink und Curve ähnlich ist.
  2. Gemäß der obigen Tabelle lässt sich durch die Analyse der Mittel feststellen, dass Chainlink im Vergleich zu den Referenz-Uniswap-Spotpreisen die Vermögenspreise unterschätzt. Curve stimmt eher mit den Referenzpreisen überein, neigt jedoch auch dazu, die Preise im Vergleich zu den Referenz-Uniswap-Spotpreisen leicht zu unterschätzen.
  3. Ein Vorbehalt zu diesen Erkenntnissen ist, dass trotz der insgesamt überlegenen Leistung des Curve-Orakels gegenüber Chainlink, die hier beobachtet wurde, rETH und cbETH scharfe und kurzlebige Abweichungen erlebten, wie im Anhang B: rETH/cbETH-Residualanalyse referenziert. Dies ist auf die relative Illiquidität der Pools, die geringe Aktivität und die Unzulänglichkeit der älteren Poolimplementierungen für die Integration zurückzuführen. Es bedarf jedoch weiterer Forschung, um die Benchmark-Metriken zu bestimmen, die für zuverlässige Curve-Pool-Orakel erforderlich sind.

Abschnitt 3: stETH MEV-Abrechnungsanalyse

3.1 Ziele

Die Analyse zielt darauf ab, die Implementierungspreise von Rücknahmeevents im wstETH TroveManager mit den hypothetischen Preisen zu vergleichen, die unter Verwendung historischer Daten von alternativen On-Chain-Oracles angegeben wurden. Die Ergebnisse der Studie werden erste Einblicke in das Verhalten von Off-Chain- und On-Chain-Oracles liefern und eine genauere Bewertung in weiteren Forschungen ermöglichen.

Der Zweck dieser Analyse besteht darin festzustellen, ob das aktuelle Oracle die beste Leistungslösung in spezifischen Rücknahmeszenarien bietet oder ob Verbesserungen durch die Implementierung von On-Chain- oder Hybridlösungen unter Verwendung von Curve EMA-Pool-Oracles vorgenommen werden können.

3.2 Methodik

Diese Analyse wird sich speziell auf stETH konzentrieren, da es sich um das am häufigsten verwendete LSD handelt und über ausgereifte Chainlink-Preisfeeds und eine hohe Liquidität im Curve-Pool verfügt. Die Studie wird alle Rücknahmeevents aggregieren und die realisierten stETH-Orakelpreise mit mehreren alternativen Orakelpreisen vergleichen, die in USD bewertet sind und den Curve stETH/ETH-Orakelpreis verwenden.

Für diese Analyse wird der realisierte stETH-Preis berechnet, indem der eingelöste Betrag von mkUSD durch die Menge an stETH geteilt wird, die dem Trove Manager in Form von wstETH verloren gegangen ist. Um die Menge an stETH zu bestimmen, müssen wir das erhaltene wstETH aus der Einlösung sowie das als Gebühren ausgegebene wstETH berücksichtigen und in stETH umrechnen. Wenn eine alternative Quelle kontinuierlich niedrigere Gewinne für Einlöser bietet, können wir sagen, dass ihre MEV-Performance besser ist als der tatsächliche Preis.

Der wstETH TroveManager wird verwendet, um alle Transaktions-Hashes abzurufen, wenn mkUSD im Austausch erhalten wird. Transaktionen, bei denen die Adresse, die mkUSD einlöst, mkUSD erhält und verbrennt, gelten als BOT-Transaktionen. Detaillierte Abfragen zu Einlöseereignissen finden Sie hier: Dune query_3352919. Diese Abfrage ist entscheidend für den Abruf aller Daten aus BOT-Transaktionen.

3.3 Datensammlung

Die Dune-Abfrage wird verwendet, um BOT-Transaktionen zu identifizieren, die alle Transaktionshash-Werte, den realisierten wstETH-Wechselkurs für mkUSD-Rückzahlungen und die Blocknummer der Rückzahlungsereignisse erhalten. Die aus der Abfrage erhaltenen Blocknummern dienen als Eingabe für die Abfrage der folgenden Daten, die verwendet werden, um die aktuelle Implementierung mit Änderungen am Curve stETH-Feed-Preis zu vergleichen:

Basierend auf den obigen Daten können wir drei Preisfeeds unter Verwendung des Curve-Orakels stETH/ETH-Preises erstellen und sie mit ETH/USD zusammenführen, um stETH/USD abzuleiten. Nach dieser Operation erhalten wir die folgenden Daten zur Visualisierung:

Die obigen Daten geben den stETH-Preis in USD an, der auf der Grundlage der realisierten stETH-Preise aus allen BOT-Transaktionen analysiert werden kann. Der realisierte stETH (in USD) wird einfach verwendet, um den stETH-Preis für jedes mkUSD zu berechnen, das während der Einlösung bereitgestellt wird.

3.4 stETH MEV Rückkaufanalyse

Hier sind 4 stETH-Preisquellen für den BOT-Handelsblock (1 Referenz und 3 oben diskutierte Alternativen). Realisierte Preisfeeds sind Preise von implementierten Preis-Oracles (d.h. Chainlink). Dies wird mit 3 Feeds verglichen, die Curve stETH/ETH als Kern verwenden. Hier wird ein höheres Angebot zu einer Abnahme des Werts von stETH, der gegen mkUSD eingetauscht wird, und umgekehrt führen.

Basierend auf den obigen Informationen können wir die relative Menge an stETH modellieren, die durch die Einlösung von mkUSD erhalten wird, und diese basierend auf der tatsächlich erhaltenen Menge des bestehenden Orakels normalisieren. Der folgende Graph zeigt das aus mkUSD erhaltene stETH, bevor Gebühren erhoben werden, und verarbeitet die Daten, um Ausreißer zu entfernen und die Visualisierung zu verbessern.

3.5 Ergebnisse

Die Analyse zeigt einen klaren Trend: Wenn Curve stETH/ETH mit Uniswap ETH/USDC und Chainlink ETH/USD kombiniert wird, nimmt die Menge an verfügbarem stETH für die mkUSD-Einlösung ab. Daraus ergibt sich, dass eine Verringerung der Anzahl von stETH-Einheiten pro mkUSD-Einlösung zu einem Rückgang der BOT-Gewinne führt. Die bereitgestellte Visualisierung veranschaulicht den Vergleich zwischen den BOT-Gewinnen bei verschiedenen angenommenen Feed-Preisen und dem tatsächlichen Feed-Preis, unter Ausschluss von Gebühren:

Es ist offensichtlich, dass die Kombination aus Curve stETH/ETH, Uniswap ETH/USDC und Chainlink ETH/USD die Rentabilität von Rücknahmen im Vergleich zum realisierten Feed-Preis reduziert.

Teil 4: Vorgeschlagene Oracle-Verbesserungen

4.1 Hybrid-Orakel-Lösung

Angesichts der inhärenten Risiken, die sich aus der ausschließlichen Nutzung des Curve-Orakels ergeben, insbesondere in Zeiten geringer Liquidität oder Liquiditätsschwankungen, integriert die vorgeschlagene Lösung strategisch das Chainlink-Orakel als Sicherheitsmaßnahme (d. h. als Backup-Plan) im Falle von Abweichungen. Angesichts der vernachlässigbaren Möglichkeit, dass Chainlink falsche Daten liefert, kann es als zuverlässige Backup-Option dienen.

Diese Lösung fungiert als Filter, der sowohl Curve- als auch Chainlink-Preise berücksichtigt. Bedingungen werden in einer Funktion festgelegt, die als Schalter dient. Um diese Bedingung zu entwerfen, wird das Konzept eines akzeptablen Bereichs eingeführt. Dieser Bereich repräsentiert die akzeptable Differenz zwischen Chainlink- und Curve-Oracle-Preisen. Wenn die beobachtete Differenz diesen Bereich überschreitet, deutet dies auf mögliche Voreingenommenheit oder Manipulationen in den Curve-Oracle-Daten hin. In solchen Fällen mildert die Funktion potenzielle Risiken, indem sie die sichereren Chainlink-Preise bevorzugt. Wenn die Differenz hingegen innerhalb des akzeptablen Bereichs liegt, verlässt sich die Funktion auf die Genauigkeit und Präzision des Curve Oracles.

Es ist erwähnenswert, dass der akzeptable Bereich je nach Volatilität der zugrunde liegenden Vermögenswerte (z. B. ETH und verwandter LSD) als statisch oder dynamisch konfiguriert werden kann. Die dynamische Natur ermöglicht eine Anpassung an volatile Marktbedingungen und gewährleistet Elastizität und Reaktionsmechanismen bei der Preisbestimmung. Diese dual-pronged Strategie minimiert die Abhängigkeit von einer einzigen Datenquelle und verbessert so die Gesamtresilienz und Zuverlässigkeit des Preisbildungsmechanismus.

4.2 Verifizierungslösung

4.2.1 Statisch akzeptabler Bereich

Die Lösung führt eine statische Methode, acceptable_range, ein, um potenzielle Schwachstellen zu adressieren, wenn man sich allein auf das Curve Oracle verlässt. Während die von Curve Oracle generierten Preise genauer sein können als die von Chainlink, könnte es anfällig für Manipulationen sein. Chainlink hingegen ist robust und getestet und gilt als sicherere Wahl in der Branche. Wenn der Unterschied zwischen Curve Oracle und Chainlink einen festen Wert überschreitet, dient die acceptable_range als Schwellenwert, um auf den Chainlink-Feed umzuschalten.

Strategisch akzeptiert das acceptable_range Angebote, die innerhalb von ±1% der Chainlink-Angebote liegen. Dies liegt fast drei Standardabweichungen vom durchschnittlichen Unterschied zwischen Curve und Chainlink entfernt, wenn man die verbesserten stETH/ETH- und ETH/USD-Feeds im Vergleich zum vorherigen stETH/USD-Feed berücksichtigt.

4.2.2 Funktion Ausgabepreis abgeleitet

Der derived_price ist eine Funktion oder Mechanismus, der entworfen wurde, um das endgültige Angebot für ein bestimmtes Asset zu bestimmen, insbesondere in Szenarien, die das Curve-Orakel und das Chainlink-Orakel involvieren.

In der beschriebenen Lösung bewertet diese Funktion Angebote sowohl vom Curve-Orakel als auch vom Chainlink-Orakel. Basierend auf dem beobachteten Unterschied zwischen diesen beiden Preisen und ob er innerhalb oder über den vordefinierten akzeptierten Bereich fällt, gibt die Funktion unterschiedliche abgeleitete Preise aus.

Hier wird ein Vergleich des abgeleiteten Preises mit den zuvor angezeigten anderen Preisquellen durchgeführt:

BOT-Gewinne können durch diesen Derivatpreis visualisiert werden (da es keine Abweichung gibt, wird dieser Preis genau dem Curve stETH/ETH und CL stETH/ETH entsprechen), wie unten gezeigt:

Die Analyse der Gesamtgewinne kann das Gesamtbild offenbaren. Sechs Ausreißer wurden identifiziert und der Gesamtgewinn für jeden Fall wurde vor und nach der Filterung der Ausreißer berechnet.

Curve stETH/ETH und Uniswap ETH/USDC erzielen die besten Ergebnisse bei der Reduzierung des verfügbaren Gewinns für Bots. Der von ihnen bereitgestellte abgeleitete Preis hat das gleiche Gewinnpotenzial wie die aktuelle stETH-Oracle-Implementierung, begrenzt jedoch den Gewinn, unter der Annahme, dass er den Benutzern bei den analysierten 189 Transaktionen etwa 35,4 ETH erspart.

4.3 Fazit

Aufgrund der starken Abhängigkeit von Angeboten der liquidesten dezentralen Börsen für On-Chain-Aktivitäten und der Tatsache, dass MEV-Bots auch denselben Angeboten folgen, wenn sie mkUSD gegen LSD tauschen, ist die Genauigkeit der Angebote (die für die Preisfestsetzung von Rücknahmen durch das Oracle verwendet werden) von größter Bedeutung.

Historische Daten deuten darauf hin, dass die Kurvenpool-Orakelpreise im Vergleich zu den Chainlink-Preisen näher am Referenzpreis (UniswapV3-Preisdaten) liegen. Die Daten deuten darauf hin, dass die Implementierung des Kurven-Orakels die MEV für Bots reduzieren und den Benutzern, die ihre Schätze einlösen, bessere Wechselkurse bieten würde.

Die Verwendung von Curve Oracle als eigenständiges Oracle mag verlockend sein, aber die Wirksamkeit des Curve-Preis-Feedbacks hängt von der Liquiditätstiefe bestimmter Vermögenswerte und der Interaktion mit dem Pool ab. Eine hybride Oracle-Lösung mit Curve Oracle und Chainlink Oracle kann verwendet werden, um die On-Chain-Preise abzugleichen und gleichzeitig die Zuverlässigkeit und die breite Marktabdeckung zu erhalten, die vom Chainlink Oracle geerbt wurden.

Die von uns vorgeschlagene hybride Oracle-Lösung bewertet die Standardabweichung (SD), um den abgeleiteten Preis zu generieren. Wenn sich die SD 0 nähert, deutet dies auf die Einhaltung der Referenzwerte des abgeleiteten Preises hin, was es wert macht, darüber nachzudenken. Dies stellt sicher, dass die Lösung dynamisch auf die sicherere Chainlink-Quelle umschaltet, wenn sich das Curve Oracle von den vordefinierten Schwellenwerten abweicht. Da diese Lösung fast immer das Curve-Angebot von stETH ausgibt, wird angenommen, dass die MEV-Aktivität dieselbe ist wie bei der Verwendung von Curve stETH/ETH, ohne Ausfallmöglichkeit.

Anhang A: Datenverarbeitungsskripte

Die Skripte, die zur Erstellung der Analyse in diesem Bericht verwendet werden, lauten wie folgt:

  1. OracleAnalysisV4: Colab-Notizbuch für Datensammlung
  2. OracleAnalysisPlayground: Colab-Notizbuch zum Erstellen von Diagrammen unter Verwendung von Pickle-Datendateien
  3. PrismaOracleModelingV1: Colab-Notizbuch zum Plotten von MEV-Austauschaktivitätsdiagrammen
  4. DerivedPriceModeling: Colab-Notizbuch zur Prüfung und Modellierung alternativer Oracle-Lösungen

Anhang B: rETH/cbETH Restanalyse

Andere Diagramme rETH

Chainlink und Curve

Uniswap und Curve

Uniswap und Chainlink

Überprüfen Sie den Spitzenwert von rETH

Während der Beobachtungsphase gab es mehrere Spitzenwerte im Preis des rETH-Kurvenorakels. Dies führte zu einem drastischen Anstieg der Preisabweichung zwischen dem Orakelpreis und dem Spotreferenzpreis. Nachfolgend finden Sie eine detailliertere Grafik, die das Verhalten des Poolanteils/Tokenliquidität während mehrerer Preisspitzen sowie des Orakelpreises zeigt.

start_block = 18824000

end_block = 18827000

interval_blocks = 100

Mining-Pool-Verhältnis:

Oracle Preis:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Mining-Pool-Verhältnis:

Oracle Preis:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Mining-Pool-Verhältnis:

Oracle Preis:

Andere Diagramme cbETH

Chainlink und Curve

Uniswap und Curve

Uniswap und Chainlink

Überprüfen Sie Peak cbETH

Während des Beobachtungszeitraums erlebten die cbETH Curve Oracle-Preise mehrere Spitzen. Dies führte mehrmals zu erheblichen Spitzen in der Preisabweichung zwischen dem Oracle-Preis und dem Spot-Referenzpreis. Unten finden Sie eine detailliertere Grafik, die das Verhalten der Liquiditätspool-Verhältnisse/Token-Liquidität während dieser Phasen der Preisspitzen und das Verhalten der Oracle-Preise zeigt.

start_block = 18693500

end_block = 18696000

interval_blocks = 10

Mining-Pool-Verhältnis:

Oracle-Preis:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Mining-Pool-Verhältnis:

Oracle Preis:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

Mining-Pool-Verhältnis:

Oracle Preis:

Erklärung:

  1. Dieser Artikel stammt aus [marsbit], Originaltitel 'Vergleichende Analyse optionaler Orakel von Prisma', das Urheberrecht liegt beim Originalautor [PrismaRisk], bei Einwänden gegen den Nachdruck bitte kontaktierenGate Learn Team, das Team wird es so schnell wie möglich gemäß den relevanten Verfahren bearbeiten.

  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen stellen nur die persönlichen Ansichten des Autors dar und stellen keine Anlageberatung dar.

  3. Andere Sprachversionen des Artikels werden vom Gate Learn-Team übersetzt, nicht erwähnt in Gate.io, der übersetzte Artikel darf nicht reproduziert, verteilt oder plagiiert werden.

Prisma Optional Oracle Vergleichsanalyse

Fortgeschrittene4/7/2024, 12:46:07 PM
Dieser Artikel bewertet die historische Leistung der Chainlink-Integration und den Ersatz des Curve Pool EMA Oracle. Es wurde festgestellt, dass der Mangel an zuverlässigen Chainlink-Datenquellen für Sicherheiten die Integration mit der Prisma-Plattform beeinträchtigt hat. Die Studie schlägt vorläufige Spezifikationen zur Verbesserung des Orakels vor, um die Preisgenauigkeit und Zuverlässigkeit zu verbessern. Darüber hinaus diskutiert die Forschung die Bedeutung des Orakels bei Prisma-Liquidations- und Rücknahmeprozessen. Es wird empfohlen, die Preis-Orakelfunktion von Curve mit Vorsicht zu verwenden. Schließlich wird eine Hybridlösung vorgeschlagen, die Curve und Chainlink Oracle kombiniert, um die Flexibilität und Zuverlässigkeit des Preismechanismus zu verbessern. Dieser Bericht gilt nur für das Prisma-Protokoll.

Einführung

Diese Studie entstand aus der Herausforderung, zuverlässige On-Chain-Preisinformationen zu erhalten, die die Sicherheit maximieren und gleichzeitig die aktuellen Spotpreise der Zielvermögenswerte widerspiegeln. Wir konzentrieren uns speziell auf die Sicherheiten von Prisma Finance (wstETH, rETH, cbETH und sfrxETH) sowie auf Ethereum-basierte flüssige Staking-Derivate (LSD). Einige dieser Vermögenswerte verfügen nicht über Chainlink-Datenquellen (die oft als Goldstandard für zuverlässige Preisdaten gelten), was sich auf ihre Integration in die Prisma-Plattform ausgewirkt hat.

Die neueste Implementierung des stabilen Pools von Curve Finance enthält ein internes Pool-Oracle, das den Exponential Moving Average (EMA) berechnet, um manipulationssichere Preisdaten abzuleiten. Während Integratoren begonnen haben, die Verwendung des Oracles in anderen DeFi-Anwendungen zu erkunden, wird das Oracle hauptsächlich verwendet, um die Sicherheit von Sicherheiten im eigenen crvUSD-Markt von Curve zu gewährleisten.

Das Hauptziel dieses Berichts besteht darin festzustellen, ob das Oracle von Curve Finance als zuverlässige Alternative zu Chainlink für ETH LSD-Token dienen kann. Diese Studie beinhaltet eine statistische Analyse der Effektivität des Curve-Preis-Orakels, indem ihre Volatilität, Genauigkeit und Gesamtleistung mit den Referenz-Spotpreisen von Uniswap verglichen werden (die als genaue On-Chain-Preise angenommen werden).

Die Analyse ist in zwei zusammenhängende Studien unterteilt:

stETH-Orakel Restanalyse: Eine Vergleichsstudie zwischen Chainlink und Curve, die historische Daten verwendet, um die Abweichung des Orakels im Verhältnis zum Mittelwert und zur Standardabweichung des Referenz-Spotpreises zu bestimmen.

stETH MEV-Austauschanalyse: Eine Vergleichsstudie zwischen Chainlink und On-Chain-Oracle unter Verwendung historischer Daten, um Austauschereignisse auf Prisma zu untersuchen und die Rentabilität von Robotern zu schätzen. Die erwarteten Verhaltensweisen unter Verwendung alternativer Oracles werden ebenfalls analysiert.

Nach Analyse stellen wir vorläufige Spezifikationen für das Gate bereit und erwarten Verbesserungen bei der Gate-Preisabweichung, während die Gate-Zuverlässigkeit gewährleistet wird. Die vorgeschlagene Lösung kann als ein erster Entwurf für andere Studien dienen, die darauf abzielen, das Gate zu optimieren.

Abschnitt 1: relevanter Hintergrund

1.1 Oracle-Funktionen im Prisma-Protokoll

Die Wirksamkeit von Orakeln wird im spezifischen Umfeld der Prisma-Nutzung bewertet: Liquidation und Rücknahme. (Zusätzlich ist zu beachten, dass dieselben Orakel auch für die Gebühren bei der Tokenemission und den Verkauf erworbener Token an den „tokenisierten Stabilitätspool“ verwendet werden, dessen Bedeutung mit der Zeit steigen wird.)

Die Leistung des Orakels ist für Prisma-Benutzer entscheidend, da Arbitrageure Gelegenheiten haben können, von Diskrepanzen zwischen den Orakel-Preisen und den Spot-Preisen zu profitieren. Die Verwendung des genauesten Preis-Feedbacks bei Liquidation und Einlösung, ohne die Sicherheit der Preisquellen zu beeinträchtigen, steht im Einklang mit den besten Interessen des Prisma-Protokolls und seiner Schatzmeister-Einleger.

Zwei Oracle-Funktionen innerhalb von Prisma sind wie folgt skizziert:

1.1.1 Liquidation

Um Prisma vor Insolvenz zu schützen, wo die Schuldenpositionen den Wert ihrer Sicherheiten übersteigen, führt der LiquidationManager-Vertrag die Liquidationslogik auf allen aktiven TroveManagers (Prisma-Schatzkammern) aus. Die Liquidation kann auf eine von drei Arten ausgelöst werden, je nachdem, wie das Verhältnis der Sicherheiten des Zielkontos und das systemweite Sicherheitenverhältnis sind.

Individuelle Sicherheitsmarge (ICR) <= 100%: Das Konto (die Schatzkammer) verfügt über unzureichende Sicherheiten. Alle Schulden und Sicherheiten werden unter den verbleibenden aktiven Schatzkammern umverteilt, wodurch der Verlust effektiv sozialisiert wird.

100% < ICR < Mindestkollateralverhältnis (MCR): Die Schatzkammer fällt unter die Liquiditätsschwelle, kann aber sicher liquidiert werden. Der Stable Pool wird als Reserve für die Abwicklung von Liquidationen verwendet (Anreizierung des Liquidationspools). Kollateral wird an Stable Pool-Einzahler zugewiesen. Wenn das Gleichgewicht des Stable Pools nicht ausreicht, um die Schatzkammer vollständig zurückzuzahlen, werden die verbleibende Schuld und das Kollateral unter den verbleibenden aktiven Schatzkammern neu verteilt.

MCR ≤ ICR ≤ Globale Gesamt-Collateral-Verhältnis (GTCR) && GTCR < 150 %: Das System befindet sich im Wiederherstellungsmodus, was bedeutet, dass Schatzämter liquidiert werden können, wenn das CR unterhalb des GTCR und nicht des MCR liegt. Stabile Pool-Einlagen werden zuerst verwendet, um das Schatzamt zu liquidieren. Collateral, das dem Schuldenwert bei MCR entspricht, wird unter den Einlegern des stabilen Pools verteilt. Das verbleibende Collateral kann vom Schatzamtbetreiber beansprucht werden.

Die Möglichkeit einer Prisma-Liquidation steigt, wenn ETH oder ETH LSD erhebliche Preisfluktuationen erleben, insbesondere Rückgänge, in stark volatilen Marktbedingungen. Während Oracle-Ausfälle oder Manipulationen das Protokoll jederzeit beeinflussen können, kann das Risiko eines Oracle-Ausfalls in den entscheidendsten Zeiten steigen. Kollaterale Vermögenswerte können aufgrund von Gasgebührenspitzen möglicherweise nicht rechtzeitig aktualisiert werden, oder die Preismethodik des Oracles kann die zunehmende Volatilität nicht angemessen verfolgen, was zu fehlerhaften Preisen führt. Insolvenzen können zunehmen, was eine Umverteilung unter aktiven Schatzkammern erforderlich macht, oder Kreditnehmer können unfair liquidiert werden (in Fällen, in denen das Oracle fälschlicherweise Preise unter den fairen Marktpreisen meldet).

1.1.2 Rücknahme

Arbitrageure können immer Rücknahmen einleiten und sich dafür entscheiden, 1 mkUSD im Wert von 1 US-Dollar (+ dynamische Rücknahmegebühren) einzulösen, beginnend mit dem Schatzamt mit dem niedrigsten Kollateralverhältnis im System. Dies hilft, den Peg zu stärken, wenn der mkUSD-Preis unter 1 US-Dollar fällt. Der Rücknahmeprozess verringert das Kollateralrisiko des Ziel-Schatzamts und erhöht sein Kollateralverhältnis. Die Partei, die die Rücknahme ausführt, zahlt eine Gebühr namens Rücknahmegebühr. Die Spanne der Rücknahmegebühren liegt beim TroveManager und entspricht der Summe aus der Mindest-Rücknahmegebühr + dem Basiszinssatz. Variablen, die im TroveManager gespeichert sind, steigen proportional zum eingelösten mkUSD-Gesamtangebot und nehmen im Laufe der Zeit linear ab. Diese dynamische Gebühr, der Basiszinssatz, passt den rentablen Rücknahmesatz an.

Obwohl Liquidationen auf Prisma historisch gesehen selten waren, sind Rücknahmen häufig und verdienen eine besondere Berücksichtigung für Oracles. MEV-Bots suchen aktiv nach solchen Gelegenheiten, um schnell durch Flash-Kredite profitieren zu können.

Neben der Unannehmlichkeit der Zwangsrücknahme ihrer Schatzkammer können Benutzer aufgrund von Abweichungen zwischen dem Oracle und den Spotpreisen einige Wertextraktionen erleben. Fehlbewertungen können dazu führen, dass Benutzer mehr Vermögenswerte verlieren als notwendig, insbesondere wenn das Oracle Preise unter dem fairen Marktwert meldet. Andererseits können vom Oracle gemeldete Preise, die über den fairen Marktpreisen liegen, die Rücknahmen behindern und den Zweck des Einlösungsmechanismus, der den mkUSD-Pegelboden durchsetzt, zunichte machen.

1.2 Oracle-Optionen

Hier ist ein kurzer Überblick über die führenden Kandidaten für Oracle-Preisfeeds auf Prisma.

1.2.1 Chainlink (off-chain)

Chainlink ist ein dezentrales Orakelnetzwerk, das Daten aus einer breiten Palette von Marktdatenquellen aggregiert und diese Daten mit Smart Contracts verbindet. Seine Architektur stützt sich auf unabhängige Knotenbetreiber, die Daten von verschiedenen Börsen und Marktdatenaggregatoren-APIs abrufen und übertragen, um einzelne Fehlerpunkte zu minimieren und die Sicherheit zu erhöhen. Die Datenintegrität wird durch kryptografische Methoden und Konsensmechanismen sichergestellt, die die Datenkorrektheit vor der Übertragung überprüfen. Ihr Ansatz beinhaltet die volumengewichtete Asset-Bewertung (VWAP), um faire Marktwerte zu aggregieren, die die Asset-Spotpreise am besten repräsentieren.

Node-Netzwerke übertragen Preise regelmäßig (Herzschlag) oder basierend auf Preisabweichungsschwellenwerten auf die Kette. Diese Einschränkung, aufgrund hoher Gasgebühren im Hauptnetz, kann Preisaktualisierungen teuer machen und zu erhöhter Latenz führen, was die Orakelleistung verringert. Die Kosten für die Aufrechterhaltung solcher Oracles können hoch sein, insbesondere in Zeiten hoher Volatilität, wodurch rechtzeitige Aktualisierungen des Oracles entscheidend sind.

1.2.2 Curve Pool EMA Oracle (On-Chain)

Kürzliche Implementierungen von Curve-Pools (StableSwap- und CryptoSwap-Pools) umfassen EMA-Preisberechnungen, die von Getter-Funktionen wie beispielsweise offenbart werden price_oracle()Diese Pools verlassen sich nicht auf externe Orakel, sondern berechnen stattdessen Vermögenspreise relativ zum Token im Index 0 des Pools basierend auf ihren eigenen internen Handelsaktivitäten. Der EMA erhöht die Manipulationskosten durch geglättete Preisanpassungen, um ein Gleichgewicht zwischen Manipulationsbeständigkeit und Preisabweichung vom Spot zu erreichen. Jeder Pool hat eine ma_exp_timedie durch Curve DAO-Abstimmung konfiguriert werden kann.

Wie im Curve Oracle-Dokumentation offenbart, wurde das EMA-Orakel aktiv entwickelt:

Wenn Sie die 'Preis-Orakel'-Funktionalität von Curve oder eines anderen Preis-Orakels nutzen möchten, um On-Chain-Preisdaten in Ihrer dezentralen Anwendung bereitzustellen, empfehlen wir Ihnen, besonders vorsichtig zu sein.

Verschiedene Pool-Implementierungen modifizieren Versionen des EMA-Oracle-Codes, sodass Integratoren die Oracle-Implementierung des Ziel-Pools verstehen müssen.

Im November 2023 wurde bei der Bereitstellung der stableswap-ng-Pool eine Fehler, der den Pool-Oracle betraf, entdeckt. Dieser Fehler wurde kurz nach der Bereitstellung des Pool-Implementierung durch yAudit während einer sekundären Prüfung festgestellt. Dies führte zu einem Vorschlag zur Aktualisierung der Implementierung und zur Ausphasung einiger betroffener Pools. Es waren keine Mittel gefährdet, aber dieses Ereignis verdeutlichte die aktive Entwicklung von Curve-Pool-Oracles und das Potenzial für Inkonsistenzen zwischen Pools, trotz umfangreicher Prüfungen, sowie das Potenzial für fortbestehende Fehler, die Oracles anfällig für Manipulationen oder Ungenauigkeiten machen könnten.

1.3 Einlösungsverlauf MEV

Der dritte Teil dieses Berichts ist eine Analyse der Einlösung des wstETH TroveManager. Angesichts der erheblichen Auswirkungen der Einlösung auf die Prisma-Benutzer präsentiert dieser Abschnitt Beobachtungen zu historischen Einlösungen, die im Rahmen der vergleichenden Analyse mit dem alternativen Curve EMA Oracle bewertet werden.

1.3.1 BOT-Verhalten

Die Abfrage von Rücknahmeevents im wstETH TroveManager zeigt insgesamt über 200 Rücknahmetransaktionen, wobei 190 Transaktionen als BOT-Transaktionen identifiziert wurden (die Methode zur Identifizierung von Transaktionen, die von BOTs ausgeführt wurden, wird später im selben Abschnitt erläutert). Unten sehen Sie eine Visualisierung, die die Häufigkeit dieser Transaktionen im Laufe der Zeit zeigt.

Quelle: Dune query_3402461

Es gibt nur 3 BOTs, die häufig mkUSD austauschen:

Quelle: Dune query_3402461

Jeder BOT folgt einem ähnlichen allgemeinen Prozess des Erwerbs von mkUSD und der Einlösung. Nachfolgend finden Sie eine der BOT-Transaktionen, die einige nützliche Einblicke offenbart:

Quelle: Phalcon Tx Explorer

Das BOT-Transaktionsmuster kann wie folgt weiter unterteilt werden:

Flash-Kredite von Uniswap V3: USDC erhalten.

Konvertieren Sie USDC in mkUSD mit dem Curve.fi Factory USD Metapool: Prisma mkUSD.

Tauschen Sie mkUSD gegen wstETH auf dem wstETH TroveManager aus.

Entpacken Sie wstETH in stETH auf dem wstETH.

Tauschen Sie stETH gegen ETH im Curve stETH/ETH Pool.

Wrap ETH, den Kredit zurückzahlen und Gewinne und Provisionen verteilen.

MEV Rentabilität hängt von Preisunterschieden in den Schritten 2, 3 und 5 ab:

2: Da der mkUSD-Preis sinkt, steigt die Rücknahmeprofitabilität.

3: Da sich die dynamischen Rücknahmegebühren mit der Funktion der jüngsten Rücknahmemengen und der Zeit seit der Rücknahme verringern, steigt die Rentabilität der Rücknahme.

-5: Bei einem Schlupf in Vermögensaustauschen (z.B. stETH) sinkt die Rentabilität der Rücknahme. LSD wie stETH können direkt gegen zugrunde liegendes ETH ausgetauscht werden, aber dieser Prozess erfordert eine Wartezeit, was die Liquidität auf dem Sekundärmarkt entscheidend macht.

Prisma verwendet einen Mechanismus, um Gewinnchancen aus der Umwandlung von mkUSD in wstETH durch dynamische Gebühren zu begrenzen. Schritt 3 beinhaltet dynamische Gebühren, um häufige und übermäßige Umtauschvorgänge zu verhindern. Trotz dieses Mechanismus können Umtauschvorgänge aufgrund von Orakel-Fehlbewertungen zur MEV-Extraktion immer noch auftreten. Orakelangebote für mkUSD-Umtausch können den Schatzmeistern suboptimale Kollateralraten bieten, was zu einer negativen Benutzererfahrung führt.

1.3.2 Gültigkeit der wstETH-Orakeländerungen

Der Vorschlag zur Änderung der Preisgestaltung des Prisma-Orakels für stETH wurde genehmigt. Prisma verwendete zunächst das Chainlink stETH/USD-Orakel mit einem Abweichungsschwellenwert von 1% für den wstETH TroveManager. Es wurde festgestellt, dass die Verwendung einer Kombination aus Chainlink stETH/ETH- und ETH/USD-Orakeln zu Verbesserungen führen könnte, wobei für jedes Orakel ein Abweichungsschwellenwert von 0,5% festgelegt wurde.

Bitte beachten Sie die Abweichung zwischen dem neuen Oracle und dem alten Oracle mit einer Auflösung von 15 Blöcken:

Quelle: Diagramm von @wavey

Es wurde beobachtet, dass bei einem Handelspreis von mkUSD unter seinem festgelegten Kurs übermäßige Einlösungen aufgrund einer Oracle-Abweichung von mehr als 1% auftreten. In diesen Fällen stellten wir fest, dass dynamische Gebühren nicht ausreichten, um übermäßige Einlösungen aufgrund von Preisdifferenzen zu verhindern. Bitte beachten Sie die Anpassung der Einlösungsgebühren für Einlösungsvorgänge unterhalb.

Quelle: Chart von @wavey

Diese Rücknahmen können für Prisma-Benutzer indirekte Kosten verursachen, da sie möglicherweise ungünstige Kurse erhalten, wenn ihre Schätze eingelöst werden. Die Analyse von Wavey zeigt, dass das stETH/USD-Orakel im Vergleich zu den im obigen Daten validierten Orakelkombinationen anfälliger für Abweichungen ist. Vorübergehende Abweichungen von mehr als 1,2 % haben MEV-Bots die Möglichkeit gegeben, diese auszunutzen.

Der Vorschlag zur Änderung des Oracles (PIP-004) wurde am 17. November 2023 um 7 Uhr umgesetzt.:15:Um 21:35 Uhr +UTC, zusammen mit dieser Transaktion. Basierend auf dem untenstehenden mkUSD-Preisdiagramm und dem Datum der Durchführung des Vorschlags ist zu erkennen, dass nach der Durchführung des Vorschlags der realisierte Preis von mkUSD in USDC gesunken ist. Die verringerte Rentabilität von Rücknahmen aufgrund von Oracle-Verbesserungen kann zu einer Verringerung der Anbindungsfestigkeit führen.

Quelle: Dune query_5685458

Andere Einflussfaktoren sollten ebenfalls berücksichtigt werden, einschließlich der Beschränkungen des Zinsmodells des Protokolls, der Anwendungsfälle für mkUSD und der fehlgeleiteten Anreizmaßnahmen. Ein weiterer bedeutender Vorschlag, der Rücknahmen einschränkt, ist PIP-019, der am 31. Januar durchgeführt wurde. Dieser Vorschlag erhöhte die Basisrücknahmepauschale für alle TroveManager auf 1%-1,5%, was die Verankerungselastizität von mkUSD verringerte, jedoch auf Kosten einer Verringerung des Rücknahmerisikos für Prisma-Trove-Besitzer.

Teil 2: Orakel Restanalyse

2.1 Ziele

Die Analyse zielt darauf ab, die Leistung der implementierten Prisma-Orakel zu bewerten und die hypothetische Leistung alternativer On-Chain Curve EMA-Orakel anhand historischer Daten zu bewerten. Die Ergebnisse der Studie werden erste Einblicke in das Verhalten von Off-Chain- und On-Chain-Orakeln ermöglichen und eine ausführlichere Bewertung in nachfolgenden Untersuchungen ermöglichen.

Der Zweck dieser Analyse besteht darin zu bestimmen, ob das aktuelle Orakel die optimale Leistungslösung bietet oder ob Verbesserungen durch die Implementierung von On-Chain- oder Hybridlösungen unter Verwendung des Curve EMA-Pool-Orakels vorgenommen werden können.

2.2 Methodik

Die Analyse wird sich speziell auf stETH konzentrieren, da es das am häufigsten verwendete LSD ist, mit einem ausgereiften Chainlink-Preisfeed und einer tiefen Liquidität im Curve-Pool. Eine Analyse anderer auf Prisma aufgeführter Sicherheiten wurde durchgeführt, und die Ergebnisse sind im Anhang B des Berichts zur Referenz bereitgestellt.

Die vergleichende Analyse beinhaltet die Bewertung des Grades der Übereinstimmung zwischen den Testdaten und dem Referenzdatensatz. In diesem Fall werden zwei Datensätze betrachtet: die Testdaten von Interesse und der Referenzdatensatz. Es wird erwartet, dass die Testdaten eng mit den Referenzdaten übereinstimmen, jedoch können Abweichungen auftreten.

Um die Ausrichtung zu quantifizieren, untersuchen wir Residuen, die im Wesentlichen die Differenz zwischen den Versuchsdaten und den Referenzdaten darstellen. Die Residuenanalyse zielt darauf ab, Muster oder Trends in diesen Unterschieden aufzudecken.

Bei der Analyse von Residuen (Abweichungen von den Referenzwerten) werden Beobachtungen auf der Grundlage der Standardabweichung der Residuen gemacht. Die Standardabweichung (SD) ist ein statistisches Maß, das verwendet wird, um die Variabilität oder Streuung eines Wertesatzes zu quantifizieren. Es gibt einen Hinweis auf die Verteilung von Werten um den Mittelwert (Durchschnitt). Eine niedrige Standardabweichung bedeutet, dass Datenpunkte tendenziell nahe am Mittelwert liegen, während eine hohe Standardabweichung darauf hinweist, dass die Datenpunkte über einen breiteren Bereich verteilt sind.

In unserem Fall ist ein Mittelwert nahe 0 wünschenswert, da dies darauf hinweist, dass die bereitgestellten Preise die Referenzpreise nicht über- oder unterschätzen. Ein Mittelwert nahe oder gleich 0 bei einer relativ hohen Standardabweichung deutet jedoch auf signifikante Schwankungen hin, die unerwünscht sind, da sie schwerwiegende Fehlbewertungen entsprechen. Ein Oracle-Feed mit einem Mittelwert von null und der minimalen Standardabweichung ist das ideale Ergebnis und zeigt an, dass der Feed die Spotpreise genau verfolgt.

Um die Genauigkeit der On-Chain-Oracle-Preisaktivität zu überwachen und zu bewerten, dienen Angebote, die von den liquidesten Handelszielen (mit Ausnahme von Curve) erhalten wurden, als Referenz für die Restanalyse. Speziell sind Angebote des Währungspaars LSD/ETH auf Uniswap die primären Referenzpunkte in diesem Szenario.

Unsere Analyse umfasst zwei Strategien zur Ableitung von stETH Chainlink-Preisen. Dies geschieht, da festgestellt wurde, dass die Abweichung des originalen Chainlink stETH/USD-Feeds höher ist als die Abweichung bei Verwendung von stETH/ETH + ETH/USD. Die Orakel wurden gemäß Governance-Vorschlägen aktualisiert. Anschließend wird die Analyse unter Verwendung des verbesserten stETH/ETH Chainlink-Preises in ETH als stETHv1 bezeichnet, während der stETH/USD + ETH/USD-Kombinations-Feed (Replikation der ursprünglichen stETH-Orakelleistung, standardisiert auf ETH) als stETHv2 bezeichnet wird.

2.3 Datensammlung

Zu Analysezwecken wurden die Daten des letzten Quartals 2023 von allen entsprechenden Vermögenswerten (vom Block 18331000 bis Block 18931000 mit einer Auflösung von 250 Blöcken für den Datensatz) erhalten. Dies erzeugt einen Datensatz mit 2401 Datenpunkten für alle Vermögenswerte.

Das primäre zu prüfende Asset ist stETH, da es derzeit der von Prisma akzeptierte Kollateraltyp ist, wobei sowohl der Chainlink-Feed als auch der Curve StableSwap-ng-Pool als Referenz verfügbar sind (bitte beachten Sie Anhang B für eine Analyse von rETH und cbETH, die die ältere CryptoSwap-Poolimplementierung verwendet). Alle Daten wurden durch Abfragen von Preisen für den angegebenen Blockbereich erhalten.

Oracle-Preise werden aus den folgenden Quellen analysiert:

Curve Liquiditätspool

Chainlink Preisrückmeldung

Die Uniswap-Mining-Pool-Adresse als Spotpreis-Referenzagent lautet wie folgt:

Uniswap Spotpreis

Um LSD auf seinen zugrunde liegenden ETH-Standard zu standardisieren, verwenden wir den internen LSD/ETH-Wechselkurs:

Interner LSD/ETH-Wechselkurs

2.4 Restanalyse der stETH-Orakelmaschine

2.4.1 Chainlink und Curve

In diesem Abschnitt vergleichen wir die Genauigkeit des Chainlink stETH-Preisfeeds mit Curve.

Chainlink stETHv1 Feed vs. Curve

Chainlink: stETH/ETH feed

Kurve: stETH/ETH-Pool

Unten finden Sie einen direkten Vergleich der stETH-Preise von Chainlink und Curve. Aufgrund des 24-Stunden-Herzschlagzyklus von Chainlink stETH/ETH schwankt der Preis alle paar Blöcke. Im Vergleich dazu sind die Schwankungen im Chainlink-Feed (besser visualisiert im Chainlink stETH/USD-Feed) im Vergleich zu Curve leichter beobachtbar, da Curve eine 10-minütige EMA-Zeit (ma_exp_time) verwendet, um den Preis abzuleiten.

Wenn wir den Preis von Curve vom Preis von Chainlink abziehen, erhalten wir die Restwerte, wie unten dargestellt:

Der durchschnittliche Abweichungswert beträgt ~-0.000305.

Eine wichtige Beobachtung, die hier gemacht werden kann, ist, dass Curve Oracle seine Preisdaten im Vergleich zu Chainlink leicht überschätzt.

Chainlink stETHv2 and Curve

Chainlink: stETH/USD-Feed / ETH/USD-Feed

Curve: stETH/ETH Pool

Im Folgenden finden Sie einen Vergleich der Preise aus alternativen Chainlink-Feeds, die auf ETH (stETH/USD und ETH/USD) normalisiert sind, im Vergleich zum stETH Curve. Da Chainlink stETH/USD eine 1%ige Abweichungsschwelle aufweist (im Vergleich zu 0,5% im stETH/ETH-Feed), weist der Preis eine größere Abweichung um den Ankerpreis herum auf.

Wie bereits beobachtet, sind die Preisfluktuationen von Chainlink's stETH/USD im Vergleich zu Curve ausgeprägter.

Der durchschnittliche Abweichungswert beträgt ~-0,000171.

Je nach Skala weist dieser Feed größere Restwerte auf, d.h. mehr Volatilität, als stETH/ETH auf.

2.4.2 Uniswap und Chainlink

In diesem Abschnitt werden wir die historische Genauigkeit des Chainlink stETH-Preisfeeds mit dem Referenz-Spotpreis von Uniswap vergleichen.

In der Annahme, dass die Preisdaten des UniswapV3-Pools als zuverlässiger Proxy für Spotpreise dienen, können wir die zuvor erhaltenen Benchmark-Daten vergleichen, um die Nähe des Chainlink-Oracle-Feeds zu den Referenzwerten zu überprüfen.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: stETH/ETH-Feed

Uniswap: wstETH/ETH-Pool / wstETH/stETH interner Wechselkurs

Hier ist die tatsächliche Abweichung zwischen dem Uniswap Spotpreis und Chainlink stETH/ETH:

Restmittelwert = 0.000415

Standardabweichung der Preisunterschiede = 0.000601

Uniswap Spot vs. Chainlink stETHv2

Chainlink: stETH/USD-Feed / ETH/USD-Feed

Uniswap: wstETH/ETH-Pool / wstETH/stETH interner Wechselkurs

Hier ist die tatsächliche Abweichung zwischen Uniswap stETH und Chainlink stETH (stETH/USD):

Preisdifferenz bedeutet = 0.000281

Preisdifferenz-Standardabweichung = 0.002747

Hier vergleichen wir Chainlink stETHv1 (d. h., stETH/ETH) und stETHv2 (d. h., stETH/USD) mit Uniswap-Daten, und die Ergebnisse deuten darauf hin, dass die Abweichung von stETHv2 signifikant größer ist als bei stETHv1.

Die gleiche Beobachtung wurde auch im Prisma-Governance-Vorschlag (PIP-004) gemacht, als das Orakel von stETH/USD auf stETH/ETH + ETH/USD wechselte, um Preisabweichungen in der Preisversorgung zu reduzieren.

2.4.3 Uniswap und Curve

In diesem Abschnitt werden wir die historische Genauigkeit des stETH Curve-Orakels mit dem Referenz-Spotpreis von Uniswap vergleichen.

Angenommen, dass die Preisdaten des UniswapV3-Pools als zuverlässiger Proxy für Spotpreise dienen, können wir die zuvor erhaltenen Benchmark-Daten vergleichen, um die Nähe des Curve-Orakel-Feeds zu den Referenzwerten zu überprüfen.

Uniswap Spot vs. Curve

Kurve: stETH/ETH-Pool

Uniswap: wstETH/ETH-Pool / wstETH/stETH interner Wechselkurs

Basierend auf einer ähnlichen Restanalyse wie oben erhalten wir die folgenden Metriken zum Vergleich mit dem zuvor festgelegten Benchmark:

Die durchschnittliche Preisdifferenz = 0.000110.

Die Standardabweichung der Preisunterschiede beträgt 0.000141.

Wie beobachtet, liegt der durchschnittliche Preis, der von Curve gemeldet wird, leicht unter dem Uniswap-Spot, mit einer deutlich geringeren Standardabweichung im Vergleich zu beiden Quellen von Chainlink.

2.5 Ergebnisse

Beim Vergleich dieser Kennzahlen stellen wir fest, dass die Abweichung der Chainlink-Daten deutlich größer ist als die von Curve, wenn Uniswap-Daten als Proxy für Spotpreise herangezogen werden.

Da die oben genannten Beobachtungen auf den Abweichungen von jeder Preisquelle basieren, ist es möglich, dass der Curve Oracle-Feed positive Abweichungen aufzeigt, während der Chainlink-Feed negative Abweichungen aufzeigt, und umgekehrt. Dieses Szenario wird vollständig negiert, da die Abweichungsbereiche der Chainlink-Feeds und des Curve Oracle im Vergleich zu den Abweichungsbereichen von Uniswap & Chainlink und Uniswap & Curve kleiner sind.

Die Tabelle unten zeigt die Residualanalyse, die mit den gesammelten Daten durchgeführt wurde. Das Restmittel, multipliziert mit 100, ergibt den durchschnittlichen Abweichungsprozentsatz des Zielwerts vom Referenzwert (in USD-Begriffen im Vergleich zu in USD denominierten ETH-Preisen).

Die Tabelle vergleicht direkt die relative Leistung von Chainlink und Curve mit dem Uniswap-Referenzwert in Bezug auf Durchschnitt und Standardabweichung für jedes Asset. In allen Fällen weist Curve niedrigere Durchschnitts- und Standardabweichungswerte auf. Der Genauigkeitsmultiplikator zeigt die relative Genauigkeit jedes beobachteten Werts.

Die Hauptpunkte hier sind wie folgt:

  1. Basierend auf der Standardabweichung der Restwerte zeigt Curve im Vergleich zu Chainlink eine geringere Volatilität bezogen auf die Referenzspotpreise, und dies bleibt bei den beobachteten Vermögenswerten konsistent, obwohl die Standardabweichung zwischen cbETH für Chainlink und Curve ähnlich ist.
  2. Gemäß der obigen Tabelle lässt sich durch die Analyse der Mittel feststellen, dass Chainlink im Vergleich zu den Referenz-Uniswap-Spotpreisen die Vermögenspreise unterschätzt. Curve stimmt eher mit den Referenzpreisen überein, neigt jedoch auch dazu, die Preise im Vergleich zu den Referenz-Uniswap-Spotpreisen leicht zu unterschätzen.
  3. Ein Vorbehalt zu diesen Erkenntnissen ist, dass trotz der insgesamt überlegenen Leistung des Curve-Orakels gegenüber Chainlink, die hier beobachtet wurde, rETH und cbETH scharfe und kurzlebige Abweichungen erlebten, wie im Anhang B: rETH/cbETH-Residualanalyse referenziert. Dies ist auf die relative Illiquidität der Pools, die geringe Aktivität und die Unzulänglichkeit der älteren Poolimplementierungen für die Integration zurückzuführen. Es bedarf jedoch weiterer Forschung, um die Benchmark-Metriken zu bestimmen, die für zuverlässige Curve-Pool-Orakel erforderlich sind.

Abschnitt 3: stETH MEV-Abrechnungsanalyse

3.1 Ziele

Die Analyse zielt darauf ab, die Implementierungspreise von Rücknahmeevents im wstETH TroveManager mit den hypothetischen Preisen zu vergleichen, die unter Verwendung historischer Daten von alternativen On-Chain-Oracles angegeben wurden. Die Ergebnisse der Studie werden erste Einblicke in das Verhalten von Off-Chain- und On-Chain-Oracles liefern und eine genauere Bewertung in weiteren Forschungen ermöglichen.

Der Zweck dieser Analyse besteht darin festzustellen, ob das aktuelle Oracle die beste Leistungslösung in spezifischen Rücknahmeszenarien bietet oder ob Verbesserungen durch die Implementierung von On-Chain- oder Hybridlösungen unter Verwendung von Curve EMA-Pool-Oracles vorgenommen werden können.

3.2 Methodik

Diese Analyse wird sich speziell auf stETH konzentrieren, da es sich um das am häufigsten verwendete LSD handelt und über ausgereifte Chainlink-Preisfeeds und eine hohe Liquidität im Curve-Pool verfügt. Die Studie wird alle Rücknahmeevents aggregieren und die realisierten stETH-Orakelpreise mit mehreren alternativen Orakelpreisen vergleichen, die in USD bewertet sind und den Curve stETH/ETH-Orakelpreis verwenden.

Für diese Analyse wird der realisierte stETH-Preis berechnet, indem der eingelöste Betrag von mkUSD durch die Menge an stETH geteilt wird, die dem Trove Manager in Form von wstETH verloren gegangen ist. Um die Menge an stETH zu bestimmen, müssen wir das erhaltene wstETH aus der Einlösung sowie das als Gebühren ausgegebene wstETH berücksichtigen und in stETH umrechnen. Wenn eine alternative Quelle kontinuierlich niedrigere Gewinne für Einlöser bietet, können wir sagen, dass ihre MEV-Performance besser ist als der tatsächliche Preis.

Der wstETH TroveManager wird verwendet, um alle Transaktions-Hashes abzurufen, wenn mkUSD im Austausch erhalten wird. Transaktionen, bei denen die Adresse, die mkUSD einlöst, mkUSD erhält und verbrennt, gelten als BOT-Transaktionen. Detaillierte Abfragen zu Einlöseereignissen finden Sie hier: Dune query_3352919. Diese Abfrage ist entscheidend für den Abruf aller Daten aus BOT-Transaktionen.

3.3 Datensammlung

Die Dune-Abfrage wird verwendet, um BOT-Transaktionen zu identifizieren, die alle Transaktionshash-Werte, den realisierten wstETH-Wechselkurs für mkUSD-Rückzahlungen und die Blocknummer der Rückzahlungsereignisse erhalten. Die aus der Abfrage erhaltenen Blocknummern dienen als Eingabe für die Abfrage der folgenden Daten, die verwendet werden, um die aktuelle Implementierung mit Änderungen am Curve stETH-Feed-Preis zu vergleichen:

Basierend auf den obigen Daten können wir drei Preisfeeds unter Verwendung des Curve-Orakels stETH/ETH-Preises erstellen und sie mit ETH/USD zusammenführen, um stETH/USD abzuleiten. Nach dieser Operation erhalten wir die folgenden Daten zur Visualisierung:

Die obigen Daten geben den stETH-Preis in USD an, der auf der Grundlage der realisierten stETH-Preise aus allen BOT-Transaktionen analysiert werden kann. Der realisierte stETH (in USD) wird einfach verwendet, um den stETH-Preis für jedes mkUSD zu berechnen, das während der Einlösung bereitgestellt wird.

3.4 stETH MEV Rückkaufanalyse

Hier sind 4 stETH-Preisquellen für den BOT-Handelsblock (1 Referenz und 3 oben diskutierte Alternativen). Realisierte Preisfeeds sind Preise von implementierten Preis-Oracles (d.h. Chainlink). Dies wird mit 3 Feeds verglichen, die Curve stETH/ETH als Kern verwenden. Hier wird ein höheres Angebot zu einer Abnahme des Werts von stETH, der gegen mkUSD eingetauscht wird, und umgekehrt führen.

Basierend auf den obigen Informationen können wir die relative Menge an stETH modellieren, die durch die Einlösung von mkUSD erhalten wird, und diese basierend auf der tatsächlich erhaltenen Menge des bestehenden Orakels normalisieren. Der folgende Graph zeigt das aus mkUSD erhaltene stETH, bevor Gebühren erhoben werden, und verarbeitet die Daten, um Ausreißer zu entfernen und die Visualisierung zu verbessern.

3.5 Ergebnisse

Die Analyse zeigt einen klaren Trend: Wenn Curve stETH/ETH mit Uniswap ETH/USDC und Chainlink ETH/USD kombiniert wird, nimmt die Menge an verfügbarem stETH für die mkUSD-Einlösung ab. Daraus ergibt sich, dass eine Verringerung der Anzahl von stETH-Einheiten pro mkUSD-Einlösung zu einem Rückgang der BOT-Gewinne führt. Die bereitgestellte Visualisierung veranschaulicht den Vergleich zwischen den BOT-Gewinnen bei verschiedenen angenommenen Feed-Preisen und dem tatsächlichen Feed-Preis, unter Ausschluss von Gebühren:

Es ist offensichtlich, dass die Kombination aus Curve stETH/ETH, Uniswap ETH/USDC und Chainlink ETH/USD die Rentabilität von Rücknahmen im Vergleich zum realisierten Feed-Preis reduziert.

Teil 4: Vorgeschlagene Oracle-Verbesserungen

4.1 Hybrid-Orakel-Lösung

Angesichts der inhärenten Risiken, die sich aus der ausschließlichen Nutzung des Curve-Orakels ergeben, insbesondere in Zeiten geringer Liquidität oder Liquiditätsschwankungen, integriert die vorgeschlagene Lösung strategisch das Chainlink-Orakel als Sicherheitsmaßnahme (d. h. als Backup-Plan) im Falle von Abweichungen. Angesichts der vernachlässigbaren Möglichkeit, dass Chainlink falsche Daten liefert, kann es als zuverlässige Backup-Option dienen.

Diese Lösung fungiert als Filter, der sowohl Curve- als auch Chainlink-Preise berücksichtigt. Bedingungen werden in einer Funktion festgelegt, die als Schalter dient. Um diese Bedingung zu entwerfen, wird das Konzept eines akzeptablen Bereichs eingeführt. Dieser Bereich repräsentiert die akzeptable Differenz zwischen Chainlink- und Curve-Oracle-Preisen. Wenn die beobachtete Differenz diesen Bereich überschreitet, deutet dies auf mögliche Voreingenommenheit oder Manipulationen in den Curve-Oracle-Daten hin. In solchen Fällen mildert die Funktion potenzielle Risiken, indem sie die sichereren Chainlink-Preise bevorzugt. Wenn die Differenz hingegen innerhalb des akzeptablen Bereichs liegt, verlässt sich die Funktion auf die Genauigkeit und Präzision des Curve Oracles.

Es ist erwähnenswert, dass der akzeptable Bereich je nach Volatilität der zugrunde liegenden Vermögenswerte (z. B. ETH und verwandter LSD) als statisch oder dynamisch konfiguriert werden kann. Die dynamische Natur ermöglicht eine Anpassung an volatile Marktbedingungen und gewährleistet Elastizität und Reaktionsmechanismen bei der Preisbestimmung. Diese dual-pronged Strategie minimiert die Abhängigkeit von einer einzigen Datenquelle und verbessert so die Gesamtresilienz und Zuverlässigkeit des Preisbildungsmechanismus.

4.2 Verifizierungslösung

4.2.1 Statisch akzeptabler Bereich

Die Lösung führt eine statische Methode, acceptable_range, ein, um potenzielle Schwachstellen zu adressieren, wenn man sich allein auf das Curve Oracle verlässt. Während die von Curve Oracle generierten Preise genauer sein können als die von Chainlink, könnte es anfällig für Manipulationen sein. Chainlink hingegen ist robust und getestet und gilt als sicherere Wahl in der Branche. Wenn der Unterschied zwischen Curve Oracle und Chainlink einen festen Wert überschreitet, dient die acceptable_range als Schwellenwert, um auf den Chainlink-Feed umzuschalten.

Strategisch akzeptiert das acceptable_range Angebote, die innerhalb von ±1% der Chainlink-Angebote liegen. Dies liegt fast drei Standardabweichungen vom durchschnittlichen Unterschied zwischen Curve und Chainlink entfernt, wenn man die verbesserten stETH/ETH- und ETH/USD-Feeds im Vergleich zum vorherigen stETH/USD-Feed berücksichtigt.

4.2.2 Funktion Ausgabepreis abgeleitet

Der derived_price ist eine Funktion oder Mechanismus, der entworfen wurde, um das endgültige Angebot für ein bestimmtes Asset zu bestimmen, insbesondere in Szenarien, die das Curve-Orakel und das Chainlink-Orakel involvieren.

In der beschriebenen Lösung bewertet diese Funktion Angebote sowohl vom Curve-Orakel als auch vom Chainlink-Orakel. Basierend auf dem beobachteten Unterschied zwischen diesen beiden Preisen und ob er innerhalb oder über den vordefinierten akzeptierten Bereich fällt, gibt die Funktion unterschiedliche abgeleitete Preise aus.

Hier wird ein Vergleich des abgeleiteten Preises mit den zuvor angezeigten anderen Preisquellen durchgeführt:

BOT-Gewinne können durch diesen Derivatpreis visualisiert werden (da es keine Abweichung gibt, wird dieser Preis genau dem Curve stETH/ETH und CL stETH/ETH entsprechen), wie unten gezeigt:

Die Analyse der Gesamtgewinne kann das Gesamtbild offenbaren. Sechs Ausreißer wurden identifiziert und der Gesamtgewinn für jeden Fall wurde vor und nach der Filterung der Ausreißer berechnet.

Curve stETH/ETH und Uniswap ETH/USDC erzielen die besten Ergebnisse bei der Reduzierung des verfügbaren Gewinns für Bots. Der von ihnen bereitgestellte abgeleitete Preis hat das gleiche Gewinnpotenzial wie die aktuelle stETH-Oracle-Implementierung, begrenzt jedoch den Gewinn, unter der Annahme, dass er den Benutzern bei den analysierten 189 Transaktionen etwa 35,4 ETH erspart.

4.3 Fazit

Aufgrund der starken Abhängigkeit von Angeboten der liquidesten dezentralen Börsen für On-Chain-Aktivitäten und der Tatsache, dass MEV-Bots auch denselben Angeboten folgen, wenn sie mkUSD gegen LSD tauschen, ist die Genauigkeit der Angebote (die für die Preisfestsetzung von Rücknahmen durch das Oracle verwendet werden) von größter Bedeutung.

Historische Daten deuten darauf hin, dass die Kurvenpool-Orakelpreise im Vergleich zu den Chainlink-Preisen näher am Referenzpreis (UniswapV3-Preisdaten) liegen. Die Daten deuten darauf hin, dass die Implementierung des Kurven-Orakels die MEV für Bots reduzieren und den Benutzern, die ihre Schätze einlösen, bessere Wechselkurse bieten würde.

Die Verwendung von Curve Oracle als eigenständiges Oracle mag verlockend sein, aber die Wirksamkeit des Curve-Preis-Feedbacks hängt von der Liquiditätstiefe bestimmter Vermögenswerte und der Interaktion mit dem Pool ab. Eine hybride Oracle-Lösung mit Curve Oracle und Chainlink Oracle kann verwendet werden, um die On-Chain-Preise abzugleichen und gleichzeitig die Zuverlässigkeit und die breite Marktabdeckung zu erhalten, die vom Chainlink Oracle geerbt wurden.

Die von uns vorgeschlagene hybride Oracle-Lösung bewertet die Standardabweichung (SD), um den abgeleiteten Preis zu generieren. Wenn sich die SD 0 nähert, deutet dies auf die Einhaltung der Referenzwerte des abgeleiteten Preises hin, was es wert macht, darüber nachzudenken. Dies stellt sicher, dass die Lösung dynamisch auf die sicherere Chainlink-Quelle umschaltet, wenn sich das Curve Oracle von den vordefinierten Schwellenwerten abweicht. Da diese Lösung fast immer das Curve-Angebot von stETH ausgibt, wird angenommen, dass die MEV-Aktivität dieselbe ist wie bei der Verwendung von Curve stETH/ETH, ohne Ausfallmöglichkeit.

Anhang A: Datenverarbeitungsskripte

Die Skripte, die zur Erstellung der Analyse in diesem Bericht verwendet werden, lauten wie folgt:

  1. OracleAnalysisV4: Colab-Notizbuch für Datensammlung
  2. OracleAnalysisPlayground: Colab-Notizbuch zum Erstellen von Diagrammen unter Verwendung von Pickle-Datendateien
  3. PrismaOracleModelingV1: Colab-Notizbuch zum Plotten von MEV-Austauschaktivitätsdiagrammen
  4. DerivedPriceModeling: Colab-Notizbuch zur Prüfung und Modellierung alternativer Oracle-Lösungen

Anhang B: rETH/cbETH Restanalyse

Andere Diagramme rETH

Chainlink und Curve

Uniswap und Curve

Uniswap und Chainlink

Überprüfen Sie den Spitzenwert von rETH

Während der Beobachtungsphase gab es mehrere Spitzenwerte im Preis des rETH-Kurvenorakels. Dies führte zu einem drastischen Anstieg der Preisabweichung zwischen dem Orakelpreis und dem Spotreferenzpreis. Nachfolgend finden Sie eine detailliertere Grafik, die das Verhalten des Poolanteils/Tokenliquidität während mehrerer Preisspitzen sowie des Orakelpreises zeigt.

start_block = 18824000

end_block = 18827000

interval_blocks = 100

Mining-Pool-Verhältnis:

Oracle Preis:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Mining-Pool-Verhältnis:

Oracle Preis:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Mining-Pool-Verhältnis:

Oracle Preis:

Andere Diagramme cbETH

Chainlink und Curve

Uniswap und Curve

Uniswap und Chainlink

Überprüfen Sie Peak cbETH

Während des Beobachtungszeitraums erlebten die cbETH Curve Oracle-Preise mehrere Spitzen. Dies führte mehrmals zu erheblichen Spitzen in der Preisabweichung zwischen dem Oracle-Preis und dem Spot-Referenzpreis. Unten finden Sie eine detailliertere Grafik, die das Verhalten der Liquiditätspool-Verhältnisse/Token-Liquidität während dieser Phasen der Preisspitzen und das Verhalten der Oracle-Preise zeigt.

start_block = 18693500

end_block = 18696000

interval_blocks = 10

Mining-Pool-Verhältnis:

Oracle-Preis:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Mining-Pool-Verhältnis:

Oracle Preis:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

Mining-Pool-Verhältnis:

Oracle Preis:

Erklärung:

  1. Dieser Artikel stammt aus [marsbit], Originaltitel 'Vergleichende Analyse optionaler Orakel von Prisma', das Urheberrecht liegt beim Originalautor [PrismaRisk], bei Einwänden gegen den Nachdruck bitte kontaktierenGate Learn Team, das Team wird es so schnell wie möglich gemäß den relevanten Verfahren bearbeiten.

  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen stellen nur die persönlichen Ansichten des Autors dar und stellen keine Anlageberatung dar.

  3. Andere Sprachversionen des Artikels werden vom Gate Learn-Team übersetzt, nicht erwähnt in Gate.io, der übersetzte Artikel darf nicht reproduziert, verteilt oder plagiiert werden.

即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!