La dernière implémentation de la piscine stable de Curve Finance inclut un Oracle de piscine interne, qui calcule la moyenne mobile exponentielle (EMA) pour dériver des données de prix résistantes à la manipulation. Alors que les intégrateurs ont commencé à explorer l'utilisation de l'Oracle dans d'autres applications DeFi, l'Oracle est principalement utilisé pour garantir la sécurité des garanties sur le marché crvUSD de Curve.
L'objectif principal de ce rapport est de déterminer si l'oracle de Curve Finance peut servir de solution fiable en remplacement de Chainlink pour les jetons ETH LSD. Cette étude implique une analyse statistique de l'efficacité de l'oracle de prix de Curve, comparant sa volatilité, sa précision et sa performance globale avec les prix de référence Uniswap (supposés être des prix précis on-chain).
L'analyse est divisée en deux études connexes:
Analyse résiduelle des oracles stETH : Une étude comparative entre Chainlink et Curve, utilisant des données historiques pour déterminer l'écart de l'oracle par rapport à la moyenne et à l'écart type du prix de référence.
Analyse de rachat stETH MEV : Une étude comparative entre Chainlink et l'Oracle on-chain, utilisant des données historiques pour examiner les événements de rachat sur Prisma et estimer la rentabilité des robots et le comportement attendu en utilisant d'autres Oracles.
Après analyse, nous fournissons des spécifications préliminaires pour l'Oracle, en attendant des améliorations dans la déviation du prix de l'Oracle tout en garantissant la fiabilité de l'Oracle. La solution proposée peut servir de plan directeur initial pour d'autres études visant à optimiser l'Oracle.
La performance de l'Oracle est cruciale pour les utilisateurs de Prisma car les arbitragistes peuvent avoir des opportunités de profit à partir des différences entre les prix de l'Oracle et les prix au comptant. S'assurer de l'utilisation du retour de prix le plus précis lors de la liquidation et du rachat, sans sacrifier la sécurité des sources de tarification, est conforme aux meilleurs intérêts du protocole Prisma et de ses dépositaires du trésor.
Deux fonctions Oracle au sein de Prisma sont décrites comme suit :
Ratio de garantie individuelle (ICR) - Sur la base de l'écart type des résidus, Curve affiche une volatilité plus faible par rapport à Chainlink par rapport aux prix de référence, et cela reste cohérent pour les actifs observés, bien que l'écart type entre cbETH pour Chainlink et Curve soit similaire.- Selon le tableau ci-dessus, en analysant les moyens, on peut observer que Chainlink sous-estime les prix des actifs par rapport aux prix de référence de Uniswap. Curve est plus étroitement aligné sur les prix de référence, mais a aussi tendance à sous-estimer légèrement les prix par rapport aux prix de référence de Uniswap.- Un bémol à ces résultats est que malgré la supériorité globale de Curve Oracle par rapport à Chainlink observée ici, rETH et cbETH ont connu des écarts brusques et de courte durée, comme référencé dans l'annexe B : Analyse résiduelle rETH/cbETH. Cela est attribué à la relative illiquidité des pools, à l'activité faible et à l'inadéquation des anciennes implémentations de pool pour l'intégration. Cependant, des recherches supplémentaires sont nécessaires pour déterminer les métriques de référence nécessaires pour des Oracles de pool Curve fiables de manière appropriée.## Section 3: Analyse de rachat de MEV stETH### 3.1 ObjectifsL'analyse vise à comparer les prix de mise en œuvre des événements de rachat dans le gestionnaire de trésorerie wstETH avec les prix hypothétiques cités à l'aide de données historiques par des oracles alternatifs sur chaîne. Les résultats de l'étude fourniront des premières indications sur le comportement des oracles décentralisés et centralisés, permettant une évaluation plus détaillée dans des recherches ultérieures.
Le but de cette analyse est de déterminer si l'oracle actuel fournit la meilleure solution de performance dans des scénarios spécifiques de rachat ou si des améliorations peuvent être apportées grâce à la mise en œuvre de solutions on-chain ou hybrides, en utilisant les oracles de pool EMA de Curve.
Pour cette analyse, le prix stETH réalisé est calculé en divisant le montant racheté de mkUSD par le montant de stETH perdu par le gestionnaire de la réserve sous forme de wstETH. Pour déterminer la quantité de stETH, nous devons prendre en compte les wstETH reçus lors du rachat plus les wstETH dépensés sous forme de frais et les convertir en stETH. Si une autre source offre constamment des profits inférieurs aux racheteurs, nous pouvons dire que leur performance de MEV est meilleure que le prix réel.
Le gestionnaire de trésorerie wstETH Trove est utilisé pour récupérer tous les hachages de transactions lors de l'obtention de mkUSD en échange. Les transactions où l'adresse qui rachète mkUSD reçoit et brûle mkUSD sont considérées comme des transactions BOT. Des requêtes détaillées pour les événements de rachat peuvent être trouvées ici : Dune query_3352919. Cette requête est essentielle pour récupérer toutes les données des transactions BOT.

Basé sur les données ci-dessus, nous pouvons construire trois flux de prix en utilisant le prix Curve Oracle stETH/ETH, et les fusionner avec ETH/USD pour dériver stETH/USD. Après cette opération, nous obtenons les données suivantes pour la visualisation :

Les données ci-dessus fournissent le prix stETH en USD, qui peut être analysé en fonction des prix stETH réalisés à partir de toutes les transactions de BOT. Le stETH réalisé (en USD) est simplement utilisé pour calculer le prix stETH pour chaque mkUSD fourni lors du rachat.

Basé sur les informations ci-dessus, nous pouvons modéliser la quantité relative de stETH reçue en échange de mkUSD et la normaliser en fonction de la quantité réellement reçue de l'oracle existant. Le graphique suivant affiche le stETH obtenu à partir de mkUSD avant que des frais ne soient facturés et traite les données pour éliminer les valeurs aberrantes afin d'améliorer la visualisation :


Il est évident que la combinaison de Curve stETH/ETH, Uniswap ETH/USDC et Chainlink ETH/USD réduit la rentabilité des rachats par rapport au prix d'alimentation réalisé.
Cette solution agit comme un filtre, en considérant à la fois les prix de Curve et de Chainlink. Des conditions sont établies au sein d'une fonction, servant de commutateur. Pour concevoir cette condition, le concept d'une plage acceptable est introduit. Cette plage représente la différence acceptable entre les prix des oracles de Chainlink et de Curve. Lorsque la différence observée dépasse cette plage, cela indique un possible biais ou une manipulation des données de l'oracle de Curve. Dans de tels cas, la fonction atténue les risques potentiels en favorisant les prix de Chainlink plus sécurisés. En revanche, lorsque la différence se situe dans la plage acceptable, la fonction s'appuie sur l'exactitude et la précision de l'oracle de Curve.
Il convient de noter que la plage acceptable peut être configurée de manière statique ou dynamique, en fonction de la volatilité des actifs sous-jacents (par exemple, ETH et LSD associé). La nature dynamique permet de s'adapter aux conditions du marché volatiles, garantissant l'élasticité et les mécanismes de réponse dans la détermination des prix. Cette stratégie à double volet réduit au minimum la dépendance à une seule source de données, renforçant ainsi la résilience et la fiabilité globale du mécanisme de tarification.
Stratégiquement, l'acceptable_range accepte les devises qui se situent dans une fourchette de ±1% par rapport aux devises Chainlink. Cela représente près de trois écarts-types de la différence moyenne entre Curve et Chainlink, en tenant compte des flux améliorés de stETH/ETH et ETH/USD par rapport au flux précédent de stETH/USD.

Le derived_price est une fonction ou un mécanisme conçu pour déterminer le devis final pour un actif donné, en particulier dans les scénarios impliquant l'oracle Curve et l'oracle Chainlink.
Dans la solution décrite, cette fonction évalue les devis provenant à la fois de l'oracle Curve et de l'oracle Chainlink. En fonction de la différence observée entre ces deux prix et de savoir si elle se situe dans la plage acceptée prédéfinie ou la dépasse, la fonction produit des prix dérivés différents.
Voici une comparaison de derived_price avec les autres sources de prix précédemment affichées :

Les bénéfices du BOT peuvent être visualisés par ce prix dérivé (puisque qu'il n'y a pas de déviation, ce prix sera exactement égal à Curve stETH/ETH et CL stETH/ETH) comme indiqué ci-dessous :

Analyser les bénéfices totaux peut révéler le tableau d'ensemble. Six valeurs aberrantes ont été identifiées et le bénéfice total pour chaque cas a été calculé avant et après avoir filtré les valeurs aberrantes.

Curve stETH/ETH et Uniswap ETH/USDC sont les meilleurs pour réduire le profit disponible pour les BOTs. Le prix dérivé qu'ils fournissent a le même potentiel de profit que l'implémentation actuelle de l'Oracle stETH, mais limite le profit, en supposant qu'il économise environ 35,4 ETH aux utilisateurs sur les 189 transactions analysées.
Les données historiques suggèrent que les prix de l'Oracle du pool Curve sont plus proches de la référence (données de prix UniswapV3) par rapport aux prix Chainlink. Les données indiquent que la mise en œuvre de l'Oracle Curve réduirait le MEV pour les robots et fournirait de meilleurs taux de change pour les utilisateurs qui rachètent leurs trésors.
Bien que l'utilisation de Curve Oracle en tant qu'Oracle autonome puisse être tentante, l'efficacité de la rétroaction de prix de Curve dépend de la profondeur de liquidité des actifs spécifiques et de l'interaction avec le pool. Une solution Oracle hybride avec Curve Oracle et Chainlink Oracle peut être utilisée pour correspondre aux prix on-chain tout en conservant la fiabilité et la couverture du marché étendue héritée de Chainlink Oracle.
La solution hybride Oracle que nous proposons évalue l'écart type (SD) pour générer derived_price. Si l'écart type approche 0, cela indique une adhérence aux valeurs de référence derived_price, ce qui vaut la peine d'être considéré. Cela garantit que lorsque Curve Oracle s'écarte des seuils prédéfinis, la solution bascule dynamiquement vers la source Chainlink plus sûre. Comme cette solution produit presque toujours la cotation de stETH sur Curve, on suppose que l'activité MEV est la même que l'utilisation de stETH/ETH sur Curve, sans recours.
Annexe A: Scripts de traitement de données
Les scripts utilisés pour générer l'analyse dans ce rapport sont les suivants:
Autres graphiques rETH
Chainlink et Curve

Uniswap et Curve

Uniswap et Chainlink

Vérifiez le pic rETH
Pendant la période d'observation, le prix de l'oracle rETH a atteint plusieurs fois des sommets, ce qui a entraîné une augmentation significative de l'écart de prix entre le prix de l'oracle et la référence au comptant. Voici un graphique plus détaillé montrant le comportement du ratio de pool de liquidité/token et du prix de l'oracle pendant plusieurs périodes de pic de prix.

start_block = 18824000
end_block = 18827000
interval_blocks = 100
Ratio de pool minier :

Prix Oracle :

start_block = 18850000
end_block = 18858000
interval_blocks = 100
Ratio du pool de minage :

Prix Oracle :

start_block = 18880000
end_block = 18885000
interval_blocks = 100
Ratio du pool de minage :

Prix Oracle :

Autres graphiques cbETH
Chainlink et Curve

Uniswap et Curve

Uniswap et Chainlink

Vérifiez Peak cbETH
Pendant la période d'observation, les prix de l'Oracle cbETH Curve ont connu plusieurs pics. À plusieurs reprises, cela a entraîné des pics significatifs dans l'écart de prix entre le prix de l'Oracle et la référence spot. Ci-dessous se trouve un graphique plus détaillé montrant le comportement des ratios de pool de liquidité/liquidité des jetons pendant ces périodes de poussées de prix et le comportement des prix de l'Oracle.

start_block = 18693500
end_block = 18696000
interval_blocks = 10
Ratio du pool de minage :

Prix Oracle:

start_block = 18814000
end_block = 18816500
interval_blocks = 10
Ratio de pool minier :

Prix Oracle :

start_block = 18800000
end_block = 18805000
interval_blocks = 10
Ratio du pool minier :

Prix Oracle :

Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les opinions personnelles de l'auteur et ne constituent pas des conseils en investissement.
D'autres versions linguistiques de l'article sont traduites par l'équipe Gate Learn, non mentionnées dans[](http://Gate.comGate.com, l'article traduit ne peut être reproduit, distribué ou plagié.





