En esta guía descubrirás qué es Uniswap y cómo funciona. En pocas palabras, Uniswap es un protocolo que permite a los usuarios intercambiar tokens ERC20 sin la necesidad de recurrir a un exchange.
Seguramente, habrás oído hablar de Uniswap como parte del popular mundo de las DeFi, y que el motor de este protocolo reside en la ecuación X * Y = K. Se trata de la ecuación que el creador de Uniswap, Hayden Adams, tomó prestada de una propuesta de Vitalik Buterin.
Básicamente, Hayden se inspiró en el post de Buterin para implementar la ecuación a la hora de crear Uniswap, que no es más que un protocolo que aporta liquidez de manera automática.
Esta guía te ayudará a entender los siguientes conceptos:
Vayamos con la cuestión elemental de esta guía: ¿qué es Uniswap?
Uniswap es un protocolo que permite a compradores y vendedores intercambiar tokens ERC20 sin la necesidad de acudir a un exchange o depender de un libro de pedidos. Para ello, Uniswap hace uso de un algoritmo que determina automáticamente la tasa de intercambio aplicable en función de la relación entre los tokens y la demanda de intercambio.
La pregunta que muchos se hacen es por qué Uniswap está considerado un protocolo revolucionario. Más allá de las innovaciones técnicas que pueda haber detrás de Uniswap, lo llamativo del asunto es la provisión de liquidez. En los mercados tradicionales, es la actividad de los compradores y vendedores la que aporta liquidez, lo que suele complicar la tarea en algunos casos.
Nos referimos a un problema que afecta incluso a los exchanges descentralizados (DEX), ya que su éxito como empresa depende en gran parte de la capacidad que tengan para ofrecer liquidez a sus clientes.
La aproximación de Uniswap a este dilema es diferente: no depende de los traders e inversores, el aprovisionamiento de liquidez se automatiza. Uniswap permite a los DEX realizar intercambios de tokens ERC20 sin la necesidad de recurrir al clásico modelo de los mercados tradicionales para generar liquidez.
En la ecuación “X * Y = K”, la X y la Y representan respectivamente la cantidad disponible de ETH y de tokens ERC20. Por su parte, la K es una constante que puede ser determinada de diversas formas, pero su importancia es obvia. Siendo K una constante, al multiplicar cualquier valor asociado a X e Y, el resultado siempre debería ser el mismo.
Imaginemos que Alicia, una hipotética usuaria, decidiera intercambiar sus tokens ERC20 por unos ETH. El número de tokens ERC20 aumentaría, mientras que el total de tokens ETH disminuiría. En ese caso, el precio se movería hasta el punto rojo que vemos más abajo en la gráfica.
Este movimiento se debe a que, en referencia a la liquidez, tenemos más tokens ERC20 y menos tokens ETH. Es decir, estamos ante un algoritmo sencillo que determina el precio del intercambio de un par en función de la relación entre ambos tipos de token.
En marzo de 2020 se lanzó Uniswap V2. Se trata de una versión de Uniswap con una buena lista de actualizaciones y funciones nuevas. Evidentemente, estas novedades marcan ciertas diferencias entre las versiones V1 y V2 de Uniswap.
En Uniswap V1 todos los pools de liquidez están vinculados a los pares de tokens ETH y ERC20. En este sentido, los usuarios pueden obtener cualquier tipo de token ERC20 a través de Ethereum. El riesgo es mínimo en este sentido, ya que el ETH es el activo basado en Ethereum más líquido.
Esto significa que en Uniswap V1 siempre se ejecutan dos intercambios. Por un lado, se intercambian los tokens ERC20 por los ETH; por otro, esos ETH se vuelven a intercambiar por tokens ERC20 (en este caso, los que le interesan al usuario). En lo que a comisiones se refiere, hay un doble pago, obviamente.
Como resultado podemos enunciar algunas limitaciones para los usuarios de Uniswap V1:
Uniswap V2 nace para liberar a los usuarios de estas limitaciones. En esta versión de Uniswap, los usuarios disponen de tres opciones para intercambiar sus tokens. El instrumento usado para este menester es el “router contract”, que no es más que un mecanismo que vincula los tokens del usuario con el contrato de intercambio pertinente.
Las posibilidades son las siguientes:
Veamos cómo los usuarios de Uniswap facilitan la liquidez y cómo es posible aprovechar este mecanismo. Básicamente, los pools de liquidez se abastecen con el aporte de tokens ETH y ERC20 a parte iguales.
Efectivamente, luego serán las comisiones asociadas a las operaciones realizadas por los traders las que generen beneficios a los usuarios que aportan liquidez al sistema. El coste por intercambio es del 0.3%, una cantidad que va a parar al pool de liquidez, y de ahí, parte va a parar a los usuarios que aportaron sus tokens en concepto de liquidez.
Una de las novedades de Uniswap V2 son los “flash swaps”. En la práctica, se trata de una suerte de préstamo rápido de tokens ERC20. Según la página de Uniswap, los “flash swaps” te permiten retirar la cantidad de tokens que quieras sin coste inmediato y sin limitaciones para su uso.
Es decir, esta herramienta permite a los usuarios usar una cantidad ilimitada de tokens ERC20 sin coste directo y realizar todos los intercambios que deseen. Suena demasiado bien para ser verdad o, al menos, seguro.
Evidentemente, no hay operación sin riesgos asociados. Veamos cuáles son los peligros que esconden los “flash swaps”. Para empezar, ¿cómo se devuelven los tokens retirados? Hay tres posibilidades: devolverlos todos, devolver parte y pagar el resto o pagar la totalidad de tokens retirados.
En cualquiera de los tres escenarios, el riesgo reside en perder los tokens por el camino. Nada nuevo, ¿verdad? De hecho, este concepto tan goloso de préstamo exprés ya lo había introducido en el mercado Max Wolff en 2018 a través del protocolo Marble.
Wolff pensaba que estos contratos tenían un riesgo nulo asociado, o eso quiso decirnos. Por supuesto, el tiempo le ha quitado la razón. No son pocos los ataques perpetrados desde entonces a través de diversos protocolos (como ocurrió con bZx) usando este tipo de “flash loan”.
Está claro que la posibilidad de retirar un número ingente de tokens sin pagarlos directamente es un reclamo para los piratas informáticos y los ciberdelincuentes. No es de extrañar que algunos de los principales actores de la industria consideren este tipo de instrumentos como una amenaza para la salud de las DeFi.
En cualquier caso, Uniswap decidió ofrecer sus “flash swaps” sin miedo a los ataques; quizá porque los desarrolladores piensan que el riesgo de sufrir un ataque no es una cuestión de la herramienta, sino de la fortaleza del protocolo.
Una cosa está clara: la automatización de la provisión de liquidez es un paso de gigante para las DeFi, generando nuevas opciones de trading y ofreciendo oportunidades antes imposibles de aprovechar.