¿Que es un uniswap?

¿Qué es Uniswap? ¿Cómo funcionan los Pools?

Uniswap es un exchange descentralizado que permite hacer intercambios (o swaps) entre una gran variedad de tokens..

¿Qué es Uniswap?

  • Uniswap es un exchange descentralizado que permite hacer intercambios (o swaps) entre una gran variedad de tokens como Ethereum
  • , Maker, DAI, USD Coin, BAT, etc., y es considerado como uno de los principales proyectos del espacio de DeFi (Finanzas descentralizadas).
  • Uniswap fue creado en el 2018 por Hayden Adams con un financiamiento de 100.000 dólares de la fundación Ethereum, y fue lanzado al mercado en noviembre del mismo año.
  • Uniswap inicialmente no contaba con un modelo de negocio que captura ingresos para los creadores, fue creado y puesto sobre la plataforma de Ethereum para uso público; aunque en la versión V2 contará con fees que permitirán tener recursos para el equipo que lo desarrolla.
  • Uniswap disrumpe la arquitectura tradicional de los exchange de los mercados tradicionales, los cuales operan por medio de un libro de órdenes, el llamado “order book”, mientas que Uniswap define una nueva forma de operar donde los precios se establecen de forma algorítmica, algo que viene a romper totalmente la industria de la intermediación tal como la conocemos actualmente.

¿Cómo funcionan los Order Book?

  • Para poder entender la disrupción que aportar Uniswap es importante en primer lugar entender como funcionan los mercados tradicionales. Estos funcionan con libros de ordenes, los cuales organizan todas las ordenes que se ingresan para compra o venta de tokens y/o acciones que se lanzan al mercado a un precio limitado.  Cada una de estas ordenes indica el número de títulos que se quieren comprar o vender, así como el precio al que se quiere realizar la operación. Todas estas ordenes son mostradas por el Broker organizadas por precios en dos grupos.
  • A la derecha están todas las ordenes de compra ordenadas de manera descendente para poder presentar la orden de compra a precio mas alto, de tal manera que cualquier inversor que quiera vender podrá encontrar el precio mas disponibles.
  • A la izquierda están todas las ordenes de venta ordenadas de manera creciente, de manera que el inversor que quiera comprar, tendrá en primera lugar la venta al precio más bajo.
  • Estas plataformas por tanto tienen dos tipos de forma de operar:
    • En la primera, a un precio limitado que permitirá a estos inversores posicionarse dentro de este libro de órdenes.
    • En la segunda,  los inversores que quieren comprar al mejor precio de manera instantánea, buscarán dentro de este libro de ordenes la mejor opción disponible.
  • La información que muestran los libros de ordenes sirve para saber el número de ordenes posicionadas en el lado de la compra y en el de venta, y por tal, si hay una mayor oferta y/o demanda del activo, y sobre que niveles de precios.
  • Con la información de los order book permite a software especializados simular y anticiparse a los movimientos de precios, y así colocar órdenes que sean las primeras en ejecutarse cuando un activo llegue a un determinado precio. Hay que tener en cuenta que en los exchanges también se pueden ingresar ordenes falsas que luego son retiradas con la intención de mover los precios hacia una dirección, para engañar al mercado y tomar los beneficios que se generen, es decir, pueden moverse los precios sin que haya operaciones.
  • Una de las desventajas con los exchanges tradicionales es que, si hay un escaso volumen de negociación en un mercado, los precios son susceptibles de ser manipulados, a veces con pocas órdenes, y en los momentos de crisis el mercado arrasa con los order book ejecutando operaciones a precios muy bajos, pudiendo ejecutar ordenes con apalancamiento (respaldas en un colateral) y ocasionando perdidas a los inversores.
  • El precio del activo es fijado por la ultima operación cruzada en el mercado. Si en un momento de stress todos los inversores retiran sus ordenes y no se encuentra una contrapartida, el precio puede llegar a caer prácticamente a cero, o incluso, si un inversor calcula la cantidad de ordenes que hay en el libro, puede de manera instantánea atacar una parte de las ordenes para hacer bajar el precio de forma inmediata.
  • Por este motivo los mercados a raíz de varios Flash Crash han establecido limites de movimientos, de manera que el mercado se detiene para evitar  movimientos que pueden generar operaciones a precios que solo tienen sentido ante este tipo de estrategias especulativas.  En algunos casos se detiene el mercado por 15 minutos, en otros casos se establecen rangos de fluctuación máximo para cada sesión.
  • Esto habla de la debilidad que tienen este tipo de arquitecturas para evitar este tipo de manipulaciones de precio ante sistemas que son muy rápidos en generar este tipo de operaciones.

¿Cómo opera Uniswap?

  • Uniswap es realmente disruptivo en este sentido dado, que propone un modelo totalmente diferente al que utilizan los mercados. En lugar de casar estas ordenes de inversores, Uniswap propone una arquitectura donde agente proporcionan liquidez para que los inversores puedan realizar estos swaps directamente contra esta liquidez y en consonancia con la oferta y la demanda este precio de mueva. Esta liquidez es lo que se conoce en uniswap como Pools. 
  • Es realmente una nueva forma de entender los mercados. Dado que los intercambios se realizarán directamente contra Pools de liquidez que calculan los precios de forma algorítmica de acuerdo a la oferta y la demanda de estos activos.
  • La formula que permite calcular el precio es la siguiente:

Invariant = ETH_pool * XXX_pool

Donde:

  • ETH_pool = número de ETH en el pool
  • XXX_pool = número de tokens en el pool
  • Invariant = resultado de multiplicar ambos números de tokens
  • Un ejemplo podemos verlo aquí con la siguiente figura:
  • Lo que se ve es que hay inversores que dejan capital en un pool de ETH-OMG; se deja el mismo capital por cada activo del pool (por ejemplo, con 100 USD, se deja 50 USD en ETH y 50 USD en OMG), y cuando se opera se va contra el pool, no contra un order book, el pool decide cuanto le da al usuario y mueve el precio con la lógica del algoritmo, que se puede aproximar como:
  • Cuanto más se demande de un activo, más sube de precio (si se compra mas ETH que OMG al pool, sube el precio del ETH).
  • Cuanto menos se demande de un activo, tiene menos valor (si se paga con OMG porque se desea tener ETH del pool, hace que OMG baje de precio).
  • Los precios en el pool están en función al tamaño del pool (liquidez). En pools de menor tamaño, los precios van a ser más sensibles a cuanto mayor sea la operación a realizar.

Unos Ejemplos del Pool de Uniswap

  • Veamos con unos ejemplos para una mejor explicación como opera Uniswap.
  • Supongamos un pool ETH-OMG, que se inicia con la misma cantidad de dólares para cada activo (con 100 dólares, por ejemplo, van 50 dólares para cada uno), se tiene entonces el pool con 10 ETH y 500 OMG. Esta información del pool nos dice lo siguiente:
    • El valor de 1 ETH es de 50 OMG
    • El multiplicador de ambos activos es 5.000 (10 ETH * 500 OMG = 5.000)
  • Si se quiere pagar con ETH para recibir OMG, se ingresan X unidades de ETH al pool, y este decide cuantas unidades de OMG se van a entregar según el algoritmo, ya que el multiplicador de 5.000 se va a mantener constante, y es el que decide las cantidades a entregar de OMG en cada transacción. Es decir, por cada ETH que ingresamos para comprar OMG, o viceversa, las unidades a recibir serán aquellas que se le deben de restar al pool para mantener que el multiplicador siga igual a 5.000.
  • Veamos los resultados del pool con los siguientes ejemplos:
    • Ejemplo 1. Compramos OMG con 1 ETH.
    • Ejemplo 2. Compramos OMG con 0,1 ETH.
    • Ejemplo 3. Compramos OMG con 10 ETH.
  • En cada caso tendremos los siguientes resultados:
  • En el primer ejemplo, cuando compramos OMG con 1 ETH, recibimos 45,45 OMG
  • Esto es debido a que, en el pool, los ETH de 10 pasan a ser 11 (por 1 ETH que se ingresó), y con el multiplicador igual a 5.000 (que no se altera), los OMG será el resultado de dividir el multiplicador (5.000) entre la nueva cantidad de ETH (11), que resulta igual a 454,55 (Multiplicador de 5.000 /11 = 454,45). Si los OMG del pool deben ser igual a 454,55, y en un inicio eran 500 OMG, la diferencia de 45,45 OMG salen del pool a cambio de 1 ETH que se ingresaron.
  • En el segundo ejemplo, por 0,1 ETH ingresado al pool, nos devuelve 4,95 OMG, es decir un precio de 49,5 OMG por 1 ETH.
  • Los 4,95 OMG recibidos son los que se deben retirar para que el multiplicador sea igual a 5.000. Esto es, si los ETH del pool ahora pasaron de 10 a 10,1 ETH los OMG del pool que quedarían en el pool disminuyen a 495,05 (Multiplicador de 5.000 entre 10,1 ETH = 495,05 OMG), por lo que deben de salir 4,95 OMG (500 OMG – 495,05 OMG = 4,95), para mantener la igualdad, y esta es la cantidad de OMG a recibir por 0,1 ETH ingresado.
  • En el tercer ejemplo, al comprar OMG con 10 ETH, recibimos 250 OMG a cambio, es decir 250 OMG por 1 ETH.
  • Otra vez, resolviendo la ecuación, multiplicador de 5.000 dividido entre los 20 ETH que ahora hay en el pool (5.000 / 20 ETH = 250 OMG), nos dice que deben quedar 250 OMG en el pool de los 500 OMG iniciales, por lo que recibimos 250 OMG por los 10 ETH ingresados, lo que nos da un precio de 12,5 OMG por cada ETH.
  • ¿Qué sucedería si en pool fuera más grande o más pequeño?
    • Si tuviéramos 100 ETH y 5.000 OMG, se obtiene un mejor precio porque hay más volumen, se ha agotado menos el pool. Cuanto más grande es el pool nos da un mejor precio.
    • El precio en Uniswap se dan con las operaciones, por lo que se necesita de un volumen muy grande para mover el precio.
  • En los mercados tradicionales, con el  libro de órdenes se puede mover los precios con una operación muy pequeña si se compra a un precio muy bajo cuando hay una crisis que se jala de un lado, se quita liquidez con cada tic. Cuando se cierra el mercado y se abre al día siguiente el order book se re-configura.
  • Si vamos con un ejemplo real, para comprar DAI con Maker (MKR) , el pool nos dice que por 1 MKR nos entrega 296,7386 DAI.
  • Pero con una cantidad mayor, por ejemplo para comprar 5.000 DAI, necesitamos pagar con 16,9443 MKR, a un precio de 1 MKR por 295,08 DAI (en el ejemplo previo era 296,7386 DAI por 1 MKR), es decir, con mayor unidades de compra, se recibe a un precio más bajo.
  • Si la intención fuera comprar 50.000 DAI, necesitamos 176,6207 MKR, y obtenemos DAI a un precio de 1 MKR por 283.092 DAI (menor a los 295,08 DAI al comprar 5.000 DAI)
  • Resumiendo las operaciones de ejemplo:
    • Para comprar DAI con 1 Maker (MKR) , el pool nos da un precio de 1 MKR por 296,7386 DAI.
    • Para comprar 5.000 DAI, necesitamos pagar con 16,9443 MKR, a un precio de 1 MKR por 295,08 DAI.
    • Para comprar 50.000 DAI, necesitamos 176,6207 MKR, y obtenemos un precio de 1 MKR por 283.092 DAI.
  • Los precios que nos da Uniswap varían ligeramente debido al cobro de una comisión del 0,3% en una transacción de ETH a token (o viceversa), y del 0,5991%, cuando el intercambio es de token a token.
  • Lo interesante de Uniswap es que se puede dejar dinero en el pool como parte de la liquidez, y recibir, en forma proporcional a la participación en el pool, los ingresos por las comisiones de cada operación.
  • Por ejemplo, si revisamos el pool de ETH-DAI que es de 6,068 millones de dólares, y en las últimas 24 horas ha operado 786 mil dólares, lo que en comisiones del 0,3% da un ingreso de 2.358 dólares. Si estos datos se mantuvieran constantes durante los 365 días del año, daría una rentabilidad del 14,1% anual, que se distribuyen de forma proporcional entre los que proveen de liquidez al pool, es decir si alguien tuviera el 10% del pool (696,8 mil dólares), recibiría el 10% del total de comisiones que el pool haya generado.
  • Hay que considerar que el riesgo en el pool se da cuando los activos bajan de precio, ya que, si los activos bajan de precio, se termina perdiendo más de lo que se hubiera perdido normalmente.

Unas notas finales

  • Uniswap tiene pools para cada par de tokens, es decir, hay un pool para el par ETH-MKR, otro para los pares ETH-DAI, ETH-BAT, y así para cada par.
  • Uniswap es un protocolo que permite intercambiar y crear mercados, con la creación de un nuevo par de tokens que se ingresen ya se está definiendo el precio, y se le está dando liquidez al token ingresado.
  • Como ejemplo, se tienen los Unisocks, calcetines que se ingresaron a un precio inicial de 12 dólares, (precio en tokens) y actualmente se pueden comprar a 69,25 dólares, y el último que las compre las tendrá a un precio más caro. Sin duda un ejemplo muy divertido, pero nos da una idea del potencial de Uniswap para dar liquidez y crear mercado para diversos activos. Muchas de las ICO (Inicial coin offering), podrían haber listados sus tokens y vuelto líquidas.
  • El concepto de Uniswap es innovador en la generación de precios frente al order book, con un alto nivel tecnológico, sencillo y de mucho potencial.
  • Las ventajas y oportunidades que nos puede ofrecer Uniswap son:
  • Ingresar como Market Maker y aprovechar las caídas de mercado para obtener rentabilidad, por lo que se puede percibir ingresos por la volatilidad y por los ingresos de los fees.
  • Oportunidades de hacer arbitraje
  • Generar ingresos pasivos si tener que desprendernos de nuestros tokens si los consideramos como una inversión de mediano o largo plazo.
  • No se tiene que ser trader para participar.
  • Es open source, lo que permite su integración con otras plataformas de finanzas descentralizadas (DeFi).