Uniswap es un protocolo descentralizado cuyo principal objetivo es proporcionar liquidez al ecosistema de Ethereum, permitiendo el intercambio de tokens ERC-20 sin intermediarios, de forma rápida y eficiente, resistiendo a la censura y priorizando la seguridad
¿Qué es Uniswap?
Según el whitepaper del proyecto, Uniswap V1 es un protocolo de liquidez automatizado, que está implementado por un sistema de smart contracts en la blockchain de Ethereum, y que obedece a una fórmula de producto constante.
Su principal objetivo es dotar de liquidez al ecosistema de Ethereum sin necesidad de intermediarios de confianza, y teniendo como prioridad la descentralización, la resistencia a la censura, y la seguridad.
En la Figura 1 podemos ver los principales actores que intervienen en el ecosistema Uniswap.

Figura 1: Participantes del ecosistema Uniswap. Fuente
Los Liquidity Providers (LPs) son aquellos usuarios que deciden aportar liquidez al protocolo de Uniswap mediante el depósito de un par de tokens ERC-20 en las reservas de un fondo de liquidez o pool, gestionado por un smart contract. Por hacerlo, los LPs reciben una recompensa que es proporcional a la cantidad de su aportación.
Los Traders con aquellos usuarios, bots, o smart contracts que realizan intercambios de tokens ERC-20 en los pools de liquidez con los que trabaja el protocolo. En todos los casos, las operaciones de intercambio están sujetas a una comisión fija que obedece al 0,3%, y que se utiliza para incentivar a los usuarios que aportan liquidez.
Además de los LPs y los Traders, existen múltiples desarrolladores y proyectos DeFi que utilizan las funcionalidades de Uniswap como base o valor añadido, lo que hace a Uniswap la mayor y principal fuente de liquidez para el ecosistema Ethereum.
Uniswap V2 es la nueva y actual implementación del protocolo, y aunque esté basada en la V1, ha incluido notables mejoras que pasamos a describir a continuación:
- Permite la creación, por parte de los usuarios, de pares arbitrarios de tokens ERC-20/ERC-20 sin la necesidad de que uno de los activos sea obligatoriamente ETH.
- Proporciona un Oráculo que acumula el precio relativo a los dos activos que intervienen en cada par al comienzo de cada bloque, lo que permite que otros smart contracts de Ethereum puedan estimar el precio medio ponderado de los activos en el tiempo en intervalos arbitrarios.
- Proporciona Flash Swaps, los cuales con préstamos que permiten a los usuarios de Uniswap acceder a la liquidez de los activos que maneja sin tener que dejar una garantía como colateral, siempre y cuando se devuelva la cantidad prestada, mas una comisión, en la misma transacción en la que se concedió el préstamo. Un Flash Swap no es más que la forma que tiene Uniswap de llamar a un Flash Loan que se produce en su sistema. A los lectores interesados en profundizar sobre el concepto de Flash Loan en el ecosistema DeFi, les recomendamos que accedan al contenido del siguiente enlace.
Funcionamiento
Uniswap trabaja con un conjunto de pares, gestionados por smart contracts, que administran la liquidez de pools formados por reservas de dos tokens ERC-20.
Dichos pares operan como mercados automatizados que permiten intercambiar liquidez según la fórmula de producto constante, que obedece a la expresión x*y=k. Las operaciones que se producen dentro de un par, no deben cambiar el producto k de los saldos de la reserva de un par de tokens xey.
Los precios son determinados por la cantidad de cada token, dentro de cada par. Como hemos indicado anteriormente, los smart contracts que manejan cada par, mantienen una constante usando la expresión x*y=k, en al que x es el token0, y es el token1, y k es una constante. En cada operación que se realiza, una cierta cantidad de tokens son eliminados del pool, por una cierta cantidad del otro token, que se añaden. Como consecuencia, para mantener la constante k, los balances, gestionados por los smart contracts, son ajustados durantre la ejecución de las transacciones, cambiando los precios.
Cualquiera puede ser un LP, aportando liquidez a un pool con un valor equivalente de cada token subyacente, a cambio de Pool Tokens (tokens del pool). Estos tokens del pool sirven para gestionar la cuota prorrateada de los LPs en las reservas totales de los pools, y se pueden canjear por los tokens subyacentes en cualquier momento (Figura 2).

Figura 2: Esquema de un Liquidity Provider en Uniswap . Fuente
Por otro lado, cualquiera puede realizar un swap o intercambio de tokens ERC-20 dentro de los pares con los que trabaja Uniswap. Por cada intercambio realizado, el protocolo aplica unas comisiones de un 0,30%, las cuales son añadidas a las reservas del pool. Dichas comisiones servirán para recompensar a los LPs por aportar liquidez a los pools. El pago de dichas recompensas, se realizará cuando se quemen los tokens del pool con motivo de retirar su parte de los activos de las reservas totales (Figura 3).

Figura 3: Esquema de un Trader en Uniswap. Fuente
Arquitectura
Uniswap tiene una arquitectura basada en una serie de smart contracts y de componentes que determinan el comportamiento del sistema.
Por un lado se encuentran los Core Contracts, los cuales se encargan de las siguientes tareas:
- Gestionar la lógica del protocolo.
- Crear un sólo contrato por cada par de tokens únicos.
- Proporcionar la seguridad necesaria para que todos los participantes del ecosistema puedan interactuar con Uniswap.
- Servir como creadores de mercado automatizados.
- Realizar un seguimiento de los saldos de tokens dentro de los pools.
- Exponer datos que se puedan usar para construir oráculos de precios descentralizados.
Por otro lado, se encuentran los Periphery Contracts, los cuales constituyen un grupo de smart contracts que tienen como propósito gestionar las interacciones que se producen por parte de la comunidad con el núcleo de Uniswap.
Los lectores interesados en profundizar en el estudio de los smart contracts que trabajan en el protocolo de Uniswap, pueden hacerlo a través del siguiente enlace.
Liquidity Tokens
Cada vez que un LP aporta liquidez a un pool, este recibe Liquidity Tokens (también llamados Pool Tokens), acuñados por el sistema, en proporción a la cantidad aportada por el LP en dicho pool. Estos tokens sirven para representar la contribución del LP a la liquidez del pool, y se pueden vender o transferir por parte del mismo.
Como ya hemos señalado anteriormente, cuando se produce un swap o intercambio en un pool, el protocolo aplica una comisión del 0,3% que se distribuye proporcionalmente a la cantidad aportada, entre todos los LPs que existen en el pool.
Los LPs, para poder recuperar la liquidez aportada, mas las comisiones recibidas mientras su liquidez estaba bloqueada, deberán quemar sus Liquidity Tokens.
Gobernanza
Uniswap recientemente ha añadido a su protocolo el token de gobernanza UNI con un suministro total de 1.000.000.000 tokens. El 60% de dichos tokens van a ser repartidos entre los miembros de la comunidad. Como consecuencia, los usuarios del protocolo que hayan realizado operaciones en el mismo antes del 01/09/2020, pueden reclamar sus tokens UNI.
Además de lo anterior, todos aquellos que quieran obtener tokens UNI, podrán o bien comprarlo en los diferentes exchanges que lo trabajan, o bien pueden obtenerlo haciendo Liquidity Mining en los cuatro pools que Uniswap ha habilitado para ello, mediante los siguientes pares: ETH/DAI, ETH/USDT, ETH/USDC, y ETH/WBTC.
Los propietarios de tokens UNI podrán votar directamente o delegar su voto para aprobar nuevas propuestas de gobernanza del protocolo, como por ejemplo, asignar tokens UNI para subvenciones, aprobar asociaciones estratégicas, aprobar nuevas iniciativas de gobernanza, o añadir nuevos fondos de Liquidity Mining.
A través del siguiente enlace, se puede acceder al portal de gobernanza de Uniswap para poder votar nuevas propuestas.
A los lectores interesados en profundizar sobre el sistema de gobernanza de Uniswap, les animamos a leer el contenido del siguiente enlace.
app.uniswap.org
Los usuarios podrán participar en el protocolo Uniswap a través de la aplicación app.uniswap.com. Para ello, deberán conectar una billetera al protocolo (por ejemplo, Metamask) con el fin de, o bien depositar fondos en un pool de un par de tokens ERC-20 (Figura 4), o bien realizar un swap o intercambio de un token ERC-20 por otro (Figura 5).
En la Figura 4 se muestra como un usuario de Uniswap aporta liquidez al protocolo mediante el par ETH/DAI. Al indicar que quiere aportar 100 ETH, el protocolo le comunica automáticamente la cantidad de DAI que debe bloquear, además de indicarle la relación, en cuanto al precio se refiere, en el momento actual, que tiene el ETH con el DAI, el DAI con el ETH, y la participación en el pool que va a tener según su cantidad aportada (un 0,02% en el caso del ejemplo). Además, el protocolo le informa al usuario de dos cuestiones. La primera es que al agregar liquidez en el pool, va a recibir «pool tokens», los cuales representan su posición en el pool, y que se pueden canjear en cualquier momento. La segunda, es que va a ganar el 0,3% de las operaciones de intercambio que se van a realizar en el pool, de forma proporcional a su aportación del 0,02%. El 0,3% corresponde a las comisiones cobradas en todas las operaciones de intercambio que se realicen en el pool, las cuales serán añadidas al pool en tiempo real, y podrán ser reclamadas en el momento de retirar la liquidez del mismo.

Figura 4: Añadiendo liquidez a un pool de Uniswap mediante el par ETH/DAI . Fuente
En la Figura 5 se muestra como un usuario de Uniswap realiza un swap o intercambio de tokens ERC-20 en el par ETH/COMP. Al indicar que quiere intercambiar 100 ETH, el protocolo le comunica automáticamente la cantidad de COMP que va a obtener, además de indicarle la relación, en cuanto al precio se refiere, en el momento actual, que tiene el ETH con el COMP y viceversa. Además, el protocolo le informa al usuario de tres cuestiones. La primera es la cantidad mínima de tokens COMP que se va recibir del intercambio. En el caso del ejemplo, si el precio de alguno de los activos sufre variaciones grandes de su valor, que hacen que la cantidad de tokens COMP a recibir sea menor de 256,4, la transacción se revertirá y no tendrá efecto. La segunda cuestión tiene que ver con el impacto del precio, es decir, la diferencia entre el precio de mercado y el precio estimado por Uniswap, debido al tamaño de la operación. La tercera cuestión, tiene que ver con las comisiones que se tienen que pagar por realizar el intercambio, y que son del 0,3% respecto a la cantidad a intercambiar. En el caso del ejemplo de la Figura 5, como se intercambian 100 ETH, se pagará una comisión de 0,3 ETH, la cual se añadirá al pool, y finalmente servirá para como recompensa para incentivar a los LPs que estén aportando liquidez en este par.

Figura 5: Intercambio de Tokens ERC-20 en el par ETH/COMP . Fuente
En conclusión
A la fecha en la que se escribe este artículo, Uniswap se encuentra en la primera posición de los protocolos DeFi, según el valor de los activos bloqueados, el cual asciende 2,24 Billones de Dólares (Figura 6).

Figura 6: Posición de Uniswap en el ecosistema DeFi. Fuente
Esta primera posición no es casual, ya que, en primer lugar, Uniswap ha conseguido implementar una plataforma descentralizada de intercambios (DEXes), que permite a todos los usuarios, sin restricción, usar o crear cualquier par de intercambio entre dos tokens ERC-20 cualesquiera. En segundo lugar, ha conseguido incentivar a los proveedores de liquidez (LPs) con altas comisiones, lo que permite tener una alta liquidez en los pares de intercambio con los que trabaja. En tercer lugar, premia a su comunidad con su token de gobernanza UNI, con el cual se pueden votar las propuestas que se hagan en la evolución del protocolo. Dichos tokens UNI se pueden obtener mediante Liquidity Mining en la propia plataforma de Uniswap, y se pueden vender o transferir fuera o dentro de Uniswap. Además de lo anterior, permite realizar Flash Loans, mediante sus préstamos Flash Swaps, lo que hace que múltiples plataformas DeFi usen a Uniswap como complemento o herramienta para sus propósitos.
Como consecuencia, Uniswap ha conseguido revolucionar el ecosistema de los exchanges, ofreciendo múltiples características que generan un alto valor añadido muy atractivo para la comunidad.
Referencias
- Uniswap Home: https://uniswap.org/
- Whitepaper Uniswap V2 Core: https://uniswap.org/whitepaper.pdf
- Uniswap V2 Docs: https://uniswap.org/docs/v2/
- Uniswap Governance: https://app.uniswap.org/#/vote
- Uniswap App: https://app.uniswap.org/#/swap
- Uniswap FAQ: https://uniswap.org/faq/

