¿Qué es Uniswap?
Uno de los protocolos de intercambio descentralizados (DEX) más famosos que opera en la blockchain de Ethereum en la actualidad es Uniswap. Pero, Uniswap es mucho más que un DEX, de hecho este protocolo provee muchas otras funciones adicionales para los usuarios de DeFi sobre Ethereum. Incluso, recientemente lanzó su token de gobernanza llamado UNI con el cual busca impulsar el crecimiento e interés por la plataforma. Es por ello, que Uniswap se ha transformado en la actualidad en una de las plataformas más usadas de este ecosistema.
En este capítulo conocerás en detalle Uniswap, su funcionamiento y características. Así conocerás todo lo que tiene por ofrecerte este grandioso protocolo del mundo DeFi.
Uniswap, el origen
Uniswap nació como un proyecto pensado en ofrecer dos funciones: en primer lugar, servir de DEX dentro del ecosistema Ethereum. Y en segundo lugar, servir de protocolo de liquidez automatizado (automated market maker o AMM).
El hecho de que Uniswap se apoye sobre Ethereum y sus smarts contacts para alcanzar esto garantiza que no se requiere de ningún tipo de centralización para su funcionamiento. Además se integra con la gran cantidad de tokens ERC20 que existen.
En pocas palabras, Uniswap es un sistema completamente autónomo que sigue solo una cosa: su propia programación, la cual es transparente e inmutable.
Los inicios del proyecto son bastante singulares porque todo empezó con una serie de posts creados por Vitalik Buterin en 2017. El primero de ellos fue en Reddit, donde Buterin vislumbraba la capacidad de crear DEX sobre Ethereum. De hecho, este primer post fue el detonante de varios proyectos de este tipo. Más tarde en marzo de 2018, Buterin hizo alarde nuevamente de su conocimiento en otro post dirigido a los market maker descentralizados. En este punto, Hayden Adams publicó su idea, mostrando lo que sería su primer contrato para Uniswap.
Desde entonces, Uniswap ha sido un proyecto en constante evolución y desarrollo, lo que lo ha llevado a convertirse en la actualidad en uno de los mayores sistemas DeFi de Ethereum.
¿Cómo funciona Uniswap?
El funcionamiento de Uniswap se centra en dos puntos: en primer lugar, proveer de un medio de intercambio descentralizado (DEX) a sus usuarios, y en segundo lugar, proveer de un medio para crear un protocolo de liquidez automatizado (AMM).
En el primer caso, Uniswap funciona tal cual como los exchanges que acostumbramos a usar. Es decir, pedimos un cambio de una moneda a otra, y este cambio es realizado por la plataforma, en este caso de forma completamente descentralizada. Lo positivo de Uniswap en este punto es que el control de los fondos siempre está en manos del usuario (similar al protocolo 0x), y lo segundo, es que debido a la gran base de usuarios y liquidity providers (LP) de la plataforma, siempre hay una respuesta rápida para los intercambios.
Sin embargo, en este segundo aspecto hay un cambio importante con respecto a otra plataformas de AMM, y es que, Uniswap funciona bajo un diseño llamado Constant Product Market Maker (CPMM). Este modelo de funcionamiento lo que hace es crear reservas de liquidez (o grupos de liquidez) con las que los comerciantes puedan negociar rápidamente.
Si, estamos hablando de las liquidity pools que son mantenidas por los usuarios que desean tomar este rol, los cuales se ven incentivados a invertir en estas pools con el fin de obtener comisiones por su participación en las mismas. Este punto es lo que ha hecho de Uniswap una plataforma interesante para los usuarios, ya que la inyección de liquidez significa más ganancias, y dando origen a un fenómeno muy de moda actualmente, el liquidity mining o minería de liquidez.
Creando mercados y ganancias
El objetivo de este funcionamiento es claro: crear grandes pools de criptomonedas listas para ser cambiadas, y como resultado generar ganancias a los proveedores de liquidez y la plataforma como tal. Además, estas pools están configuradas de tal forma que los proveedores de liquidez tengan que depositar en ellas dos tokens. Normalmente, estos tokens son ETH o algún token ERC-20 compatible con la plataforma, incluidas las stablecoins. La idea de esto es crear un sistema de liquidez balanceado que permite la creación de opciones de intercambio que interesen a los proveedores de liquidez y los usuarios de la plataforma.
Por ejemplo, si los proveedores de liquidez crean una pool DAI/ETH, estos deberán ingresar valor en ETH y DAI. Una vez creada la pool, esta aparecerá listada en Uniswap y los usuarios podrán pedir intercambios en la misma.
Por ejemplo: si María quiere cambiar sus 100 DAI por ETH, todo lo que deberá hacer es ir a la pool DAI/ETH, hacer una solicitud de intercambio y esperar a que sea procesada. El resultado, es que el pool DAI/ETH tomará los 100 DAI de María y le enviará a esta 100 $ en ETH. Al final, dicho cambio quedará reflejado en la liquidez del pool ETH/DAI, puesto que ha ganado 100 DAI y perdido 100 $ en ETH. No obstante María recibirá el total menos la comisión del servicio, la cual se queda en Uniswap y es repartida entre los generadores de liquidez.
Sistema de control de precio y creación de pools
Sin embargo, en Uniswap es importante tener en consideración algunas situaciones. En primer lugar, en Uniswap se puede listar cualquier token. Para ello lo único que se necesita es crear un par de intercambio junto con su respectiva pool y añadir liquidez. Así por ejemplo, es posible que podamos crear nuestro token $MONEY (este es un token ficticio) y listarlo en Uniswap creando una pool $MONEY/ETH. En este punto, lo que debemos hacer es agregar liquidez que en este caso podrían ser 20 $ en el token $MONEY y 20 $ en ETH. Con esto habremos creado una pool listo para operar en Uniswap.
¿Quién determina el precio de intercambio?
El precio de compra y venta es determinado por el software, el propio smart contract lo determina. Para ello usa esta ecuación constante:
x * y = k.
Aquí la x e y hacen referencia a la cantidad de tokens ETH y ERC-20 dentro del pool, y k es un valor constante. Esta ecuación utiliza el equilibrio entre los tokens ETH y ERC-20, y la oferta y la demanda, para determinar el precio de un token en particular.
Cada vez que alguien compra $MONEY con ETH, el suministro de $MONEY disminuye mientras que el suministro de ETH aumenta, lo que al final se traduce en un aumento en el precio de $MONEY.
Como resultado, el precio de los tokens en Uniswap solo puede cambiar si se realizan intercambios. Básicamente, lo que Uniswap está haciendo es equilibrar el valor de los tokens y el intercambio de ellos en función de la cantidad de personas que quieran comprarlos y venderlos.
Adicionalmente, esto ayuda también a que ningún pool se quede sin liquidez en algún momento. La razón, es que este equilibrio de precios siempre busca ofrecer el mejor precio de intercambio en las pools, permitiendo que todas ellas tengan niveles de participación dentro del exchange de acuerdo al interés que muestren los usuarios y proveedores en su uso.
Generando pool tokens
Otro punto importante en el funcionamiento de Uniswap es la generación de los pools tokens. En primer lugar, debes tener en cuenta que siempre que se inyectan nuevos tokens a un grupo de liquidez de Uniswap, el proveedor de liquidez (LP) recibe un “pool token”, que también es, a su vez, un token ERC-20.
Esto quiere decir que los pools tokens se crean cada vez que se depositan fondos en el pool de liquidez y, como token ERC-20, los pools tokens se pueden intercambiar, mover y usar libremente en otras DApps. Cuando se recuperan los fondos, los pool tokens se queman o destruyen.
¿Qué beneficio reparte Uniswap a cambio de los Pool tokens?
Cada pool token recibido representa la parte del usuario de los activos totales del grupo y la parte de la comisión de negociación del 0,3% del grupo o pool de liquidez en el que participa. En pocas palabras, el pool token es el medio por el que los LP reciben sus recompensas dentro de Uniswap.
Cuando un usuario desea retirar sus beneficios deberá transferir sus pool tokens al smart contract del pool recibiendo su parte del 0.3% de comisiones que ha recaudado el pool.