¿Cómo funcionan los Liquidity pools?

¿Alguna vez te has preguntado cómo funciona Buda.com para que puedas comprar o vender tus criptomonedas?

Buda.com, al igual que la mayoría de los exchanges centralizados y algunos descentralizados, ofrece un libro de órdenes como la base de su infraestructura para la compra y venta en un mercado. Este libro de órdenes es simplemente una colección de las órdenes actualmente abiertas de un mercado. Cada una de estas órdenes representa la disposición de alguna persona a comprar o vender en algún precio en particular.

Por ejemplo, podrías decir, “estoy dispuesto a comprar $1.000 en bitcoin a un precio de $20.000 / BTC” o “estoy dispuesto a vender 0.1 BTC a un precio de $25.000 / BTC”. La primera sería una orden de compra y la segunda sería una de venta.

Luego, se tiene un matching engine, que se encarga de emparejar las órdenes de compra con las de venta. Entonces, cuando alguien acepta un precio de compra o venta disponible, el matching engine se encarga de repartir los BTC al comprador y los $ al vendedor. El núcleo de estos exchanges es este motor junto al libro, ya que esto permite brindar un servicio de compra y venta para cada uno de los mercados que se quiere ofrecer.

Este modelo es genial para facilitar intercambios eficientes, y permitió la creación de mercados financieros complejos. Estos intercambios son hechos en un estilo “peer-to-peer”, es decir, cuando alguien compra, es porque otra persona está vendiendo.

¿Cuál es el problema con esto?

Nada… o, en realidad, depende. Esto modelo funciona perfecto cuando el usuario está dispuesto a confiar y entregar sus fondos al control del exchange en el cual quiere operar.

Esto sucede ya que mientras las órdenes están en espera en el saldo dentro de la plataforma o esperando ejecución en el libro, estos deben estar bajo el control del exchange para que se pueda hacer todo el intercambio de manera eficiente.

Sin embargo, en en el caso contrario, donde no se quiere entregar la custodia de los fondos a un tercero, este modelo genera un problema.

Ahora bien, este problema de custodia se puede solucionar, y lo hacen los exchanges estilo DeFi, pero surge un nuevo problema.

En esta situación, se hacen las compras y ventas de manera directa sobre la blockchain, u “on-chain”, siendo cada una de estas acciones (incluido la colocación y cancelación en el libro) una transacción.

Esto tiene la desventaja de depender tanto de los costos de esta red como los tiempos de transacción. Estos costos y tiempos adicionales puede no afectar mucho a un usuario normal, pero puede complicar mucho la operación de los proveedores de liquidez (Market Makers) de estos mercados, afectando de manera negativa el precio que se obtiene en estas compras y ventas.

Además, en este último modelo se depende de que alguien quiera hacer el esfuerzo de MM en un mercado no muy atractivo en muchos casos.

¿Hay otra manera?

Así es. Hay otra infraestructura para poder generar estos intercambios, pero sin la necesidad de un libro de órdenes, y de una manera “on-chain” (sin perder custodia de los fondos). Este se puede lograr gracias a los "automated market makers" (AMM).

En este caso, no se necesita una contraparte humana directa para ejecutar las compras o ventas. Son simplemente robots que están siempre disponibles para darte una cotización de compra y una de venta para un mercado determinado en ese momento.

Una de las principales ventajas de este modelo es que permite comprar y vender en mercados que, probablemente, serían muy pocos líquidos en exchanges basados en libros de órdenes. Permiten, en esencia, que cualquier persona cree mercados de manera fluida y eficiente.

En este modelo, cada acción que realiza una persona tiene de contra parte a este AMM, que al final del día, es simplemente un contrato inteligente. En otras palabras, pasamos de un modelo estilo “peer-to-peer” a uno “peer-to-contract”.

Aquí surge las principales preguntas… ¿De dónde saca este AMM los fondos para poder comprar y vender cada vez que lo requiera un usuario? ¿Cómo se obtiene un buen precio sin tener un libro de órdenes líquido? Esto se logra gracias a un liquidity pool.

Automated Market Maker: Qué Es un AMM
Te contamos que es un Automated Market Maker o AMM, cómo funcionan, qué son sus piscinas de liquidez y cuáles son las ventajas y riesgos de este tipo de mercado.

¿Qué es un liquidity pool?

Un liquidity pool (reserva de liquidez) es un conjunto de fondos depositados en un "smart contract" (el AMM). Cuando ejecutas una compra o venta en un AMM, no tendrás una contraparte en el sentido tradicional. En su lugar, ejecutarás la orden contra la liquidez del liquidity pool.

Para que el comprador pueda comprar, no es necesario que en el momento haya un vendedor, sino tan solo suficiente liquidez en la reserva. Esta reserva se compone de los dos tokens que se están intercambiando. Por ejemplo, puede haber un liquidity pool ETH/DAI, por lo que la reserva contiene una porción de ETH y una porción de DAI.

Ahora bien, estos fondos tienen que venir de algún lado. En este caso provienen de cualquier persona que quiere proveer esta liquidez. Los proveedores de liquidez (LP) agregan fondos a las reservas de liquidez.

Podrías pensar en una liquidity pool como una gran pila de fondos con los que los traders pueden usar para llenar sus órdenes. A cambio de proporcionar liquidez al protocolo, los LP obtienen tarifas de las operaciones que ocurren en su reserva. Por ejemplo, Uniswap v2 cobra a los traders un 0,3% que va directamente a los proveedores de liquidez.

Por último, en lugar de utilizar un libro de órdenes como los exchanges tradicionales, el precio de los activos se determina de acuerdo con un algoritmo de valoración. Algunos como Uniswap utilizan una fórmula simple; mientras que Curve, Balancer y otros usan fórmulas más complicadas.

Uniswap: Todo Sobre Este DEX
Conoce de qué se trata Uniswap, cómo funcionan los creadores automáticos de mercado y todo lo que debes saber sobre su token nativo UNI.

Entrando más en detalle…

La fórmula para determinar el precio puede variar en cada protocolo. Por ejemplo, Uniswap emplea x * y = k, donde x es la cantidad de un token en la reserva de liquidez, e y es la cantidad del otro token. En dicha fórmula, k es una constante fija, lo que significa que la liquidez total de la reserva siempre deberá ser la misma. Otros AMMs usan fórmulas alternativas para los casos de uso específicos que abordan. Lo que comparten todos ellos, sin embargo, es que los precios se determinarán algorítmicamente.

¿Por qué es importante atraer liquidez? Debido a la forma en que funcionan los AMM, cuanta más liquidez haya en la reserva, menor será el slippage de las órdenes grandes. Recuerda, el precio está determinado por un algoritmo. De una manera simplificada, se determina por cuánto cambia la relación entre los tokens en la reserva de liquidez después de un trade. Si la proporción cambia por un amplio margen, habrá una gran cantidad de slippage. Para entender esto mejor, digamos que quieres comprar todo el ETH en el pool ETH / DAI en Uniswap. Tendrías que pagar una prima exponencialmente cada vez más alta por cada ether adicional, pero aun así, nunca podrías comprarlo todo del pool. ¿Por qué? Por la fórmula x * y = k. Mientras más se acerque x o y a cero, mayor será el precio que tengas que pagar, tendiendo a infinito. Luego, el precio se define a partir de la proporción de token A y token B, price_token_A = reserve_token_B / reserve token_A.

Veamos un ejemplo real. Al momento de escribir esto (octubre 2022), el pool de ETH/USDT en Uniswap tiene 14.750.000 USDT y 11.310 ETH. Tomando en consideración la fórmula de precio que utilizan, esto nos dice que el precio de ETH con respecto a USDT es de 14.750.000 / 11.310 = 1.305 USDT.

Esta fórmula es lo único que determina el precio que el AMM ofrece. Esto es porque el AMM no actualiza el precio que ofrece si el mercado se mueve, sino, espera a que los mismos usuarios arbitren posibles diferencias de precio, por lo que es esperable que los precios que ofrezcan sean cercanos al precio mundial.

El gráfico muestra distintas curvas que pertenecen a diferentes fórmulas de valorización, y su impacto en el precio que se obtiene en caso de haber slippage.

Genial, pero ahora, ¿cómo puedo proveer liquidez a un liquidity pool?

Tomemos el ejemplo de la reserva ETH/DAI en Uniswap. La página para agregar liquidez se ve así:

Para participar debes proveer ambos tokens, DAI y ETH. El monto que aportas de cada token debe mantener la proporción que hay actualmente en el pool. Es por esto que si quiero aportar 1.000 DAI, entonces debe también aportar 0,77172 ETH. Como se puede ver en la foto, el precio actual es de 1296,14 DAI → 1.000 / 1296.14 = 0,77152. Luego, tu aporte corresponderá a un % de la liquidez total que hay. Es decir, cuando quieras retirar tus fondos, la proporción que recibirás dependerá de la composición de la reserva en ese momento, y tu saldo total siempre es medido como un % de la reserva total. Por último, al final se puede ver que al aportar a este pool, recibes un pago proporcional a tu aporte que proviene del 0.3% que cobra la plataforma.

En relación con la inyección de liquidez, en el caso de Uniswap, los LP depositan un valor equivalente de dos tokens, por ejemplo, 50% ETH y 50% DAI al grupo ETH / DAI. Es importante notar que tienen un porcentaje del total de la reserva, la cual va variando a lo largo del tiempo en su proporción entre los activos x e y. Cada vez que se haga un abono o retiro de liquidez, se debe mantener la proporción establecida, es decir, dicta la proporción entre los activos que compone cualquier ingreso o egreso de fondos.

¿Qué son los riesgos?

Hay tres riesgos principales al participar como proveedor de liquidez en estos pools.

  1. No todo lo que brilla es oro. Siempre hay que tener cuidado al utilizar plataformas DeFi para así intentar evitar caer en estafas o plataformas donde los mismos desarrolladores pueden cambiar las reglas de juego.
  2. Los contratos inteligentes pueden tener errores. Si bien no hay una persona que está manejando los fondos de la reserva, existe un contrato inteligente que los administra, y este puede estar sujeto a errores o vulnerable a alguna explotación de parte de un usuario mal intencionado. Esto es algo que ocurre con cierta frecuencia, y pocas veces se puede recuperar los fondos. Es por esto que es muy importante evaluar bien qué plataformas utilizar, para así minimizar este riesgo lo más posible.
  3. Otro riesgo es un concepto llamado pérdida impermanente. Esto suena complejo, pero es bastante simple. Tal como mencioné antes, tu saldo total en la reserva esta determinado por el % del pool que te corresponde, por lo que tu cantidad de ETH y DAI cambian de proporción constantemente junto al precio. Luego, es posible que tu saldo total medido en $ o en otra moneda cambie durante tu aporte a la reserva. En el caso de que este baje de valor, sufriste una “pérdida impermanente”.

*Invierte responsablemente

En Buda.com queremos recordarte que no trabajamos con asesores financieros externos y tampoco prestamos el servicio de asesorías de inversión. Ninguno de nuestros contenidos representa una recomendación de inversión. Cada persona asume plena responsabilidad en la compra y venta de sus activos dentro del ecosistema crypto.

Te decimos esto para que tengas cuidado con quienes busquen administrar tus inversiones y aseguren que trabajan con nosotros. Todos los mails que recibas de nosotros terminarán con @buda.com (ej. satoshi@buda.com). Lee nuestra Guía de Inversión Responsable para más consejos de seguridad que te ayuden a evitar malas experiencias en internet.

¡Si tienes dudas, hablemos! Escríbenos por el chat de soporte.**