logo

Tous vos calculs d'agriculture de liquidité Uniswap v3 sont totalement faux ! Voici pourquoi

Uniswap V3 Rendement agricole

2 x 2 = 5

Vous savez que c'est faux, mais quand vous le voyez pour la première fois, vous vous questionnez et pensez : « Peut-être que quelque chose ne va pas dans mon calcul ». Droit?

Eh bien, c'est exactement ce que j'ai ressenti lorsque j'ai découvert que les chiffres de liquidité et de TVL (Total Value Locked) affichés sur l'interface utilisateur Uniswap V3 étaient complètement faux.

Uniswap est le plus grand projet de finance décentralisée ( DeFi ) sur Ethereum et l'ensemble de l' blockchain . Des milliers de fournisseurs de liquidités utilisent ces chiffres quotidiennement pour construire leurs stratégies d'investissement. Alors, comment ces chiffres pourraient-ils être inexacts ?

J'ai passé des heures à essayer de trouver une erreur dans mes calculs, et devinez quoi ? Je n'ai fait aucune erreur. Et la situation est encore pire qu'un simple TVL inexact.

Mais allons-y étape par étape et commençons par le problème.

Le problème

Tout d'abord, qu'est-ce que la TVL et comment est-elle utilisée ? En bref, defi est défini comme une valeur en dollars de tous les actifs cryptographiques actuellement délégués par les utilisateurs à une blockchain ou à un protocole. Par exemple, ces actifs peuvent être la liquidité totale d'un échange décentralisé, d'un pont ou d'un protocole de prêt, ou le total des actifs jalonnés de la blockchain PoS.

Les investisseurs du marché de la cryptographie et d'autres participants utilisent TVL pour plusieurs cas :

  1. Évaluation de la santé du protocole. C'est pourquoi les protocoles populaires affichent leur TVL sur la page principale. TVL plus grand = plus de confiance des utilisateurs = risque moindre = profit stable.
  2. Comparaison entre protocoles. Si j'étais un commerçant de crypto, je préférerais utiliser des outils DeFi , comme des échanges ou des ponts décentralisés, avec une TVL plus élevée.
  3. Mesure de la croissance du protocole. Les investisseurs qui voient que la TVL d'un protocole ou d'un projet croît rapidement considèrent qu'il s'agit d'un signal optimiste quant au prix symbolique du protocole.

On dirait qu'il est important de connaître chiffres TVL précis

Mais que se passe-t-il si je dis que les données les plus disponibles sur Uniswap v3 TVL sont trompeuses ? La plus grande surprise pour moi, cependant, a été que l'application officielle Uniswap Chart est également un problème ! Voici comment j'ai découvert.

Je travaillais sur un projet d'analyse des liquidités, comparant les données officielles sur Uniswap v3 avec mes calculs utilisant des données brutes de blockchain. Cette étape est essentielle pour se conformer aux normes de qualité des données les plus élevées. Pour commencer la vérification, j'ai choisi un pool de liquidités populaire, USDC-WETH (niveau de frais de 0,3%).

image 202
MEV Bot ajoute de la liquidité pour Ether

Regardez le pool 3 sur Uniswap v3 - il a une TVL impressionnante de 333 millions de dollars (basée sur les graphiques officiels d'Uniswap au moment de la rédaction) et un volume quotidien sain de 61 millions de dollars.

Immédiatement, j'ai rencontré un problème : ma valeur TVL calculée était de 176 millions de dollars au lieu des 333 millions de dollars signalés sur le site Web d'Uniswap. Ok, donc les bugs arrivent. Mais avant de passer au débogage, j'ai décidé de vérifier la TVL sur l' explorateur de blockchain Ethereum Etherscan . Techniquement, chaque pool Uniswap v3 est un contrat trac . Ainsi, l'explorateur de blockchain peut afficher les soldes de jetons en possession du pool, ce qu'est TVL.

image 203
Opération d'échange standard.

Je m'attendais à ce que le solde symbolique du pool soit un peu plus important que le TVL rapporté par Uniswap. En effet, le pool détient des liquidités ainsi que des frais qui ont été accumulés mais pas encore réclamés. Mais ce solde était presque la moitié du montant rapporté par Uniswap, et, étonnamment, c'était le même chiffre que mes calculs !

La comparaison de la liquidité, actif par actif, a également montré une énorme différence. À ce stade, j'ai réalisé que l'erreur n'avait rien à voir avec mes compétences en mathématiques.

photo 205
Et c'est ce que nous appelons le « sniping de liquidité ».

Mais comment cela a-t-il pu arriver ? Après des recherches, j'ai découvert qu'Uniswap s'appuie sur le service d'indexation blockchain décentralisé The Graph . Avec ce service, tout développeur peut ajouter un code d'analyse personnel (appelé sous-graphe) pour des cas d'utilisation spécifiques des données de la blockchain et rendre les analyses disponibles via l'API.

Uniswap Labs a créé ses propres sous-graphes pour l'analyse du protocole Uniswap et les a rendus disponibles via The Graph Hosted Service . La bonne chose est que son code est accessible au public . La mauvaise chose, cependant, est ses erreurs de calcul TVL.

Une brève analyse du code montre qu'il tient compte de tous les swaps et événements de liquidité, mais ne tient pas compte des frais. Les pools Uniswap ont des frais de 0,01% à 1% sur chaque échange. Cette commission est déduite des actifs négociés et revenant aux fournisseurs de liquidité. À leur tour, les fournisseurs de liquidités peuvent percevoir les frais accumulés à tout moment.

Le sous-graphique actuel d'Uniswap v3, cependant, affiche les chiffres comme si aucun frais n'avait jamais été accumulé et perçu. Ainsi, les chiffres Uniswap v3 TVL ont dévié de la réalité à chaque échange.

Vous vous demandez peut-être : "Avez-vous soumis un ticket de problème sur GitHub avant d'écrire cet article ?" Oui, c'est ma première intention après avoir découvert l'erreur. Et tu sais quoi? Ce problème est déjà enregistré , créé par un développeur principal en novembre 2021 !

Alors pourquoi ce problème n'a-t-il pas été résolu ? Je n'ai aucune idée. Peut-être que l'erreur était négligeable au moment où ce bogue a été découvert. Cependant, il s'agit d'une erreur cumulative qui augmente à chaque échange. Ainsi, à mesure que les frais et le volume des transactions dans le pool augmentent, l'écart TVL résultant de l'erreur entraînera une plus grande différence par rapport à la réalité. Et nous pouvons voir que dans un grand pool comme l'USDC-ETH avec des frais plus importants de 0,3 %, c'est devenu incontrôlable ! C'est actuellement presque le double des vrais chiffres.

Vérifions Total TVL

Ok, nous savons maintenant que les nombres TVL dans les pools individuels sont déformés. Nous allons explorer comment cela peut affecter les décisions d'investissement ci-dessous. Mais avant d'en arriver là, voyons comment ces erreurs affectent la TVL totale du protocole d'Uniswap v3. Cette TVL est rapportée à près de 12 milliards de dollars au moment de la rédaction.

Vous n'avez pas besoin d'être un spécialiste des données pour voir que quelque chose ne va pas ici.

image 207

Nous pouvons voir ci-dessus que TVL a été signalé comme augmentant lentement mais régulièrement de 500 millions de dollars à 4,5 milliards de dollars le 6 mars 2022. Puis quelque chose de fou s'est produit, et TVL a été signalé à 254 milliards de dollars le 7 mars 2022. C'est 2,5 fois plus que le la TVL la plus élevée de tout le réseau Ethereum - en UN jour ! De toute évidence, c'est une erreur dans les données. Dans les semaines suivantes, la TVL a été rapportée à 10-20 milliards de dollars.

À ce stade, j'ai perdu toute confiance dans les données analytiques d'Uniswap. Mais comment connaître la véritable TVL ? J'avais 2 options.

Option 1 - débranchez et corrigez le sous-graphe Uniswap v3. La mauvaise chose à propos de cette option est qu'il faudrait des jours pour que le sous-graphe se réindexe. Et je ne suis pas fan du langage GraphQL utilisé par The Graph.

Heureusement, j'avais l'option 2— - Datamint pour toutes les données Uniswap v3 et Ethereum , facilement disponibles pour les requêtes en ligne complexes.

Après quelques expériences, j'ai créé l'algorithme suivant pour un calcul TVL précis. Vérifiez le processus étape par étape ci-dessous.

  1. Calculez TVL pour tous les pools Uniswap v3 existants en utilisant ces deux étapes.
    1. Ajoutez tous les transferts de jetons ERC-20 vers et depuis le contrat de pool (cela inclut tous les frais non réclamés) et faites correspondre les soldes de jetons sur trac
    2. Ajoutez tous les événements de liquidité, entrants et sortants, puis ajoutez tous les événements de swap pour tenir compte des frais
  2. Comparez les deux méthodes et assurez-vous qu'il ne reste aucun écart inexpliqué
  3. Supprimer les pools abandonnés et vides avec moins de 50 échanges ou 0,00000000000001 montant de jeton (avec 7 863 pools détectés (dont 2 083 paires avec écuries), mon algorithme a supprimé 112 pools comme vides/abandonnés)
  4. Trouvez un chemin vers des pièces stables pour chaque jeton afin de convertir le pool TVL en valeur USD
  5. Supprimez les pools à faible liquidité avec des valeurs en USD cassées, car certains pools peuvent afficher des valeurs inadéquates après avoir complètement supprimé la liquidité (consultez le tableau ci-dessous à titre d'exemple)
image 208
  1. Convertissez TVL de toutes les paires restantes en valeur USD et ajoutez-les

Après plusieurs vérifications croisées, j'ai proposé un calcul TVL. Je l'ai commencé et j'ai voulu prendre un café pendant que le calcul était exécuté, mais il s'est terminé avant que je ne me lève. C'est le seul inconvénient d'utiliser une base de données analytique performante.

Êtes-vous prêt à voir le résultat ?

image 210

C'est presque 4 fois moins que les 11,8 milliards de dollars rapportés… A vous d'en tirer une conclusion.

Avertissement : Mon calcul peut contenir des erreurs. Dans les projets de données pour les entreprises clientes, nous utilisons une méthodologie documentée, des autotests et de nombreux autres outils pour obtenir la meilleure qualité de données. Ces outils seraient exagérés pour un projet de recherche personnel comme celui-ci. Cette recherche met en évidence les problèmes évidents dans les données disponibles plutôt que de fournir une solution définitive.

Ok, nous allons corriger les calculs TVL - Cela vous aidera-t-il ?

Le problème n'est pas des chiffres incorrects, mais plutôt les décisions que nous prenons en fonction de ces chiffres. Par exemple, la plupart des calculateurs de bénéfices pour les fournisseurs de liquidités utilisent ces chiffres pour les prévisions.

Cependant, il n'est pas si difficile de corriger le calcul TVL. Soit Uniswap Labs le corrige dans son code de sous-graphe, soit les développeurs de calculatrices commencent à utiliser d'autres sources de données. La question centrale est de savoir si nous pouvons être dent que les prédictions du calculateur sont correctes.

J'ai fait quelques calculs, et la réponse courte est - même pas proche .

Une affirmation audacieuse, je sais. De nombreux fournisseurs de liquidités utilisent des calculatrices existantes et influent sur des décisions qui coûtent des dizaines de millions de dollars. Mais passons en revue les étapes de calcul afin que vous puissiez vous faire votre propre opinion.

Tout d'abord, passons en revue certains concepts de base du protocole Uniswap v3.

L'une de ses principales innovations est la liquidité concentrée. Essentiellement, avec Uniswap v3, vous pouvez sélectionner la fourchette de prix dans laquelle vous souhaitez que votre argent fonctionne en tant que fournisseur de liquidités. C'est un concept étonnant qui peut apporter une grande valeur aux utilisateurs du protocole. Les fournisseurs de liquidité limitent leur exposition aux pertes impermanentes et les traders peuvent enj d'un glissement de prix plus faible lorsque la volatilité est faible. Mais tous ces potentiels ont un coût : la complexité .

image 211

Nous voulons donc comprendre comment sont calculés les revenus du fournisseur de liquidité Uniswap v3.

Dans Uniswap v3, le fournisseur de liquidité sélectionne la fourchette de prix à laquelle fournir de la liquidité. Il obtiendra sa part des frais de swap une fois que le prix se situera dans cette fourchette. À première vue, un fournisseur de liquidité souhaite que la fourchette de prix de sa position de liquidité soit la plus large possible. Cependant, la liquidité est répartie proportionnellement sur cette fourchette. Ainsi, plus la fourchette est large, plus les frais de swap sont bas pour chaque transaction.

image 211

Dans cet exemple, l'option A montre que le fournisseur de liquidité choisit une fourchette de prix plus large, et l'option 2 en montre une plus étroite avec le même montant. À condition que, dans les deux cas, le prix se situe dans la fourchette de prix choisie, le fournisseur de liquidité reçoit 3 fois plus de frais dans l'option B. Cependant, si le prix est plus volatil, le fournisseur de liquidité pourrait se retrouver avec un profit plus élevé dans l'option A.

Ainsi, en réalité, la sélection de la bonne fourchette de prix repose sur la recherche du meilleur équilibre entre le risque de manquer le prix et de recevoir un rendement inférieur sur chaque transaction.

Un autre paramètre influence le profit du fournisseur de liquidité et est souvent négligé. Je ne connais aucun calculateur de profit LP qui le considère, et ce paramètre peut tout changer. Vous vous demandez ce que c'est maintenant. C'est la distribution des LPs. Considérez l'exemple suivant :

image 212

Dans cet exemple, deux fournisseurs de liquidité (LP1 et LP2) ont des positions. LP1 a une position étroite de 3 $. LP2 a une large position de 5 $. Dans ce cas, si le prix ne sort pas de la fourchette de position de LP1, il touchera 3 fois plus de frais que LP2. C'est parce que LP2 n'a que 1 $ dans cette gamme. Et ce 1 $ est en concurrence avec 3 $ de LP1.

Si vous regardez la répartition des liquidités de n'importe quel pool Uniswap v3, vous verrez qu'elle n'est pas uniforme.

image 213

Plus la barre est haute, plus la concurrence est forte. Les fournisseurs de liquidités doivent trouver un équilibre entre le choix de fourchettes compétitives et la fourchette avec une plus faible probabilité d'impact sur les prix. C'est pourquoi cette distribution joue un rôle important dans la prévision des bénéfices et l'élaboration de la stratégie des LP. Le seul problème est… Je ne suis pas sûr que cette distribution soit calculée correctement.

Comme si cela ne suffisait pas - les tireurs d'élite de la liquidité

Être un fournisseur de liquidités consiste à deviner le prix, l'état de la concurrence et le volume des échanges. Si un LP avait un souhait, ce serait de connaître l'avenir des métiers pour ajuster en amont les positions de liquidité.

Et si je vous dis que c'est possible ?

Lors de mes recherches, certains fournisseurs de liquidités inhabituels ont attiré mon attention. Ils ont ajouté et supprimé des positions de liquidité importantes (plus de 10 millions de dollars) plusieurs fois par jour. Plus surprenant encore, ils ont toujours ajouté et retiré de la liquidité dans le même bloc.

Regardons un exemple :

image 214

Nous avons trois transactions, toutes dans le bloc 15413416, positions 3-5, exécutées dans l'ordre ascendant. La première transaction, avec la méthode Execute, est un contrat nommé « MEV Bot », ajoutant 22 millions de dollars de liquidités au pool USDC- trac .

image 215

La deuxième transaction est un échange de l'USDC vers DogeChain via WETH. Il s'agit d'un échange ordinaire d'une valeur d'environ 16 500 $.

image 216

La troisième transaction est à nouveau "MEV Bot", supprimant 22 millions de dollars de liquidités du pool USDC-WETH.

image 217

Ce qui s'est passé dans l'exemple s'appelle un « sniping de liquidité ». Laissez-moi vous expliquer comment cela a fonctionné :

  1. Quelqu'un a envoyé une transaction pour échanger USDC contre DogeChain
  2. MEV Bot a détecté cette transaction dans le mempool et a activé un lien privé avec un pool de minage utilisant la technologie Flashbots ou quelque chose de similaire
  3. MEV Bot a payé les mineurs pour inclure une transaction d'échange et deux transactions dans un ordre spécifique qui a permis l'extraction de trac
  4. MEV Bot a ajouté tellement de liquidités (22 millions de dollars) à une fourchette de prix très étroite, si bien que tous les bénéfices des frais de cette transaction USDC-DogeChain spécifique lui ont été attribués
  5. MEV Bot a ensuite supprimé la liquidité et les frais gagnés (environ 35 $)

Ainsi, son bénéfice brut après les frais d'essence était d'environ 30 $. Pas beaucoup? Oui, mais il exécute cette stratégie plusieurs fois par minute, ce qui s'additionne. Vous pouvez le vérifier vous-même .

Qu'est-ce que cela signifie pour vous en tant que fournisseur de liquidités ? Cela signifie que les tireurs d'élite de la liquidité pourraient prendre une part importante de vos bénéfices sur les frais.

Conclusion

Permettez-moi de résumer mes résultats de recherche:

  1. Les chiffres TVL dans les graphiques Uniswap v3 sont grossièrement inexacts. Les mêmes erreurs existent dans tous les outils d'analyse reposant sur le sous-graphe officiel Uniswap v3.
  2. Le total d'Uniswap v3 TVL est de 3,14 milliards de dollars contre 11,8 milliards de dollars rapporté par le site officiel (au moment de la rédaction).
  3. Les calculatrices pour les fournisseurs de liquidité Uniswap v3 ont peu de valeur pour les stratégies réelles car elles ne tiennent pas compte de la concurrence et des snipers de liquidité.
image 218

Heureusement, vous pouvez désormais mieux comprendre le fonctionnement réel des pools de liquidités Uniswap v3 et ajuster votre recherche en conséquence.

Je ne suis pas en mesure de donner des conseils financiers, mais je ne vois que 2 options pour construire une stratégie d'apport de liquidités de premier plan :

  1. SIMPLE . Utilisez les données de performances historiques. Essayez quelques positions de liquidité avec de petites mises et voyez quelles options fonctionnent le mieux. Évidemment, cela ne fonctionne que sous l'hypothèse que le marché est stable.
  2. AVANCÉ . Mener des recherches et optimiser la stratégie LP en conséquence. Comme nous l'avons vu ci-dessus, cela nécessite une compréhension approfondie du protocole Uniswap v3, des compétences en mathématiques et en théorie des jeux, et un puissant outil d'analyse de données pour traiter d'énormes quantités de données en temps réel.

Les deux options ont une chose en commun : vous fondez vos décisions sur des données plutôt que sur une intuition ou des outils aléatoires. Parfois, travailler avec des données est difficile, mais cela en vaut la peine.

Que les données soient avec vous !

Ivan Vakhmianine

Ivan Vakhmyanin

Ivan Vakhmyanin est un expert en analyse et visualisation de données (BI, Big Data, Data Science) avec des années d'expérience. Il est également un adepte de la blockchain et du Web 3.0, rendant les données en chaîne des principales plateformes de blockchain ( Ethereum , BNB Smart Chain, Solana , etc.) disponibles pour analyse. Ivan est passionné par le partage d'expérience en développant des formations et des programmes dans le domaine de la gestion axée sur les données pour les spécialistes et les cadres.

Nouvelles connexes

Histoires chaudes

Collector Crypt clôt la ronde de semences compétitives
JeuxServer et le WWF collaborent dans un projet d'utilisation de la "poubelle NFT" et de sauvegarde de l'océan
Réalité virtuelle et métaverse : histoire et développement
Comment la blockchain va-t-elle transformer l'industrie du jeu vidéo ?
Analyse du prix du Bitcoin : BTC descend à 22 917 $, alors que les baissiers perturbent la tendance haussière

Suivez-nous

Nouvelles de l'industrie

La SEC américaine prévoit d'examiner les sociétés de conseil en cryptographie en 2023
L'ancien banquier de JP Morgan dirige la division Asie-Pacifique de SEBA
La banque russe Gazprombank s'inquiète de l'impact du rouble numérique sur fiat
Les jetons AI surpassent BTC - Que sont-ils ?
Web3 va à l'école en Inde : Algorand annonce des partenariats qui changent la donne

Ajoutez votre texte d'en-tête ici