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 cuanto a influencia y lógica iterativa. Este artículo realiza una revisión integral de Uniswap.
La lógica interna de la iteración de Uniswap de V1 a V4, así como el lanzamiento del protocolo UniswapX, es innovación funcional y optimización de mecanismos para transacciones de DEX.
V1 implementó inicialmente AMM en el campo de la criptografía, V2 redujo la exposición al riesgo de ETH y lanzó un oráculo de precios más difícil de manipular, V3 resolvió el problema de la baja eficiencia de capital a través de la liquidez centralizada, V4 implementó un DEX personalizable y el protocolo UniswapX se fortaleció a través del mecanismo de subasta. La competitividad de los agregadores de terceros permite la optimización del deslizamiento de precios.
No es necesario entrar en detalles sobre el estado e influencia de Uniswap. Según los datos en tiempo real de Dune, Uniswap sigue siendo el DEX con la mayor cuota de mercado.
Como un DEX líder, no ha estado presente durante mucho tiempo, pero ha sido iterado 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: con soporte para transacciones entre ETH y ERC-20Token;
En marzo de 2020, se lanzó Uniswap V2: que admite transacciones entre cualquier par de tokens ERC-20;
En mayo de 2021, se lanzó Uniswap V3: mejorando la tasa de utilización de los fondos de LP y proponiendo el concepto de liquidez agregada;
En junio de 2023, se lanzó Uniswap V4: se introdujo la personalización del contrato Hooks para evitar la fuga de valor;
En julio de 2023, se lanzó Uniswap X: agregando liquidez en cadena y fuera de cadena, protección MEV.
En 2017, Vitalik publicó un artículo "En la independencia del camino" en su página web personal, en el que se presentó por primera vez el creador de mercado automatizado (AMM) en el campo de la criptografía, que es un método de negociación diferente de CEX. Por supuesto, este enfoque ha sido discutido durante mucho tiempo en círculos no criptográficos (como 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 de libro de órdenes). Los creadores de mercado (como corredores y bolsas centralizadas) emparejan 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 emparejar las transacciones en el modo de libro de órdenes para proporcionar liquidez correspondiente, velocidad de transacción y la experiencia es relativamente pobre, y 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 de la criptografía: Automatic Market Maker. En este concepto, la fijación de precios de activos se realiza a través de algoritmos de fijación de precios en lugar del modelo tradicional de libro de órdenes.
En el modelo AMM, no es necesario contar con cotizaciones de creadores de mercado o emparejamiento de sistema, y los comerciantes pueden utilizar directamente la liquidez en la piscina para realizar intercambios de activos.
TokenA y TokenB forman una relación de producto constante: tokenA_balance(p) * tokenB_balance(p) = K (K permanece sin cambios)
Este es un sistema de negociación impulsado por liquidez, este modelo se llama Constant Product Market Maker (CPMM). Bajo este enfoque, se puede formar un creador de mercado independiente de la ruta al definir cualquier relación (monotónica) entre tokenA y tokenB y calcular sus derivadas en cualquier momento para dar un precio.
En el mecanismo de creación de mercado de AMM, no hay una contraparte específica similar al modelo de libro de órdenes. El valor real del activo es determinado por la fórmula matemática de un producto constante. En cierta medida, se puede comparar con la contraparte siendo un contrato inteligente, que puede realizar el trading automatizado del activo.
Alguien necesita proporcionar liquidez en un contrato inteligente, y el proveedor de liquidez es LP (Proveedor de Liquidez). LP proporciona liquidez para transacciones inyectando activos en los contratos inteligentes en el pool, obteniendo así ingresos por comisiones de transacción.
Después de que LP construye la piscina de liquidez inicial, los traders pueden intercambiar Tokens a través de la piscina, y los arbitrajistas tomarán la iniciativa de mantener los precios de los activos consistentes con los precios de 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 transacciones entre ETH y ERC-20Token, cualquiera puede añadir tokens para comerciar con ETH nativo. ETH es esencialmente un intermediario de comercio de activos.
Suponga que un ETH actualmente vale 100TokenA, y un pool de ETH/TokenA consiste en 10 ETH y 1000 TokenA.
En este momento, el valor de 10 ETH y 1.000 TokenA es igual a 1.000 dólares estadounidenses, y la relación de valor de activos es de 1:1.
k=10 *1000=10000, este producto permanece sin cambios sin agregar más liquidez.
Ahora supongamos que quiero vender 5 ETH al pool, entonces debería ser:
y=10000/(10+5)=666.67, el número de ETH en el pool aumentó a 15, y el número de USDC en este momento se convirtió en 666.67, así que intercambié 5 ETH por 333.33 TokenA, y en este momento el precio de un solo ETH en el pool es 666.67/15=44.44, es decir, un ETH es igual a 44.44 TokenA.
Por supuesto, si el precio en una sola piscina cambia significativamente respecto a otros mercados de negociación, los arbitrajistas entrarán inmediatamente en acción hasta que se coman la diferencia de precio. Después de todo, el mecanismo AMM solo puede generar precios de transacción, pero no puede descubrir precios de mercado, por lo que el papel de los arbitrajistas es muy importante.
Las pérdidas impermanentes ocurren cuando la proporción de precios de los tokens depositados cambia en comparación con cuando fueron depositados en el pool. Cuanto mayor sea el cambio, mayor será la pérdida de impermanencia.
Ahora, como LP, seguiremos poniendo un ejemplo:
Fórmula principal de UniswapV1: x∗y=k
Ahora, como proveedor de liquidez, seguimos agregando 10 ETH y 1000 TokenA al pool como liquidez inicial. En este momento, 1 ETH es igual a 100 TokenA, y el producto constante de las dos cantidades de activos es 101000=10000( xy=10000,x=100y).
En este momento, si el precio de 1 ETH aumenta a 200 TokenA, podemos convertir: x*y=10000, x=200y, calculando así x=7.071, y=1414.21.
En este momento, el grupo de liquidez cambió de los 10 ETH iniciales y 1000 TokenA a: 7.071 ETH y 1414.21 TokenA.
En este momento, si canjeo todos los activos, recibiré 7.071 ETH y 1414.21 TokenA. El valor real calculado usando TokenA es 7.071200+1414.21=2828.41. If calculated based on the initial 10 ETH and 1000 TokenA , the current price should be 10200+1000=3000TokenA.
La diferencia en esta parte del ingreso (3000-2828.41=171.59TokenA) es una pérdida impermanente。
Las pérdidas impermanentes ocurren porque bajo el mecanismo de creador de mercado automático 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 capital y retornos perdidos.
Dado que actúan tanto como compradores como vendedores, se ven obligados a aumentar la cantidad de activos que poseen cuando los precios caen y a disminuir la cantidad de activos que poseen cuando los precios suben, lo que resulta en pérdidas.
Por supuesto, también puedes elegir coberturas y gestionar riesgos abriendo contratos cortos/largos en ETH.
Para motivar a los usuarios a actuar como LP para proporcionar liquidez y animarlos a soportar la volatilidad de precios, LP TokenIt llegó a existir. Esta es una recompensa para los proveedores de liquidez, quienes pueden obtener un cierto porcentaje de la tarifa de manipulación por cada transacción (UniswapV1, los traders pagan 0.3% en la transacción, que pertenece al proveedor de liquidez). Al mismo tiempo, también sirve como un certificado para LP para retirar la liquidez agregada por sí mismo.
Otro concepto es el deslizamiento comercial, los amigos que a menudo hacen trading en DEX definitivamente estarán familiarizados con él. Como un sistema de trading impulsado por liquidez, la hermosa ecuación constante del producto de AMM es una curva suave, y el precio cambia en todo momento de acuerdo con la relación entre la oferta y la demanda.
Si intercambias una gran cantidad de Tokens en este momento, se producirá deslizamiento y habrá una cierta diferencia entre el precio esperado y el precio que realmente obtienes del grupo. En otras palabras, habrá una brecha entre el precio que deseas y el precio de la transacción.
Uniswap V1 solo admite transacciones entre pares de operaciones ERC-20/ETH. En esencia, utiliza ETH como una divisa de transición intermedia para intercambiar entre Tokens ERC-20. Aunque la ruta de transacción es sencilla, crea exposición al riesgo de ETH para los proveedores de LP. Riesgos de exportación, pérdida impermanente y deslizamiento.
En Uniswap V2, todavía se basa en el mecanismo de "creador de mercado de producto constante", pero la actualización de V2 ha traído mejoras de eficiencia, incluyendo: el soporte para cualquier par de tokens ERC-20 para el comercio, lo que significa que cualquier ERC20 puede ser creado - pares de ERC20 sin necesidad de emparejar a través del camino de transición de ETH.
No entraré en detalles sobre este punto. La actualización de V2 incluye muchos aspectos. Hay dos puntos más importantes: mejorar el precio.Oracle, lograr el préstamo flash。
En el proceso de Uniswap V1, el precio calculado dividiendo los fondos de reserva de los dos activos en el pool no es seguro si se utiliza como una predicción de precio en cadena porque puede ser fácilmente manipulado.
Uno de los propósitos de esta actualización V2 es aumentar el costo y la dificultad de la manipulación de precios。
En la V1, suponiendo que otros contratos utilicen el precio actual de ETH-DAI para liquidar derivados, un atacante que manipule el precio medido puede comprar ETH del par ETH-DAI, desencadenar la liquidación del contrato derivado a un precio inflado, y luego vender ETH de vuelta al par, devolviendo su operación a su precio real. En este caso, las transacciones incluso pueden ocurrir como transacciones atómicas, o con mineros controlando el orden de las transacciones dentro de un bloque.
En V2, para determinar el saldo del precio de mercado, el precio se actualiza una vez por bloque y el precio de intercambio de tokens se determina antes del siguiente bloque, es decir, el precio de mercado del token se basa en la última transacción en el bloque anterior.
En esta actualización, también se proporcionan nuevos datos de predicción de precios: precio promedio ponderado por el tiempo (TWAP). Acumular los precios relativos de dos activos al comienzo de cada bloque permite a otros contratos en Ethereum estimar el precio promedio ponderado por el tiempo de dos activos en cualquier intervalo de tiempo.
Más específicamente, en Uniswap V2, el precio se acumula rastreando la suma acumulada del precio cuando alguien interactúa con el contrato al comienzo de cada bloque. En función de la marca de tiempo del bloque, cada precio se pondera por 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 al contado por cada segundo en el historial del contrato.
Los usuarios del oráculo pueden elegir cuándo comenzar y terminar este período, el costo para los atacantes de manipular TWAP será mayor y el precio es relativamente difícil de manipular.
El préstamo Flash es una innovación absoluta en comparación con las finanzas tradicionales. Después de todo, las transacciones reales no se pueden deshacer como en el blockchain.
Los flash loans de Flash Swaps fueron introducidos en V2. Los usuarios pueden prestar activos al grupo y usarlos en otro lugar en la cadena, solo devolviendo los activos y pagando los intereses correspondientes al final de la transacción (pago en la misma transacción atómica). Si el dinero no se devuelve normalmente, la transacción se revertirá.
De hecho, permite a cualquier persona prestar rápidamente cualquier activo almacenado en la piscina de Uniswap. En la V1, a los usuarios no se les permite recibir y utilizar el activo antes de pagarlo. Al usar un activo A para comprar un activo B, el activo A debe enviarse al contrato antes de que se pueda obtener el activo B.
Hay algunos otros puntos actualizados: incluyendo Uniswap V2, que ha ajustado el nuevo marco de contrato, utilizando un formato de punto fijo binario simple para codificar y procesar precios (precisión), actualización de las tarifas del protocolo y soporte para meta transacciones para las acciones de la piscina creada, etc.
Antecedentes: Uniswap V2 tiene problemas de liquidez. Según la introducción al mecanismo AMM anterior, podemos ver que en V1 y V2, la liquidez del pool se distribuye realmente en el área [0, +∞]. En otras palabras, en el pool V2 se permite cualquier precio. las transacciones ocurren (consulte la curva suave de la función inversa en el producto constante AMM).
Esto parece ser algo bueno a primera vista. El rango de negociación es muy amplio, pero de hecho, no hay suficiente demanda de pares de negociación con diferentes volatilidades en sus rangos de precios, lo que resulta en una grave falta de liquidez, excepto en algunos rangos de negociación. , baja utilización de activos.
Como puedes imaginar, es inútil y derrochador proporcionar liquidez a un punto de precio tan lejano del rango de precios que el precio puede que nunca alcance ese punto.
En este caso, con el fin de mejorar la liquidez financiera, Uniswap V3 introdujo el concepto de liquidez concentrada. Es decir:
Los proveedores de liquidez (LP) son libres de elegir proporcionar liquidez en un cierto rango de precios, esto puede proporcionar una mejor liquidez y operar dentro de un rango de alta eficiencia de capital. Al mismo tiempo, en términos de aplicación, también se pueden hacer diferentes configuraciones para los pools de activos con diferentes volatilidades de precios.
Cada pequeño rango de precios en V3 se puede entender como un V2 en funcionamiento. Durante la transacción, el precio se moverá suavemente a lo largo de la curva. Cuando el precio alcanza una cierta sección de V2, llega al punto de intervalo del intervalo de precios de V3. En este momento, el punto de precio se deslizará al siguiente intervalo de precios.
Después de entender el concepto anterior, podemos conocer los nuevos sustantivos——El núcleo de V3 es Ticks。
Los 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 finamente graduados, se implementan restricciones en los puntos finales de límite superior e inferior de cada rango.
La liquidez se agrega a través del control de la granularidad. Todo el rango de precios en V3 está calibrado por Marcas discretas y uniformemente distribuidas. Cada Marca tiene un índice y un precio correspondiente, y cada Marca 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 de la raíz
L se llama la cantidad de liquidez, y la liquidez en el pool es la combinación de las cantidades de los dos activos Token. De manera similar, el producto de las cantidades de los dos tokens es K, pero debido a que cada Tick tiene diferentes niveles de liquidez, las fórmulas equivalentes para diferentes niveles ya no son las mismas.
No entraré en detalles sobre los principios matemáticos. A continuación, se muestra un documento de Atis Elsts sobre los principios matemáticos de V3. Los amigos interesados pueden leerlo por sí mismos.
En Uniswap V2, todavía existe una tarifa de transacción estándar del 0.3%, mientras que en Uniswap V2V3 se ofrecen 3 niveles de tarifas diferentes debido a diferentes granularidades, que son del 0.05%, 0.3% y 1% respectivamente. En este momento, los LPs pueden centrar su eficiencia de capital en los rangos más negociados con frecuencia para obtener rendimientos máximos.
Además, V3 ha vuelto a optimizar 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 se basa en el modelo de liquidez centralizado de Uniswap V3, permite a cualquiera implementar nuevos pools de liquidez centralizados en Uniswap con funcionalidades personalizadas, convirtiéndose así en una plataforma DEX eficiente y personalizable.
En V4, el punto central es el contrato Hooks, la visión es permitir a cualquier persona tomar estas decisiones de compromiso introduciendo “hooks”.
Para cada pool, el creador puede definir un "contrato Hooks" que ejecuta la lógica en puntos clave en el ciclo de llamadas. Estos Hooks también gestionan las comisiones de intercambio de la pool y las comisiones de retiro cobradas a los proveedores de liquidez.
Hooks son un conjunto de contratos desarrollados por terceros o funcionarios de Uniswap. Al crear un pool, el pool puede optar por vincular un hook. Entonces, en una etapa específica de la transacción, el pool llamará automáticamente al contrato hook vinculado a él. El contrato está en puntos clave de la vida útil para implementar lógica de llamada.
En otras palabras, un hook es un contrato desplegado externamente que ejecuta alguna lógica definida por el desarrollador en un punto especificado en la ejecución del pool. Estos hooks permiten a los integradores crear pools de liquidez centralizadas con ejecución flexible y personalizable. Los hooks pueden modificar los parámetros del pool o añadir nuevas características y funcionalidades.
Cada piscina de liquidez de Uniswap tiene un ciclo de vida: Durante el ciclo de vida de una piscina de liquidez, suceden varias cosas, incluyendo: se crea la piscina con una tarifa predeterminada, 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 se ejecutan en un orden muy estricto.
Pero para crear espacio para la liquidez personalizable en Uniswap V4. El contrato Hooks crea un método de introducción de código para que los implementadores de pools de minería realicen operaciones especificadas en puntos clave del ciclo de vida del pool de minería, como antes y después de los intercambios, o antes y después de los cambios de posición LP.
En resumen, los Hooks son complementos para personalizar cómo interactúan los pools, intercambios, comisiones y posiciones de LP, a través del contrato de hooks. Los desarrolladores pueden innovar sobre la liquidez y seguridad del protocolo Uniswap, creando pools AMM personalizados a través de hooks integrados con contratos inteligentes v4.
La funcionalidad de ejemplo que se puede implementar a través de contratos de gancho incluye:
La lógica principal de Uniswap V4 es la misma que la de V3 y no es actualizable. Dado que cada piscina minera ahora está definida por algo más que solo tokens y niveles de tarifas, se pueden construir varias piscinas mineras a partir de esto. Y aunque cada piscina puede usar su propio contrato inteligente de hook, los hooks están restringidos a permisos específicos determinados cuando se crea la piscina.
También hay algunos cambios arquitectónicos en V4, como la Contabilidad Flash (cuenta instantánea) que puede reducir significativamente las tarifas de gas. Esta función está incluida en EIP-1153, que introduce 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 pool en un contrato), contabilidad relámpago (garantiza la solvencia del pool), restaura el soporte para ETH nativo, admite tokens ERC-1155 y agrega mecanismos de gobernanza para su mejora.
UniswapX es un nuevo protocolo abierto (GPL) sin permisos, basado en subastas, para operar en AMM y otras fuentes de liquidez.
El protocolo mejorará la funcionalidad del intercambio en múltiples áreas, incluyendo:
Antecedentes: Las transacciones en cadena continúan innovando, lo que lleva a una proliferación de piscinas de liquidez y 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 externaliza la complejidad de enrutamiento a terceros que necesitan competir para completar transacciones utilizando liquidez en cadena como los pools de AMM o sus propios inventarios privados.
Con UniswapX, los traders podrán utilizar la interfaz de Uniswap sin preocuparse por si están obteniendo el mejor precio. Las transacciones de los traders siempre se registrarán de forma transparente y se liquidarán en la cadena. Todas las órdenes están impulsadas por el enrutador de órdenes inteligentes de Uniswap, lo que obliga a terceros a competir con Uniswap V1, V2, V3 y, al momento del lanzamiento, V4.
esencialmente, UniswapX fortalece el mecanismo de competencia y optimiza el deslizamiento de precios de cada pool de activos a través de la selección de enrutamiento de terceros.
Además, UniswapX también lanzó nuevos intentos:
Sin transacción de Gas, no hay cargo por fallo. El trader firma una orden única fuera de la cadena, que luego es presentada en la cadena por un tercero que paga Gas en nombre del trader. El tercero incluye la tarifa de Gas en el precio de la transacción, pero puede competir por el mejor precio ejecutando múltiples órdenes en lotes y reducir los costos de transacción.
Protección de MEV, devolviendo el MEV obtenido originalmente a través del arbitraje comercial a los traders a un precio mejor. 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 ser “intercaladas” y se incentiva a terceros a utilizar relés de transacciones privadas al enrutarse las órdenes a piscinas de liquidez en cadena.
La próxima versión de UniswapX entre cadenas combinará el intercambio y el puente en una sola operación sin problemas. Al utilizar UniswapX entre cadenas, los intercambiadores podrán cambiar entre cadenas en segundos y podrán esperar con ansias su progreso.
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 el AMM en el campo de la criptografía, V2 redujo la exposición al riesgo de ETH y lanzó un oráculo de precios más difícil de manipular, V3 resolvió el problema de la baja eficiencia de capital a través de la liquidez centralizada, V4 implementó un DEX personalizable, y el protocolo UniswapX se fortaleció a través del mecanismo de subasta. La competitividad de los agregadores de terceros permite la optimización del deslizamiento de precios.
Podemos ver que Uniswap se está innovando a cada paso del camino, reduciendo costos de préstamos, 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 perdure para siempre.
مشاركة
المحتوى
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 cuanto a influencia y lógica iterativa. Este artículo realiza una revisión integral de Uniswap.
La lógica interna de la iteración de Uniswap de V1 a V4, así como el lanzamiento del protocolo UniswapX, es innovación funcional y optimización de mecanismos para transacciones de DEX.
V1 implementó inicialmente AMM en el campo de la criptografía, V2 redujo la exposición al riesgo de ETH y lanzó un oráculo de precios más difícil de manipular, V3 resolvió el problema de la baja eficiencia de capital a través de la liquidez centralizada, V4 implementó un DEX personalizable y el protocolo UniswapX se fortaleció a través del mecanismo de subasta. La competitividad de los agregadores de terceros permite la optimización del deslizamiento de precios.
No es necesario entrar en detalles sobre el estado e influencia de Uniswap. Según los datos en tiempo real de Dune, Uniswap sigue siendo el DEX con la mayor cuota de mercado.
Como un DEX líder, no ha estado presente durante mucho tiempo, pero ha sido iterado 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: con soporte para transacciones entre ETH y ERC-20Token;
En marzo de 2020, se lanzó Uniswap V2: que admite transacciones entre cualquier par de tokens ERC-20;
En mayo de 2021, se lanzó Uniswap V3: mejorando la tasa de utilización de los fondos de LP y proponiendo el concepto de liquidez agregada;
En junio de 2023, se lanzó Uniswap V4: se introdujo la personalización del contrato Hooks para evitar la fuga de valor;
En julio de 2023, se lanzó Uniswap X: agregando liquidez en cadena y fuera de cadena, protección MEV.
En 2017, Vitalik publicó un artículo "En la independencia del camino" en su página web personal, en el que se presentó por primera vez el creador de mercado automatizado (AMM) en el campo de la criptografía, que es un método de negociación diferente de CEX. Por supuesto, este enfoque ha sido discutido durante mucho tiempo en círculos no criptográficos (como 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 de libro de órdenes). Los creadores de mercado (como corredores y bolsas centralizadas) emparejan 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 emparejar las transacciones en el modo de libro de órdenes para proporcionar liquidez correspondiente, velocidad de transacción y la experiencia es relativamente pobre, y 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 de la criptografía: Automatic Market Maker. En este concepto, la fijación de precios de activos se realiza a través de algoritmos de fijación de precios en lugar del modelo tradicional de libro de órdenes.
En el modelo AMM, no es necesario contar con cotizaciones de creadores de mercado o emparejamiento de sistema, y los comerciantes pueden utilizar directamente la liquidez en la piscina para realizar intercambios de activos.
TokenA y TokenB forman una relación de producto constante: tokenA_balance(p) * tokenB_balance(p) = K (K permanece sin cambios)
Este es un sistema de negociación impulsado por liquidez, este modelo se llama Constant Product Market Maker (CPMM). Bajo este enfoque, se puede formar un creador de mercado independiente de la ruta al definir cualquier relación (monotónica) entre tokenA y tokenB y calcular sus derivadas en cualquier momento para dar un precio.
En el mecanismo de creación de mercado de AMM, no hay una contraparte específica similar al modelo de libro de órdenes. El valor real del activo es determinado por la fórmula matemática de un producto constante. En cierta medida, se puede comparar con la contraparte siendo un contrato inteligente, que puede realizar el trading automatizado del activo.
Alguien necesita proporcionar liquidez en un contrato inteligente, y el proveedor de liquidez es LP (Proveedor de Liquidez). LP proporciona liquidez para transacciones inyectando activos en los contratos inteligentes en el pool, obteniendo así ingresos por comisiones de transacción.
Después de que LP construye la piscina de liquidez inicial, los traders pueden intercambiar Tokens a través de la piscina, y los arbitrajistas tomarán la iniciativa de mantener los precios de los activos consistentes con los precios de 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 transacciones entre ETH y ERC-20Token, cualquiera puede añadir tokens para comerciar con ETH nativo. ETH es esencialmente un intermediario de comercio de activos.
Suponga que un ETH actualmente vale 100TokenA, y un pool de ETH/TokenA consiste en 10 ETH y 1000 TokenA.
En este momento, el valor de 10 ETH y 1.000 TokenA es igual a 1.000 dólares estadounidenses, y la relación de valor de activos es de 1:1.
k=10 *1000=10000, este producto permanece sin cambios sin agregar más liquidez.
Ahora supongamos que quiero vender 5 ETH al pool, entonces debería ser:
y=10000/(10+5)=666.67, el número de ETH en el pool aumentó a 15, y el número de USDC en este momento se convirtió en 666.67, así que intercambié 5 ETH por 333.33 TokenA, y en este momento el precio de un solo ETH en el pool es 666.67/15=44.44, es decir, un ETH es igual a 44.44 TokenA.
Por supuesto, si el precio en una sola piscina cambia significativamente respecto a otros mercados de negociación, los arbitrajistas entrarán inmediatamente en acción hasta que se coman la diferencia de precio. Después de todo, el mecanismo AMM solo puede generar precios de transacción, pero no puede descubrir precios de mercado, por lo que el papel de los arbitrajistas es muy importante.
Las pérdidas impermanentes ocurren cuando la proporción de precios de los tokens depositados cambia en comparación con cuando fueron depositados en el pool. Cuanto mayor sea el cambio, mayor será la pérdida de impermanencia.
Ahora, como LP, seguiremos poniendo un ejemplo:
Fórmula principal de UniswapV1: x∗y=k
Ahora, como proveedor de liquidez, seguimos agregando 10 ETH y 1000 TokenA al pool como liquidez inicial. En este momento, 1 ETH es igual a 100 TokenA, y el producto constante de las dos cantidades de activos es 101000=10000( xy=10000,x=100y).
En este momento, si el precio de 1 ETH aumenta a 200 TokenA, podemos convertir: x*y=10000, x=200y, calculando así x=7.071, y=1414.21.
En este momento, el grupo de liquidez cambió de los 10 ETH iniciales y 1000 TokenA a: 7.071 ETH y 1414.21 TokenA.
En este momento, si canjeo todos los activos, recibiré 7.071 ETH y 1414.21 TokenA. El valor real calculado usando TokenA es 7.071200+1414.21=2828.41. If calculated based on the initial 10 ETH and 1000 TokenA , the current price should be 10200+1000=3000TokenA.
La diferencia en esta parte del ingreso (3000-2828.41=171.59TokenA) es una pérdida impermanente。
Las pérdidas impermanentes ocurren porque bajo el mecanismo de creador de mercado automático 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 capital y retornos perdidos.
Dado que actúan tanto como compradores como vendedores, se ven obligados a aumentar la cantidad de activos que poseen cuando los precios caen y a disminuir la cantidad de activos que poseen cuando los precios suben, lo que resulta en pérdidas.
Por supuesto, también puedes elegir coberturas y gestionar riesgos abriendo contratos cortos/largos en ETH.
Para motivar a los usuarios a actuar como LP para proporcionar liquidez y animarlos a soportar la volatilidad de precios, LP TokenIt llegó a existir. Esta es una recompensa para los proveedores de liquidez, quienes pueden obtener un cierto porcentaje de la tarifa de manipulación por cada transacción (UniswapV1, los traders pagan 0.3% en la transacción, que pertenece al proveedor de liquidez). Al mismo tiempo, también sirve como un certificado para LP para retirar la liquidez agregada por sí mismo.
Otro concepto es el deslizamiento comercial, los amigos que a menudo hacen trading en DEX definitivamente estarán familiarizados con él. Como un sistema de trading impulsado por liquidez, la hermosa ecuación constante del producto de AMM es una curva suave, y el precio cambia en todo momento de acuerdo con la relación entre la oferta y la demanda.
Si intercambias una gran cantidad de Tokens en este momento, se producirá deslizamiento y habrá una cierta diferencia entre el precio esperado y el precio que realmente obtienes del grupo. En otras palabras, habrá una brecha entre el precio que deseas y el precio de la transacción.
Uniswap V1 solo admite transacciones entre pares de operaciones ERC-20/ETH. En esencia, utiliza ETH como una divisa de transición intermedia para intercambiar entre Tokens ERC-20. Aunque la ruta de transacción es sencilla, crea exposición al riesgo de ETH para los proveedores de LP. Riesgos de exportación, pérdida impermanente y deslizamiento.
En Uniswap V2, todavía se basa en el mecanismo de "creador de mercado de producto constante", pero la actualización de V2 ha traído mejoras de eficiencia, incluyendo: el soporte para cualquier par de tokens ERC-20 para el comercio, lo que significa que cualquier ERC20 puede ser creado - pares de ERC20 sin necesidad de emparejar a través del camino de transición de ETH.
No entraré en detalles sobre este punto. La actualización de V2 incluye muchos aspectos. Hay dos puntos más importantes: mejorar el precio.Oracle, lograr el préstamo flash。
En el proceso de Uniswap V1, el precio calculado dividiendo los fondos de reserva de los dos activos en el pool no es seguro si se utiliza como una predicción de precio en cadena porque puede ser fácilmente manipulado.
Uno de los propósitos de esta actualización V2 es aumentar el costo y la dificultad de la manipulación de precios。
En la V1, suponiendo que otros contratos utilicen el precio actual de ETH-DAI para liquidar derivados, un atacante que manipule el precio medido puede comprar ETH del par ETH-DAI, desencadenar la liquidación del contrato derivado a un precio inflado, y luego vender ETH de vuelta al par, devolviendo su operación a su precio real. En este caso, las transacciones incluso pueden ocurrir como transacciones atómicas, o con mineros controlando el orden de las transacciones dentro de un bloque.
En V2, para determinar el saldo del precio de mercado, el precio se actualiza una vez por bloque y el precio de intercambio de tokens se determina antes del siguiente bloque, es decir, el precio de mercado del token se basa en la última transacción en el bloque anterior.
En esta actualización, también se proporcionan nuevos datos de predicción de precios: precio promedio ponderado por el tiempo (TWAP). Acumular los precios relativos de dos activos al comienzo de cada bloque permite a otros contratos en Ethereum estimar el precio promedio ponderado por el tiempo de dos activos en cualquier intervalo de tiempo.
Más específicamente, en Uniswap V2, el precio se acumula rastreando la suma acumulada del precio cuando alguien interactúa con el contrato al comienzo de cada bloque. En función de la marca de tiempo del bloque, cada precio se pondera por 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 al contado por cada segundo en el historial del contrato.
Los usuarios del oráculo pueden elegir cuándo comenzar y terminar este período, el costo para los atacantes de manipular TWAP será mayor y el precio es relativamente difícil de manipular.
El préstamo Flash es una innovación absoluta en comparación con las finanzas tradicionales. Después de todo, las transacciones reales no se pueden deshacer como en el blockchain.
Los flash loans de Flash Swaps fueron introducidos en V2. Los usuarios pueden prestar activos al grupo y usarlos en otro lugar en la cadena, solo devolviendo los activos y pagando los intereses correspondientes al final de la transacción (pago en la misma transacción atómica). Si el dinero no se devuelve normalmente, la transacción se revertirá.
De hecho, permite a cualquier persona prestar rápidamente cualquier activo almacenado en la piscina de Uniswap. En la V1, a los usuarios no se les permite recibir y utilizar el activo antes de pagarlo. Al usar un activo A para comprar un activo B, el activo A debe enviarse al contrato antes de que se pueda obtener el activo B.
Hay algunos otros puntos actualizados: incluyendo Uniswap V2, que ha ajustado el nuevo marco de contrato, utilizando un formato de punto fijo binario simple para codificar y procesar precios (precisión), actualización de las tarifas del protocolo y soporte para meta transacciones para las acciones de la piscina creada, etc.
Antecedentes: Uniswap V2 tiene problemas de liquidez. Según la introducción al mecanismo AMM anterior, podemos ver que en V1 y V2, la liquidez del pool se distribuye realmente en el área [0, +∞]. En otras palabras, en el pool V2 se permite cualquier precio. las transacciones ocurren (consulte la curva suave de la función inversa en el producto constante AMM).
Esto parece ser algo bueno a primera vista. El rango de negociación es muy amplio, pero de hecho, no hay suficiente demanda de pares de negociación con diferentes volatilidades en sus rangos de precios, lo que resulta en una grave falta de liquidez, excepto en algunos rangos de negociación. , baja utilización de activos.
Como puedes imaginar, es inútil y derrochador proporcionar liquidez a un punto de precio tan lejano del rango de precios que el precio puede que nunca alcance ese punto.
En este caso, con el fin de mejorar la liquidez financiera, Uniswap V3 introdujo el concepto de liquidez concentrada. Es decir:
Los proveedores de liquidez (LP) son libres de elegir proporcionar liquidez en un cierto rango de precios, esto puede proporcionar una mejor liquidez y operar dentro de un rango de alta eficiencia de capital. Al mismo tiempo, en términos de aplicación, también se pueden hacer diferentes configuraciones para los pools de activos con diferentes volatilidades de precios.
Cada pequeño rango de precios en V3 se puede entender como un V2 en funcionamiento. Durante la transacción, el precio se moverá suavemente a lo largo de la curva. Cuando el precio alcanza una cierta sección de V2, llega al punto de intervalo del intervalo de precios de V3. En este momento, el punto de precio se deslizará al siguiente intervalo de precios.
Después de entender el concepto anterior, podemos conocer los nuevos sustantivos——El núcleo de V3 es Ticks。
Los 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 finamente graduados, se implementan restricciones en los puntos finales de límite superior e inferior de cada rango.
La liquidez se agrega a través del control de la granularidad. Todo el rango de precios en V3 está calibrado por Marcas discretas y uniformemente distribuidas. Cada Marca tiene un índice y un precio correspondiente, y cada Marca 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 de la raíz
L se llama la cantidad de liquidez, y la liquidez en el pool es la combinación de las cantidades de los dos activos Token. De manera similar, el producto de las cantidades de los dos tokens es K, pero debido a que cada Tick tiene diferentes niveles de liquidez, las fórmulas equivalentes para diferentes niveles ya no son las mismas.
No entraré en detalles sobre los principios matemáticos. A continuación, se muestra un documento de Atis Elsts sobre los principios matemáticos de V3. Los amigos interesados pueden leerlo por sí mismos.
En Uniswap V2, todavía existe una tarifa de transacción estándar del 0.3%, mientras que en Uniswap V2V3 se ofrecen 3 niveles de tarifas diferentes debido a diferentes granularidades, que son del 0.05%, 0.3% y 1% respectivamente. En este momento, los LPs pueden centrar su eficiencia de capital en los rangos más negociados con frecuencia para obtener rendimientos máximos.
Además, V3 ha vuelto a optimizar 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 se basa en el modelo de liquidez centralizado de Uniswap V3, permite a cualquiera implementar nuevos pools de liquidez centralizados en Uniswap con funcionalidades personalizadas, convirtiéndose así en una plataforma DEX eficiente y personalizable.
En V4, el punto central es el contrato Hooks, la visión es permitir a cualquier persona tomar estas decisiones de compromiso introduciendo “hooks”.
Para cada pool, el creador puede definir un "contrato Hooks" que ejecuta la lógica en puntos clave en el ciclo de llamadas. Estos Hooks también gestionan las comisiones de intercambio de la pool y las comisiones de retiro cobradas a los proveedores de liquidez.
Hooks son un conjunto de contratos desarrollados por terceros o funcionarios de Uniswap. Al crear un pool, el pool puede optar por vincular un hook. Entonces, en una etapa específica de la transacción, el pool llamará automáticamente al contrato hook vinculado a él. El contrato está en puntos clave de la vida útil para implementar lógica de llamada.
En otras palabras, un hook es un contrato desplegado externamente que ejecuta alguna lógica definida por el desarrollador en un punto especificado en la ejecución del pool. Estos hooks permiten a los integradores crear pools de liquidez centralizadas con ejecución flexible y personalizable. Los hooks pueden modificar los parámetros del pool o añadir nuevas características y funcionalidades.
Cada piscina de liquidez de Uniswap tiene un ciclo de vida: Durante el ciclo de vida de una piscina de liquidez, suceden varias cosas, incluyendo: se crea la piscina con una tarifa predeterminada, 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 se ejecutan en un orden muy estricto.
Pero para crear espacio para la liquidez personalizable en Uniswap V4. El contrato Hooks crea un método de introducción de código para que los implementadores de pools de minería realicen operaciones especificadas en puntos clave del ciclo de vida del pool de minería, como antes y después de los intercambios, o antes y después de los cambios de posición LP.
En resumen, los Hooks son complementos para personalizar cómo interactúan los pools, intercambios, comisiones y posiciones de LP, a través del contrato de hooks. Los desarrolladores pueden innovar sobre la liquidez y seguridad del protocolo Uniswap, creando pools AMM personalizados a través de hooks integrados con contratos inteligentes v4.
La funcionalidad de ejemplo que se puede implementar a través de contratos de gancho incluye:
La lógica principal de Uniswap V4 es la misma que la de V3 y no es actualizable. Dado que cada piscina minera ahora está definida por algo más que solo tokens y niveles de tarifas, se pueden construir varias piscinas mineras a partir de esto. Y aunque cada piscina puede usar su propio contrato inteligente de hook, los hooks están restringidos a permisos específicos determinados cuando se crea la piscina.
También hay algunos cambios arquitectónicos en V4, como la Contabilidad Flash (cuenta instantánea) que puede reducir significativamente las tarifas de gas. Esta función está incluida en EIP-1153, que introduce 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 pool en un contrato), contabilidad relámpago (garantiza la solvencia del pool), restaura el soporte para ETH nativo, admite tokens ERC-1155 y agrega mecanismos de gobernanza para su mejora.
UniswapX es un nuevo protocolo abierto (GPL) sin permisos, basado en subastas, para operar en AMM y otras fuentes de liquidez.
El protocolo mejorará la funcionalidad del intercambio en múltiples áreas, incluyendo:
Antecedentes: Las transacciones en cadena continúan innovando, lo que lleva a una proliferación de piscinas de liquidez y 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 externaliza la complejidad de enrutamiento a terceros que necesitan competir para completar transacciones utilizando liquidez en cadena como los pools de AMM o sus propios inventarios privados.
Con UniswapX, los traders podrán utilizar la interfaz de Uniswap sin preocuparse por si están obteniendo el mejor precio. Las transacciones de los traders siempre se registrarán de forma transparente y se liquidarán en la cadena. Todas las órdenes están impulsadas por el enrutador de órdenes inteligentes de Uniswap, lo que obliga a terceros a competir con Uniswap V1, V2, V3 y, al momento del lanzamiento, V4.
esencialmente, UniswapX fortalece el mecanismo de competencia y optimiza el deslizamiento de precios de cada pool de activos a través de la selección de enrutamiento de terceros.
Además, UniswapX también lanzó nuevos intentos:
Sin transacción de Gas, no hay cargo por fallo. El trader firma una orden única fuera de la cadena, que luego es presentada en la cadena por un tercero que paga Gas en nombre del trader. El tercero incluye la tarifa de Gas en el precio de la transacción, pero puede competir por el mejor precio ejecutando múltiples órdenes en lotes y reducir los costos de transacción.
Protección de MEV, devolviendo el MEV obtenido originalmente a través del arbitraje comercial a los traders a un precio mejor. 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 ser “intercaladas” y se incentiva a terceros a utilizar relés de transacciones privadas al enrutarse las órdenes a piscinas de liquidez en cadena.
La próxima versión de UniswapX entre cadenas combinará el intercambio y el puente en una sola operación sin problemas. Al utilizar UniswapX entre cadenas, los intercambiadores podrán cambiar entre cadenas en segundos y podrán esperar con ansias su progreso.
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 el AMM en el campo de la criptografía, V2 redujo la exposición al riesgo de ETH y lanzó un oráculo de precios más difícil de manipular, V3 resolvió el problema de la baja eficiencia de capital a través de la liquidez centralizada, V4 implementó un DEX personalizable, y el protocolo UniswapX se fortaleció a través del mecanismo de subasta. La competitividad de los agregadores de terceros permite la optimización del deslizamiento de precios.
Podemos ver que Uniswap se está innovando a cada paso del camino, reduciendo costos de préstamos, 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 perdure para siempre.