Cargando...

¡Todos sus cálculos de agricultura de liquidez de Uniswap v3 están completamente equivocados! Este es el por qué

2x2 = 5

Sabes que está mal, pero cuando lo ves por primera vez, te cuestionas a ti mismo y piensas: "Tal vez algo está mal con mi cálculo". ¿Derecha?

Bueno, eso es exactamente lo que sentí cuando descubrí que las cifras de liquidez y TVL (Valor total bloqueado) que se muestran en la interfaz de usuario de Uniswap V3 eran completamente incorrectas.

Uniswap es el mayor proyecto de finanzas descentralizadas ( DeFi ) en Ethereum y en toda bloques . Miles de proveedores de liquidez utilizan estas cifras a diario para desarrollar sus estrategias de inversión. Entonces, ¿cómo es posible que estas cifras sean inexactas?

He pasado horas tratando de encontrar un error en mis cálculos y ¿adivinen qué? No cometí ningún error. Y la situación es incluso peor que un TVL inexacto.

Pero vayamos paso a paso y empecemos por el problema.

El problema

En primer lugar, ¿qué es TVL y cómo se usa? En resumen, defi se define como el valor en dólares de todos los criptoactivos actualmente delegados por los usuarios a una cadena de bloques o protocolo. Por ejemplo, estos activos pueden ser la liquidez total de un intercambio descentralizado, un puente o un protocolo de préstamo, o los activos totales en juego de la cadena de bloques PoS.

Los inversores del criptomercado y otros participantes usan TVL para múltiples casos:

  1. Evaluación del protocolo sanitario. Es por eso que los protocolos populares cuentan con su TVL en la página principal. Mayor TVL = más confianza del usuario = menor riesgo = beneficio estable.
  2. Comparación entre protocolos. Si fuera un comerciante de criptomonedas, preferiría usar herramientas DeFi , como intercambios descentralizados o puentes, con TVL más alto.
  3. Medición del crecimiento del protocolo. Los inversores que ven que el TVL de un protocolo o proyecto está creciendo rápidamente lo consideran una señal de optimismo sobre el precio del token del protocolo.

Parece que es importante conocer números de TVL precisos

Pero, ¿y si digo que la mayoría de los datos disponibles sobre Uniswap v3 TVL son engañosos? Sin embargo, la mayor sorpresa para mí fue que la aplicación oficial Uniswap Chart también es un problema. Así es como me enteré.

Estaba trabajando en un proyecto de análisis de liquidez, comparando datos oficiales en Uniswap v3 con mis cálculos utilizando datos de blockchain sin procesar. Este paso es vital para cumplir con los más altos estándares de calidad de datos. Para comenzar la verificación, elegí un grupo de liquidez popular, USDC-WETH (nivel de tarifa del 0,3 %).

imagen 202
MEV Bot agrega liquidez para Ether

Mire el grupo 3 en Uniswap v3: tiene un TVL impresionante de $ 333 millones (según los gráficos oficiales de Uniswap al momento de escribir este artículo) y un volumen diario saludable de $ 61 millones.

Inmediatamente me encontré con un problema: mi valor de TVL calculado era de $176 millones en lugar de los $333 millones informados en el sitio web de Uniswap. Ok, entonces los errores suceden. Pero antes de saltar a la depuración, decidí verificar el TVL en el explorador de blockchain de Ethereum Etherscan . Técnicamente, cada pool de Uniswap v3 es un contrato trac . Entonces, el explorador de blockchain puede mostrar los saldos de tokens en posesión del grupo, que es lo que es TVL.

imagen 203
Transacción de swap estándar.

Esperaba que el saldo de tokens del grupo fuera un poco más grande que el TVL informado por Uniswap. Esto se debe a que el grupo tiene liquidez y tarifas que se han acumulado pero que aún no se han reclamado. Pero este saldo era casi la mitad de la cantidad reportada por Uniswap y, sorprendentemente, ¡era la misma cifra que mis cálculos!

La comparación de la liquidez, activo por activo, también mostró una gran diferencia. En este punto, me di cuenta de que el error no tenía nada que ver con mis habilidades matemáticas.

imagen 205
Y esto es lo que llamamos “sniping de liquidez”.

Pero, ¿cómo pudo suceder esto? Después de investigar, descubrí que Uniswap se basa en el servicio de indexación de blockchain descentralizado The Graph . Con este servicio, cualquier desarrollador puede agregar un código de análisis personal (llamado subgráfico) para casos de uso de datos de blockchain específicos y hacer que los análisis estén disponibles a través de la API.

Uniswap Labs ha creado sus propios subgráficos para el análisis del protocolo Uniswap y los ha puesto a disposición a través de The Graph Hosted Service . Lo bueno es que su código está disponible públicamente . Lo malo, sin embargo, son sus errores de cálculo de TVL.

Un breve análisis del código muestra que da cuenta de todos los swaps y eventos de liquidez, pero no da cuenta de las tarifas. Los grupos de Uniswap tienen una tarifa de 0.01% a 1% en cada intercambio. Esta tarifa se deduce de los activos negociados y se acumula para los proveedores de liquidez. A su vez, los proveedores de liquidez pueden cobrar las tarifas acumuladas en cualquier momento.

Sin embargo, el subgráfico actual de Uniswap v3 muestra las cifras como si nunca se hubieran acumulado ni cobrado tarifas. Entonces, las cifras de TVL de Uniswap v3 se desviaron de la realidad con cada intercambio.

Quizás se pregunte: "¿Envió un ticket de emisión en GitHub antes de escribir este artículo?" Sí, esa es mi primera intención después de descubrir el error. ¿Y sabes qué? ¡Ese problema ya está registrado , creado por un desarrollador central en noviembre de 2021!

Entonces, ¿por qué no se solucionó este problema? No tengo ni idea. Tal vez el error era insignificante en el momento en que se descubrió este error. Sin embargo, este es un error acumulativo que crece con cada intercambio. Por lo tanto, a medida que crecen las tarifas y el volumen de transacciones en el grupo, la discrepancia de TVL resultante del error resultará en una mayor diferencia con respecto a la realidad. Y podemos ver que en un grupo grande como USDC-ETH con una tarifa mayor del 0,3 %, ¡se ha salido de control! Actualmente es casi el doble de las cifras reales.

Verifiquemos TVL total

Ok, ahora sabemos que los números de TVL en grupos individuales están distorsionados. Exploraremos cómo esto puede afectar las decisiones de inversión a continuación. Pero antes de llegar a eso, veamos cómo estos errores afectan el TVL total del protocolo de Uniswap v3. Este TVL se informa en casi $ 12 mil millones en el momento de escribir este artículo.

No tienes que ser un científico de datos para ver que algo anda mal aquí.

imagen 207

Podemos ver arriba que se informó que TVL creció lenta pero constantemente de $ 500 millones a $ 4.5 mil millones el 6 de marzo de 2022. Luego sucedió algo loco, y se informó que TVL fue de $ 254 mil millones el 7 de marzo de 2022. Eso es 2,5 veces más que el TVL más alto de toda la red de Ethereum , ¡en UN día! Claramente, es un error en los datos. En las siguientes semanas, el TVL se informó como $ 10-20b.

En este punto, perdí toda confianza en los datos analíticos de Uniswap. Pero, ¿cómo podemos saber el verdadero TVL? tenia 2 opciones

Opción 1: bifurcar y arreglar el subgráfico Uniswap v3. Lo malo de esta opción es que el subgrafo tardaría días en reindexarse. Y no soy un fanático del lenguaje GraphQL que usa The Graph.

Afortunadamente, tenía la opción 2: Datamint para todos los datos de Uniswap v3 y Ethereum , disponibles para consultas complejas en línea.

Después de algunos experimentos, he creado el siguiente algoritmo para el cálculo preciso de TVL. Consulta el proceso paso a paso a continuación.

  1. Calcule TVL para todos los grupos Uniswap v3 existentes utilizando estos dos pasos.
    1. Agregue todas las transferencias de tokens ERC-20 hacia y desde el contrato del grupo (esto incluye todas las tarifas no reclamadas) y haga coincidir los saldos de tokens trac
    2. Agregue todos los eventos de liquidez, entrantes y salientes, luego agregue todos los eventos de intercambio para contabilizar las tarifas
  2. Compare los dos métodos y asegúrese de que no queden discrepancias sin explicación
  3. Elimine grupos abandonados y vacíos con menos de 50 intercambios o 0,000000000000001 cantidad de token (con 7863 grupos detectados (incluidos 2083 pares con establos), mi algoritmo eliminó 112 grupos como vacíos/abandonados)
  4. Encuentre un camino hacia las monedas estables para cada token para convertir el TVL del grupo a valor en USD
  5. Elimine los grupos de baja liquidez con valores de USD rotos, ya que algunos grupos pueden mostrar valores inadecuados después de eliminar por completo la liquidez (consulte el gráfico a continuación como ejemplo)
imagen 208
  1. Convierta TVL de todos los pares restantes a valor en USD y agréguelos

Después de varias comprobaciones cruzadas, se me ocurrió un cálculo de TVL. Lo puse en marcha y quería tomar un café mientras se ejecutaba el cálculo, pero terminó antes de que me pusiera de pie. Este es el único inconveniente de utilizar una base de datos analítica de alto rendimiento.

¿Estás listo para ver el resultado?

imagen 210

Es casi 4 veces menos que los 11,8 billones de dólares informados... Depende de usted sacar una conclusión.

Descargo de responsabilidad : Mi cálculo puede contener errores. En proyectos de datos para clientes empresariales, utilizamos metodología documentada, autotests y muchas otras herramientas para lograr la más alta calidad de datos. Estas herramientas serían excesivas para un proyecto de investigación personal como este. Esta investigación destaca los problemas obvios en los datos disponibles en lugar de proporcionar una solución final.

Bien, corregiremos los cálculos de TVL. ¿Ayudará?

El problema no son los números incorrectos, sino las decisiones que tomamos en función de esos números. Por ejemplo, la mayoría de las calculadoras de ganancias para proveedores de liquidez usan estos números para hacer predicciones.

Sin embargo, no es tan difícil arreglar el cálculo de TVL. O Uniswap Labs lo arregla en su código de subgráfico o los desarrolladores de calculadoras comienzan a usar otras fuentes de datos. La pregunta central es si podemos estar seguros de que las dent de la calculadora son correctas.

Hice algunos cálculos, y la respuesta corta es: ni siquiera cerca .

Una afirmación audaz, lo sé. Muchos proveedores de liquidez usan calculadoras existentes y toman decisiones que cuestan decenas de millones de dólares. Pero repasemos los pasos de cálculo para que puedas hacer tu propio juicio.

Primero, repasemos algunos conceptos básicos del protocolo Uniswap v3.

Una de sus principales novedades es la liquidez concentrada. En esencia, con Uniswap v3, puede seleccionar el rango de precios en el que desea que su dinero funcione como proveedor de liquidez. Este es un concepto sorprendente que puede aportar un gran valor a los usuarios del protocolo. Los proveedores de liquidez limitan su exposición a pérdidas transitorias y los operadores pueden enj caídas de precios menores cuando la volatilidad es baja. Pero todos estos potenciales tienen un costo : complejidad .

imagen 211

Entonces, queremos entender cómo se calculan las ganancias del proveedor de liquidez Uniswap v3.

En Uniswap v3, el proveedor de liquidez selecciona el rango de precios para proporcionar liquidez. Obtendrá su parte de las tarifas de intercambio una vez que el precio esté dentro de este rango. A primera vista, un proveedor de liquidez desea que el rango de precios de su posición de liquidez sea lo más amplio posible. Sin embargo, la liquidez se distribuye proporcionalmente en este rango. Por lo tanto, cuanto más amplio sea el rango, menor será la tarifa de intercambio para cada operación.

imagen 211

En este ejemplo, la opción A muestra al proveedor de liquidez eligiendo un rango de precios más amplio, y la opción 2 muestra uno más estrecho con la misma cantidad. Siempre que, en ambos casos, el precio esté dentro del rango de precios elegido, el proveedor de liquidez obtiene 3 veces más comisiones en la opción B. Sin embargo, si el precio es más volátil, el proveedor de liquidez podría terminar con una mayor ganancia en la opción A.

Entonces, en realidad, seleccionar el rango de precios correcto depende de encontrar el mejor equilibrio entre el riesgo de perder el precio y recibir un rendimiento más bajo en cada operación.

Un parámetro más influye en las ganancias del proveedor de liquidez y, a menudo, se pasa por alto. No conozco ninguna calculadora de ganancias de LP que lo considere, y este parámetro puede cambiarlo todo. Te estarás preguntando qué es esto ahora. Es la distribución de los LPs. Considere el siguiente ejemplo:

imagen 212

En este ejemplo, dos proveedores de liquidez (LP1 y LP2) tienen posiciones. LP1 tiene una posición estrecha de $3. LP2 tiene una posición amplia de $5. En este caso, si el precio no sale del rango de la posición de LP1, obtendrá 3 veces más comisiones que LP2. Eso es porque LP2 tiene solo $1 en este rango. Y este $1 está compitiendo con $3 de LP1.

Si observa la distribución de liquidez de cualquier grupo de Uniswap v3, verá que no es uniforme.

imagen 213

Cuanto más alta sea la barra, mayor será la competencia. Los proveedores de liquidez deben encontrar el equilibrio entre la elección de rangos competitivos y el rango con una menor probabilidad de impacto en el precio. Es por eso que esta distribución juega un papel importante en la predicción de ganancias y la creación de estrategias de LP. El único problema es... No estoy seguro de que esta distribución se calcule correctamente.

Como si eso no fuera suficiente: francotiradores de liquidez

Ser un proveedor de liquidez se trata de adivinar el precio, el estado de la competencia y el volumen comercial. Si un LP tuviera un deseo, sería conocer el futuro de las operaciones para ajustar posiciones de liquidez de antemano.

Pero, ¿y si te digo que es posible?

Mientras investigaba, me llamaron la atención algunos proveedores de liquidez inusuales. Agregaron y eliminaron posiciones de liquidez significativas (más de $ 10 millones) muchas veces al día. Aún más sorprendente, siempre agregaron y quitaron liquidez en el mismo bloque.

Veamos un ejemplo:

imagen 214

Tenemos tres transacciones, todas en el bloque 15413416, posiciones 3-5, ejecutadas en orden ascendente. La primera transacción, con el método Execute, es un trac denominado “MEV Bot”, que agrega $22 millones de liquidez al grupo USDC-WETH.

imagen 215

La segunda transacción es un intercambio de USDC a DogeChain a través de WETH. Este es un swap ordinario con un valor aproximado de $16,500.

imagen 216

La tercera transacción es "MEV Bot" nuevamente, eliminando $ 22 millones de liquidez del grupo USDC-WETH.

imagen 217

Lo que sucedió en el ejemplo se llama "francotiradores de liquidez". Déjame explicarte cómo funcionó esto:

  1. Alguien envió una transacción para cambiar USDC a DogeChain
  2. MEV Bot detectó esta transacción en el mempool y activó un enlace privado con un pool de minería usando tecnología Flashbots o algo similar
  3. MEV Bot pagó a los mineros para incluir una transacción de intercambio y dos transacciones en un orden específico que permitió la trac de valor
  4. MEV Bot agregó tanta liquidez ($ 22 millones) a un rango de precios muy estrecho, por lo que efectivamente, todas las ganancias de las tarifas de ese comercio específico de USDC-DogeChain se acumularon para él
  5. MEV Bot luego eliminó la liquidez y ganó tarifas (alrededor de $ 35)

Entonces, su ganancia bruta después de las tarifas de gas fue de alrededor de $30. ¿No mucho? Sí, pero ejecuta esta estrategia varias veces por minuto, lo que suma. Puedes comprobarlo tú mismo .

¿Qué significa esto para usted como proveedor de liquidez? Significa que los francotiradores de liquidez podrían tomar una parte significativa de sus ganancias por comisiones.

Conclusión

Permítanme resumir los hallazgos de mi investigación:

  1. Las cifras de TVL en Uniswap v3 Charts son muy imprecisas. Los mismos errores existen en todas las herramientas analíticas que se basan en el subgráfico oficial de Uniswap v3.
  2. El TVL total de Uniswap v3 es de $ 3,14 mil millones frente a $ 11,8 mil millones informado por el sitio web oficial (al momento de escribir este artículo).
  3. Las calculadoras para los proveedores de liquidez Uniswap v3 tienen poco valor para las estrategias de la vida real porque no tienen en cuenta la competencia y los francotiradores de liquidez.
imagen 218

Afortunadamente, ahora puede comprender mejor cómo funcionan los grupos de liquidez de Uniswap v3 en la vida real y puede ajustar su investigación en consecuencia.

No estoy en condiciones de brindar asesoramiento financiero, pero solo veo 2 opciones para construir una estrategia prominente de provisión de liquidez:

  1. SIMPLE . Utilice datos históricos de rendimiento. Pruebe algunas posiciones de liquidez con apuestas pequeñas y vea qué opciones funcionan mejor. Obviamente, esto funciona solo bajo el supuesto de que el mercado es estable.
  2. AVANZADO . Realice investigaciones y optimice la estrategia de LP en consecuencia. Como cubrimos anteriormente, eso requiere una comprensión profunda del protocolo Uniswap v3, competencias matemáticas y de teoría de juegos, y una poderosa herramienta de análisis de datos para procesar grandes cantidades de datos en tiempo real.

Ambas opciones tienen una cosa en común: está basando sus decisiones en datos en lugar de una intuición o herramientas aleatorias. A veces, trabajar con datos es difícil, pero vale la pena.

¡Que los datos te acompañen!

Compartir enlace:

Ivan Vakhmyanin

Ivan Vakhmyanin es un experto en visualización y análisis de datos (BI, Big Data, Data Science) con años de experiencia. También es un experto en blockchain y Web 3.0, lo que hace que los datos en cadena de las principales plataformas de blockchain ( Ethereum , BNB Smart Chain, Solana , etc.) estén disponibles para su análisis. Ivan es un apasionado de compartir experiencias desarrollando programas educativos y en el campo de la gestión basada en datos para especialistas y ejecutivos.

Cargando los artículos más leídos...

Manténgase al tanto de las noticias sobre criptomonedas y reciba actualizaciones diarias en su bandeja de entrada

Noticias relacionadas

La economía de China no muestra signos de recuperación: el FMI tiene una sugerencia
criptopolitano
Suscríbete a CryptoPolitan