Recientemente estoy haciendo un resumen de los métodos de evaluación de la pista DeFi. Después de estudiar algunos casos, Uniswap es un representante típico en términos de influencia y lógica iterativa.

La lógica interna de la iteración de Uniswap de V1 a V4, así como el lanzamiento del protocolo UniswapX, es la innovación funcional y la optimización del mecanismo para las transacciones DEX.

V1 implementó inicialmente AMM en el campo del cifrado, V2 redujo la exposición al riesgo de ETH y lanzó un oráculo de precios que es más difícil de manipular, V3 resolvió el problema de la baja eficiencia del capital a través de liquidez centralizada, V4 implementó DEX personalizable y el protocolo UniswapX se fortaleció a través de El mecanismo de subasta La competitividad de los agregadores de terceros permite optimizar el deslizamiento de precios.

Historia del desarrollo de Uniswap

No es necesario entrar en detalles sobre el estado y la influencia de Uniswap. Según los datos en tiempo real de Dune, Uniswap sigue siendo el DEX con mayor cuota de mercado.

Como DEX líder, no existe desde hace mucho tiempo, pero se ha repetido muchas veces. Echemos un vistazo al proceso de desarrollo:

En junio de 2017, Vitalik publicó el artículo Sobre la independencia del camino;

En noviembre de 2018, se lanzó Uniswap V1: admite transacciones entre ETH y ERC-20Token;

En marzo de 2020, se lanzó Uniswap V2: admite transacciones entre dos pares de tokens ERC-20 cualesquiera;

En mayo de 2021, se lanzó Uniswap V3: mejora la tasa de utilización de los fondos LP y propone el concepto de liquidez agregada;

En junio de 2023, se lanzó Uniswap V4: presenta la personalización del contrato Hooks para evitar la fuga de valor;

En julio de 2023, se lanzó Uniswap X: agrega liquidez dentro y fuera de la cadena, protección MEV.

Uniswap V1: un intento de creación de mercado automatizada

En 2017, Vitalik publicó un artículo "On Path Independence" en su página web personal, en el que se introdujo por primera vez el creador de mercado automatizado (AMM) en el campo del cifrado, que es un método de negociación diferente de CEX. Por supuesto, este enfoque se ha discutido durante mucho tiempo en círculos no relacionados con las criptomonedas (como los círculos financieros tradicionales).

Sabemos que en el mercado de valores, mercado de futuros o CEX existente, la mayoría de las transacciones se realizan en el Libro de Órdenes (modo libro de órdenes). Los creadores de mercado (como corredores y bolsas centralizadas) igualan las órdenes de compra de los compradores y las órdenes de venta de los vendedores cuando los precios coinciden, completando así las transacciones entre compradores y vendedores.

Sin embargo, se han encontrado problemas en el caso de la descentralización. La razón es que en el entorno descentralizado de DEX (cualquiera puede participar en la creación del mercado), es difícil proporcionar la liquidez, la tasa de transacción y la experiencia correspondientes. sin suficiente liquidez, es difícil igualar la eficacia operativa de CEX.

En este artículo de Vitalik, se introduce un concepto novedoso en el mercado del cifrado: Automatic Market Maker.

En este concepto, la fijación de precios de activos se realiza mediante algoritmos de fijación de precios en lugar del modelo tradicional de cartera de pedidos. En el modelo AMM, no hay necesidad de cotizaciones de los creadores de mercado ni de igualación del sistema, y ​​los operadores pueden utilizar directamente la liquidez del fondo común para realizar el intercambio de activos.

TokenA y TokenB forman una relación de producto constante:

tokenA_balance(p) *tokenB_balance(p)=K (K permanece sin cambios)

Se trata de un sistema de negociación impulsado por la liquidez llamado Constant Product Market Maker (CPMM).

Según este enfoque, se puede dar un precio definiendo cualquier relación (monótona) entre tokenA y tokenB y calculando sus derivados en cualquier momento, formando así un creador de mercado independiente de la ruta.

Tres partes: LP, comerciantes, arbitrajistas

En el mecanismo de creación de mercado de AMM, no existe una contraparte específica similar al modelo de libro de órdenes. El valor real del activo se determina mediante la fórmula matemática de un producto constante. Hasta cierto punto, se puede comparar con la contraparte. siendo un contrato inteligente, que puede realizar la transacción del activo.

Alguien necesita proporcionar liquidez en un contrato inteligente, y el proveedor de liquidez es LP (Proveedor de liquidez). LP proporciona liquidez para las transacciones inyectando activos en los contratos inteligentes del grupo, obteniendo así ingresos por tarifas de transacción. Después de que el LP cree el fondo de liquidez inicial, los comerciantes pueden intercambiar tokens a través del fondo, y los arbitrajistas tomarán la iniciativa de mantener los precios de los activos consistentes con los precios del mercado a través del arbitraje de precios entre diferentes mercados.

En Uniswap V1 lanzado en noviembre de 2018, todos los activos se pueden canjear a través de ETH. Para las transacciones entre ETH y ERC-20Token, cualquiera puede agregar tokens para comerciar con ETH nativo, que es esencialmente un intermediario de comercio de activos.

¿Qué pasa en un solo pool si queremos comerciar?

Supongamos que un ETH vale actualmente 100TokenA y que un grupo de ETH/TokenA consta de 10 ETH y 1000 TokenA.

En este momento, el valor de 10 ETH y 1000 TokenA es el mismo que 1000 dólares estadounidenses y la relación del valor de los activos es 1:1. k=10 *1000=10000, este producto se mantiene sin cambios sin agregar más liquidez.

Ahora supongamos que quiero vender 5 ETH al grupo, entonces debería ser:

y=10000/(10+5)=666.67,

La cantidad de ETH en el grupo aumentó a 15 y la cantidad de USDC en este momento se convirtió en 666,67, por lo que cambié 5 ETH por 333,33 TokenA.

En este momento, el precio de un solo ETH en el pool es

666,67/15=44,44,

Es decir, un ETH equivale a 44,44 TokenA.

Por supuesto, si el precio en un único grupo cambia significativamente con respecto al de otros mercados comerciales, los arbitrajistas inmediatamente entrarán en tropel hasta tragarse la diferencia de precio. Después de todo, el mecanismo AMM sólo puede generar precios de transacción, pero no puede descubrir precios de mercado, por lo que el papel de los arbitrajistas es muy importante.

Pérdidas impermanentes, LP Token, deslizamiento de transacciones

Las pérdidas impermanentes ocurren cuando la relación de precios de los tokens depositados cambia en comparación con cuando se depositaron en el grupo. Cuanto mayor es el cambio, mayor es la pérdida de impermanencia.

Ahora, como LP, seguiremos poniendo un ejemplo:

Fórmula central de UniswapV1: x∗y=k

Ahora, como proveedor de liquidez, continuamos agregando 10 ETH y 1000 TokenA al grupo como liquidez inicial. En este momento, 1 ETH equivale a 100 TokenA.

El producto constante de las dos cantidades de activos es 10*1000=10000(x*y=10000,x=100y).

En este momento, si el precio de 1 ETH aumenta a 200 TokenA,

Podemos convertir:

x*y=10000,x=200y,

Así, se calculan x=7,071 e y=1414,21.

En este momento, el fondo de liquidez cambió de los 10 ETH y 1000 TokenA iniciales a: 7.071 ETH y 1414.21 TokenA.

¿Encontraste el problema?

En este momento, si canjeo todos los activos, recibiré 7.071 ETH y 1414.21 TokenA. El valor real calculado usando TokenA es.

7.071*200+1414.21=2828.41,

Y si se calcula en base a los 10 ETH y 1000 TokenA iniciales, el precio actual debería ser

10*200+1000=3000TokenA。

La diferencia en esta parte de los ingresos (3000-2828,41=171,59TokenA) es la pérdida impermanente.

Las pérdidas impermanentes ocurren porque, bajo el mecanismo automático de creación de mercado de los intercambios descentralizados, los proveedores de liquidez ajustan los fondos en función de las fluctuaciones de precios, lo que resulta en pérdidas de principal y pérdida de rendimientos.

Debido a que actúan como compradores y vendedores, se ven obligados a aumentar la cantidad de activos que poseen cuando los precios bajan y a disminuir la cantidad de activos que poseen cuando los precios suben, lo que genera pérdidas. Por supuesto, también puede elegir cobertura y gestionar riesgos abriendo contratos cortos/largos en ETH.

Para motivar a los usuarios a actuar como LP para proporcionar liquidez y alentarlos a soportar la volatilidad de los precios, nació LP Token. Esta es una recompensa para los proveedores de liquidez, que pueden obtener un cierto porcentaje de la tarifa de gestión por cada transacción (UniswapV1, los comerciantes pagan el 0,3% en la transacción, que pertenece al proveedor de liquidez). Al mismo tiempo, también sirve como certificado para que LP retire la liquidez agregada por sí mismo.

Otro concepto es el deslizamiento comercial, con el que los amigos que suelen operar con DEX definitivamente estarán familiarizados. Como sistema de comercio impulsado por la liquidez, la hermosa ecuación de producto constante de AMM es una curva suave y el precio cambia en todo momento según la relación entre la oferta y la demanda.

Si intercambia una gran cantidad de tokens en este momento, se producirá un deslizamiento y habrá una cierta diferencia entre el precio esperado y el precio que realmente obtiene del grupo. En otras palabras, habrá una brecha entre el precio que desea y el precio de la transacción.

Uniswap V2: Adaptación, Oracle, Préstamo Flash

Uniswap V1 solo admite transacciones entre pares comerciales ERC-20/ETH. En esencia, utiliza ETH como intermediario de moneda de transición para intercambiar tokens ERC-20. Aunque la ruta de transacción es simple, crea exposición al riesgo de ETH para los proveedores de LP. , riesgos de pérdida no permanente y deslizamiento.

En Uniswap V2, todavía se basa en el mecanismo de "creador de mercado de productos constante", pero la actualización de V2 ha traído mejoras de eficiencia, que incluyen: compatibilidad con dos pares de tokens ERC-20 cualesquiera para el comercio, lo que significa que se puede crear cualquier ERC20. ERC20 se empareja sin necesidad de emparejarse a través de la ruta de transición de ETH.

No entraré en detalles sobre este punto. La actualización de V2 incluye muchos aspectos, y dos puntos más importantes son: mejorar el oráculo de precios y realizar préstamos flash.

Mejoras en el precio de Oracle

En el proceso de Uniswap V1, el precio calculado dividiendo los fondos de reserva de los dos activos del grupo no es seguro si se utiliza como predicción de precios en la cadena porque puede manipularse fácilmente.

Uno de los propósitos de esta actualización V2 es aumentar el costo y la dificultad de la manipulación de precios. En V1, suponiendo que otros contratos utilizan el precio actual ETH-DAI para liquidar derivados, un atacante que manipula el precio medido puede comprar ETH del par ETH-DAI, desencadenar la liquidación del contrato de derivados a un precio inflado y luego ETH. se vende de nuevo al par, devolviendo su comercio a su precio real. En este caso, las transacciones pueden incluso ocurrir como transacciones atómicas, o con mineros controlando el orden de las transacciones dentro de un bloque.

En V2, para determinar el equilibrio del precio de mercado, el precio se actualiza una vez por bloque y el precio de intercambio del token se determina antes del siguiente bloque. Es decir, el precio de mercado del token se basa en la última transacción del bloque anterior.

En esta actualización, también se proporcionan nuevos datos de predicción de precios: Precio promedio ponderado en el tiempo TWAP. La acumulación de los precios relativos de dos activos al comienzo de cada bloque permite que otros contratos en Ethereum estimen el precio promedio ponderado en el tiempo de dos activos durante cualquier intervalo de tiempo.

Más específicamente, en Uniswap V2, el precio se acumula mediante el seguimiento de la suma acumulada del precio cuando alguien interactúa con el contrato al comienzo de cada bloque. Según la marca de tiempo del bloque, cada precio se pondera según la cantidad de tiempo transcurrido desde que se actualizó el bloque anterior. Esto significa que el valor del acumulador en un momento dado (después de ser actualizado) debe ser la suma de los precios spot de cada segundo en la historia del contrato.

Los usuarios de Oracle pueden elegir cuándo comenzar y finalizar este período, el costo para los atacantes de manipular TWAP será mayor y el precio es relativamente difícil de manipular.

Realizar préstamo flash

Los préstamos flash son una innovación absoluta en comparación con las finanzas tradicionales. Después de todo, las transacciones reales no se pueden revertir como en blockchain. Los préstamos flash Flash Swaps se introdujeron en la versión 2.

Los usuarios son libres de prestar activos al pool y usarlos en otros lugares de la cadena, solo para devolver los activos y pagar el interés correspondiente al final de la transacción (pago en la misma transacción atómica), si el pago no se devuelve normalmente. Entonces el la transacción se revertirá.

De hecho, permite a cualquiera prestar rápidamente cualquier activo almacenado en el grupo Uniswap. En V1, los usuarios no pueden recibir ni utilizar el activo antes de pagarlo. Cuando se utiliza un activo para comprar un activo B, el activo A debe enviarse al contrato antes de poder obtener el activo B.

También hay otros puntos de actualización: incluido Uniswap V2 que ajusta el nuevo marco de contrato, utiliza un formato binario de punto fijo simple para codificar y procesar precios (precisión), actualiza las tarifas del protocolo, admite metatransacciones para acciones de pool acuñadas, etc.

Uniswap V3: Mejora de la eficiencia del capital

Antecedentes: Uniswap V2 tiene problemas de liquidez.

Según la introducción anterior al mecanismo AMM, podemos ver que en V1 y V2, la liquidez del grupo en realidad se distribuye en el área [0, +∞]. En otras palabras, se permite cualquier precio en el grupo V2. ocurren transacciones (consulte la curva suave de la función inversa en el producto constante AMM).

A primera vista esto parece algo bueno. El rango de negociación es muy amplio, pero de hecho, no hay suficiente demanda para negociar pares con diferentes volatilidades en sus rangos de precios, lo que resulta en una grave falta de liquidez, excepto en algunas operaciones. rangos, baja utilización de activos.

Como se puede imaginar, es inútil y un desperdicio proporcionar liquidez a un precio tan alejado del rango de precios que es posible que el precio nunca llegue a ese punto.

liquidez concentrada

En este caso, para mejorar la liquidez financiera, Uniswap V3 introdujo el concepto de liquidez concentrada.

Es decir: los proveedores de liquidez (LP) pueden elegir libremente proporcionar liquidez en un determinado rango de precios. Esto puede proporcionar mejor liquidez y operar en un rango de alta eficiencia de capital, y también puede usarse en grupos de activos con diferentes precios. La volatilidad tiene diferentes asignaciones.

Cada pequeño rango de precios en V3 puede entenderse como un V2 en funcionamiento. Durante la transacción, el precio se moverá suavemente a lo largo de la curva. Cuando el precio alcance una determinada sección de V2, alcanzará el punto del intervalo de precios de V3. En este momento, el punto de precio se deslizará al siguiente intervalo de precios. .

Después de comprender el concepto anterior, podemos conocer el nuevo término: el núcleo de V3 es Ticks.

Los ticks, ticks, son las cantidades incrementales más pequeñas por las que se puede negociar un valor. En V3, al dividir el rango de precios de [0, +∞] en innumerables Ticks detallados, se implementan restricciones en los extremos superior e inferior de cada rango. La liquidez se agrega mediante control de granularidad. Todo el rango de precios en V3 se calibra mediante Ticks discretos y distribuidos uniformemente. Cada Tick tiene un índice y un precio correspondiente, y cada Tick tendrá su propia profundidad de liquidez.

Los principios matemáticos de Uniswap V3 han cambiado, aunque es similar a la capa subyacente de V2:

L=xy bajo el signo raíz

L se denomina cantidad de liquidez y la liquidez en el grupo es la combinación de las dos cantidades de activos Token. De manera similar, el producto de las cantidades de los dos tokens es K, pero debido a que cada Tick tiene diferentes profundidades de liquidez, las fórmulas equivalentes para diferentes profundidades ya no son las mismas.

No entraré en detalles sobre los principios matemáticos. A continuación se muestra un artículo de Atis Elsts sobre los principios matemáticos de V3. Los amigos interesados ​​pueden leerlo ellos mismos.

Uniswap V2 todavía tiene una tarifa de transacción estándar del 0,3%, pero en V3, debido a la diferente granularidad, se proporcionan tres niveles de tarifa diferentes, a saber, 0,05%, 0,3% y 1%. En este momento, los LP pueden concentrar su eficiencia de capital en el rango negociado con mayor frecuencia para obtener la máxima rentabilidad.

Además, V3 ha optimizado una vez más el oráculo basado en V2. Ya no almacena solo una variable de acumulación de precios, sino que almacena un conjunto de variables, lo que puede extender la vida útil de los datos, reducir las tarifas de gas y ahorrar costos.

Uniswap V4: DEX personalizable

Uniswap V4 se basa en el modelo de liquidez centralizada de Uniswap V3, lo que permite a cualquiera implementar un nuevo fondo de liquidez centralizado utilizando funciones personalizadas en Uniswap, convirtiéndose así en una plataforma DEX eficiente y personalizable.

En V4, el punto central es el contrato de ganchos, y la visión es permitir que cualquiera pueda tomar estas decisiones de compensación mediante la introducción de "ganchos". Para cada grupo, el creador puede definir un "contrato Hooks" que ejecute la lógica en puntos clave del ciclo de vida de la llamada.

Estos Hooks también gestionan las tarifas de cambio del pool y las tarifas de retiro cobradas a los proveedores de liquidez.

Ganchos y piscinas personalizadas

Los ganchos son un conjunto de contratos desarrollados por terceros o funcionarios de Uniswap. Al crear un grupo, el grupo puede optar por vincular un gancho. Posteriormente, en una etapa específica de la transacción, el grupo llamará automáticamente al contrato de gancho vinculado a él. El contrato está en Llamar a puntos clave del ciclo de vida para implementar la lógica.

En otras palabras, un gancho es un contrato implementado externamente que ejecuta alguna lógica definida por el desarrollador en un punto designado en la ejecución del grupo. Estos ganchos permiten a los integradores crear fondos de liquidez centralizados con una ejecución flexible y personalizable. Los ganchos pueden modificar los parámetros del grupo o agregar nuevas características y funcionalidades.

Cada fondo de liquidez de Uniswap tiene un ciclo de vida: durante el ciclo de vida de un fondo de liquidez, suceden varias cosas, entre ellas: el fondo se crea con un nivel de tarifa predeterminado, se agrega, elimina o reajusta liquidez, y los usuarios también pueden intercambiar tokens, etc. .

En Uniswap v3, estos eventos del ciclo de vida están estrechamente acoplados y ejecutados en un orden muy estricto. Pero para crear espacio para liquidez personalizable en Uniswap V4.

El contrato Hooks crea un método de introducción de código para que los implementadores de grupos de minería realicen operaciones específicas en puntos clave del ciclo de vida del grupo de minería, como antes y después de los intercambios, o antes y después de los cambios de posición de LP.

En resumen, los ganchos son complementos para personalizar cómo interactúan los grupos, los swaps, las tarifas y las posiciones LP. A través de contratos de ganchos, los desarrolladores pueden innovar además de la liquidez y la seguridad del protocolo Uniswap integrándose con contratos inteligentes v4. grupos de AMM personalizados.

La funcionalidad de ejemplo que se puede implementar mediante contratos de enlace incluye:

Ejecución de grandes órdenes a través de TWAMM durante un período de tiempo; órdenes de límite de precios en cadena ejecutadas a precios específicos; tarifas dinámicas que cambian con la volatilidad; mecanismo de asignación de MEV internalizado para la implementación de mediana, truncamiento u otros oráculos personalizados.

La lógica central de Uniswap V4 es la misma que la de V3 y no se puede actualizar. Dado que cada grupo ahora está definido por algo más que una capa de token y tarifa, se puede construir una amplia variedad de grupos a partir de esto. Y aunque cada grupo puede utilizar su propio contrato inteligente de enlace, los enlaces están restringidos a permisos específicos determinados cuando se crea el grupo.

También hay algunos cambios arquitectónicos en V4, como Flash Accounting (cuenta instantánea) que puede reducir significativamente las tarifas de gas. Esta característica está incluida en EIP-1153, que introduce el almacenamiento "transitorio" y se implementará después de la actualización de Cancún (Ethereum Cancún).

Además, la versión V4 también utiliza el modo singleton (guarda todos los estados del grupo en un contrato), contabilidad relámpago (garantiza la solvencia del grupo), restaura el soporte para ETH nativo, admite tokens ERC-1155 y agrega mecanismos de gobernanza. Espere mejoras.

UniswapX: Fortalecimiento de la competencia

UniswapX es un nuevo protocolo basado en subastas, de código abierto (GPL) y sin permiso para el comercio entre AMM y otras fuentes de liquidez. El protocolo mejorará la funcionalidad del intercambio en múltiples aspectos, que incluyen: Aumento de precios al agrupar fuentes de liquidez Intercambios sin gas para evitar fallas en las transacciones MEV (valor máximo de extracción) Sin tarifas En los próximos meses, UniswapX se expandirá a intercambios entre cadenas sin gas .

Agregación de siguiente nivel Agregación de próxima generación

Antecedentes: Las transacciones en cadena continúan innovando, lo que lleva a una proliferación de fondos de liquidez. Los nuevos niveles de tarifas, L2 y más protocolos en cadena también dispersarán la liquidez. Solución: UniswapX tiene como objetivo resolver este problema a través de una red abierta que subcontrata la complejidad del enrutamiento a terceros que necesitan competir para completar transacciones utilizando liquidez en cadena, como grupos de AMM o sus propios inventarios privados.

Con UniswapX, los comerciantes podrán utilizar la interfaz de Uniswap sin preocuparse de si obtendrán el mejor precio. Las transacciones de los comerciantes siempre se registrarán y liquidarán de forma transparente en la cadena. Todos los pedidos funcionan con Uniswap Smart Order Router, que obliga a terceros a competir con Uniswap V1, V2, V3 y, en el momento del lanzamiento, V4.

En esencia, UniswapX fortalece el mecanismo de competencia y optimiza el deslizamiento de precios de cada grupo de activos mediante la selección de rutas de terceros.

Además, UniswapX también lanzó un nuevo intento: transacciones sin gas, sin cargos por falla. El comerciante firma una orden única fuera de la cadena, que luego es enviada dentro de la cadena por un tercero que paga el Gas en nombre del comerciante. El tercero incluye la tarifa del Gas en el precio de la transacción, pero puede competir por el mejor precio. ejecutar múltiples pedidos en lotes y reducir los costos de transacción. La protección MEV devuelve a los comerciantes el MEV obtenido originalmente a través de transacciones de arbitraje a un mejor precio.

UniswapX ayuda a los usuarios a evitar formas más explícitas de retiro de MEV: las órdenes ejecutadas utilizando activos privados de terceros no pueden "intercalarse" y se incentiva a los terceros a utilizar retransmisiones de transacciones privadas al enrutar órdenes a grupos de liquidez en cadena. La próxima versión de cadena cruzada de UniswapX combinará el intercambio y el puente en una operación perfecta. Al utilizar UniswapX entre cadenas, los intercambiadores podrán cambiar entre cadenas en segundos y podrán esperar su progreso.

El tema principal de Uniswap: iteración

La lógica interna de la iteración de Uniswap de V1 a V4, así como el lanzamiento del protocolo UniswapX, es la innovación funcional de DEX (AMM).

V1 implementó inicialmente AMM en el campo del cifrado, V2 redujo la exposición al riesgo de ETH y lanzó un oráculo de precios que es más difícil de manipular, V3 resolvió el problema de la baja eficiencia del capital a través de liquidez centralizada, V4 implementó DEX personalizable y el protocolo UniswapX se fortaleció a través de El mecanismo de subasta La competitividad de los agregadores de terceros permite optimizar el deslizamiento de precios.

Podemos ver que Uniswap se está innovando en cada paso del camino: reduciendo los costos de endeudamiento, optimizando la experiencia del usuario, fortaleciendo la conciencia de la competencia y adoptando tecnologías emergentes. Esta actualización iterativa es la base para que un buen protocolo dure para siempre.