Exchanges descentralizados y pools de liquidez

Antes de comenzar y ver que son los exchange descentralizados, pools de liquidez o los automatic market marker es conveniente que hagamos un breve repaso sobre que son las DAaps y su relevancia en el ecosistema DeFi.

¿Preparados?

Aplicaciones descentralizadas (DAaps)

Las DAaps o aplicaciones descentralizadas no son nada más y nada menos que programas informáticos muy parecidos a los comunes, con la diferencia de que su lógica de funcionamiento se basa en smarts contract y cuyo código se almacena de manera inmutable en la blockchain, logrando de este modo la descentralización sobre su control y de todas las funcionalidades para las que ha sido programado.

Si hacemos una división de la arquitectura de estas DAaps en dos partes bien diferenciadas como pueden ser el back-end –parte encargada de toda la lógica– y el front-end, –parte con la interactúa con los usuarios, es la parte visible de la aplicación– es necesario entender que la parte que se almacena y se ejecuta sobre la blockchain es el back-end, aunque no necesariamente tiene porque ser toda la lógica, sino la parte más sensible y susceptible a cambios y manipules. No tendría sentido incluir el front-end en la blockchain ya que supondría un extra de costes innecesarios y posibles complicaciones futuras si queremos ir mejorando o modificando toda esta parte visual.

Cuando un usuario ejecuta o utiliza una de estas aplicaciones, lo que realmente está haciendo es interacciones con smart contracts programados para llevar a cabo el correcto funcionamiento de la aplicación.

Una vez puestas en marcha estas DAaps, no se podrá modificar su lógica de funcionamiento, volviéndose más seguras y confiables que las aplicaciones tradicionales alojadas en servidores centralizados. Además, todo su código es público y auditable por lo que cualquier persona del mundo lo podría comprobar e informar de posibles errores, además de desarrollar nuevas versiones mejoradas a partir de la anterior, aprovechando toda la inteligencia colectiva del ecosistema.

Finanzas descentralizadas (DeFi)

Por otro lado, DeFi o finanzas descentralizadas hace referencia a un nuevo sistema financiero basado en la tecnología blockchain como medio para descentralizar todos los productos financieros que se ofrecen dentro de él. Este ecosistema esta principalmente sustentado por aplicaciones o mejor dicho protocolos que interactúan entre ellos ofreciendo un nuevo mundo de posibilidades al sector de las finanzas, donde los usuarios se sitúan en el epicentro permitiendo interacciones financieras entre ellos con total independencia de un agente intermediario, o lo que es lo mismo, haciendo que todo el valor generado les retorne, en vez de quedarse concentrado en unos pocos como venía sucediendo hasta el momento.

Las DAaps son una pieza clave de todo el ecosistema DeFi ya que si queremos desarrollar un sistema financiero descentralizado no tendría sentido hacer uso de aplicaciones centralizadas, cuyo control y gobernanza está en manos de empresas u organizaciones que asumen toda esta responsabilidad.

Con todo esto claro, podremos entender en que se basan los exchanges descentralizados, así como los pools de liquidez y cuál es su propuesta de valor.

¿Qué es un exchange descentralizado?

Un Exchange descentralizado o DEX constituye una de las partes más importantes del DeFi, siendo un medio de intercambio basado en mecanismos de comercio autónomo y descentralizado conocidos como automated market maker (AMM). Estos DEXs operan a través de smart contrats conocidos como pools de liquidez que permiten el intercambio entre pares de tokens sin la necesidad de libros de órdenes.

Tranquilos, vamos a ver primero cómo funcionan los mercados tradicionales y ahora volvemos con esto.

¿Cómo funcionan los mercados tradicionales?

Como hemos podido intuir, los mercados tradicionales funcionan mediante libros de órdenes, es decir, un conjunto de intenciones de compra y venta que se registran de forma organizada con la finalidad de comercializar un activo. Si una persona quisiera comercializar su activo, imaginemos BTC por UST, tendría dos formas de hacerlo. La primera de ellas es comprar o vender a precio de mercado satisfaciendo la orden de compra o venta que se encuentra en la primera posición del libro de órdenes.

La segunda vendría dada cuando se desea comprar o vender a un precio diferente al de mercado, en ese caso, registraría una orden con el propósito de comprar o vender a un precio determinado, y esperaría a que algún comprador o vendedor esté dispuesto a comprar o vender a ese precio.

Como vemos estos mercados funcionan como lugar de encuentro entre la oferta y la demanda estableciendo el precio del activo mediante el valor que los compradores y vendedores están dispuestos a pagar. El problema de este mecanismo es que muchas veces la falta de liquidez provoca una diferencia brusca de precios entre las órdenes de compra y venta ocasionando que el proceso de intercambio sea poco eficiente y dinámico. Además, en caso de caídas bruscas en el mercado, provocadas por oleadas de órdenes de venta, el precio puede llegar a caer a niveles muy bajos o incluso a cero, ya que el precio descenderá hasta encontrar alguna orden de compra.

Para evitar estos problemas los mercados tradicionales utilizan los Market Marker (MM), entidades con mucha liquidez que colocan órdenes a ambos lados del mercado, volviéndolo más atractivo y fluido en su intercambio. La desventaja de los MM es que las intenciones de compra y venta no son reales, sino que se trata de manipulaciones en las ofertas que hacen variar el precio del activo de forma forzada.

Automated market marker

Con la intención de despojar a los intermediarios que existen en los mercados tradicionales como por ejemplo los Market Maker, y automatizar el proceso de intercambio de activos de una forma totalmente descentralizada y abierta para todos, surgieron los AMM.

La primera gran diferencia es que ya no existe un libro de órdenes de compra/venta y tampoco necesitamos de dos partes –comprador y vendedor– interesadas en realizar un intercambio, pero entonces, ¿Cómo funciona?

El funcionamiento se basa en los pools de liquidez que permite intercambiar (hacer swaps) entre dos pares de tokens. Podemos imaginar un pool de liquidez como una caja fuerte en cuyo interior tenemos dos pares de activos, los cuales yo puedo retirar o depositar de la caja siempre y cuando proporcione el otro activo. Si nos encontrásemos con un pool de liquidez entre el par BTC/UST y mi intención es comprar BTC, iré a este pool solicitaré el retiro de BTC y a cambio depositaré UST en la proporción que este pool establezca.

Estos pools de liquidez no dejan de ser smart contract que custodian los tokens y establecen el precio de los mismos, ya no a través de órdenes de compra/venta si no a través de funciones matemáticas y algorítmicas, que fijarán el precio de los activos teniendo en cuenta los movimientos y el estado del pool.

¿Cómo funcionan los pools de liquidez?

Para que entendamos mejor como el smart contract establece el precio nos apoyaremos en un ejemplo práctico.

Cuando hablemos de pools nos referiremos a los más simples y populares del momento, aquellos donde solo se intercambian dos pares de tokens, – ya que en algunos se pueden intercambiar más de dos– para simplificar la explicación.

La fórmula matemática utilizada para establecer el precio es la siguiente:

invariant= activo1 * activo2

Volviendo al ejemplo anterior, pongamos el caso de un pool de liquidez entre el par BTC/UST, donde se encuentran almacenados 2 BTC y 91.500 UST, el invariant (invariant = BTC * UST) para este pool será de 183.000 (2 x 91.500). Este valor se mantendrá fijo siempre y a partir de él se recalculará la cantidad de activos que tendrá que devolver para cada uno de los swaps.

Imaginemos que un usuario quiere intercambiar 1 BTC por UST a través de este pool, por lo que este pasaría a tener 3 BTC a cambio de una reducción de UST, que será justamente la parte que le devolverá al usuario en el intercambio.

Volviendo a la fórmula nos encontraríamos con la siguiente situación 183.000 = 3 x UST, despejando UST nos daría un resultado de 61.000 UST, es decir, el pool ha pasado de tener 91.500 UST a tener 61.000 UST, la diferencia entre estos dos valores es lo que devolverá en el intercambio, por tanto 30.500 UST (91.500 UST – 61.000 UST).

Si quisiéramos hacer otro intercambio en este pool la cantidad de UST que nos devolverá será menor a la anterior, ya que el precio del swap está directamente relacionado con la liquidez del mismo. En este caso estaríamos estresando al pool al seguir solicitando UST a cambio de BTC. Obviamente a efectos prácticos habría otros usuarios que estarían haciendo la operación contraría y compensaría el intercambio equilibrando el pool. En este sentido, es importante remarcar que cuanto mayor liquidez disponga el pool menor será el coste del swap y viceversa, incentivando a los usuarios a hacer intercambios en momentos de alta liquidez y desincentivándolos en la situación opuesta.

Veamos entonces cuanto nos devolvería el pool si queremos hacer otro intercambio de 1 BTC.

Aplicando de nuevo la formula; 183.000 = 4 * UST, por tanto, el pool mantendrá esta vez 45.750 UST después del intercambio, lo que significa que el usuario recibirá esta vez 15.250 UST (61.000 UST – 45750 UST) por 1 BTC.

Este ejemplo es solo a modo explicativo y está exagerado para que podáis entender como responderían los pools ante intercambios constantes a favor de un token. En la práctica por suerte estas diferencias de precio son mucho menores, siempre y cuando obviamente la liquidez del pool se sitúe en valores óptimos en relación a su usabilidad.

La siguiente pregunta que deberíamos hacernos es, ¿Quién aporta esta liquidez al pool?

Proveedores de liquidez (LP)

La respuesta es, los liquidity providers (LP) o mejor dicho cualquier persona del mundo dispuesta a depositar sus tokens a cambio de una rentabilidad.

Usar un pool para realizar intercambios entre tokens lleva implícito un coste asociado que suele estar entorno al 0.2% y 0.6% por swap, el cual se utiliza para recompensar a los LP por su aportación, volviendo de esta manera al sistema mucho más eficiente, debido a que la liquidez se puede ver como el combustible, una parte fundamental para asegurar la supervivencia y estabilidad de los DEXs. Sin ella como hemos visto anteriormente los costes por operación serían demasiado elevados y los usuarios se sentirían desincentivados por realizar intercambios dentro del DEX, y eso a su vez conllevaría a que los LP se sentirían más incentivados a mover su liquidez a otros pools donde los intereses por su contribución fuesen más elevados.

Algunos de los DEX más conocidos y usados a día de hoy en algunas de las principales redes son:

  • Uniswap (red de Ethereum)
  • Sushiswap (red de Ethereum y compatibles)
  • Pancakeswap (red de Binance Smart Chain)
  • Trader Joe (red de Avalanche)
  • Raydium (red de Solana)
  • Astroport (red de Terra)

Riesgos de los pools de liquidez

Mencionar que los pools de liquidez no están libres de riesgos y que los LP pueden verse afectados por un tipo de pérdida conocida como impermanet loss, ocasionada por las fluctuaciones continuas de los diferentes pares de tokens que conforman los pools, ocasionando una diferencia de valor en dinero entre su aportación al pool en el momento de contribuir a la liquidez y la cantidad que recibe al retirar sus tokens del mismo.

Vamos a ver como sucede esto.

Retomando el ejemplo anterior imaginemos que un LP decide aportar 0,5 BTC y 22.875 UST (se deberá aportar los dos tokens en la misma proporción, 50:50), teniendo en cuenta que un 1 BTC corresponde a 45.750 UST en ese instante. Si en el pool en el momento del deposito tiene un valor total en UST de 183.000 UST, se establecería que la asignación del LP supondrá un 25% del total de pool (45.750 UST / 183.000 UST). Este 25% se mantendrá constante independientemente de las fluctuaciones del precio de los tokens del pool, por lo que cuando el LP decida retirar sus fondos, tendrá derecho a un 25%.

Si el precio del BTC hipotéticamente se multiplicase x2 pasando a 91.500 UST, la proporción entre BTC/UST cambiaría reduciéndose la cantidad de BTC y aumentando la cantidad de UST manteniendo la relación inicial del pool constante. Como hemos mencionado anteriormente, el invariant se mantiene fijo.

Vamos a calcular como quedaría ahora esta proporción después del aumento de precio del BTC.

Sabemos que el precio del BTC lo podemos calcular mediante la siguiente operación: cantidad de BTC en el pool / cantidad de UST en el pool.

El invariante se mantiene en 183.000.

A partir de la fórmula del invariant podemos deducir la liquidez (cantidad) de BTC y UST que dará como resultado el aumento del precio del BTC. La formula quedaría de la siguiente manera:

Liquidez BTC= raíz cuadrada (invariant / precio del BTC).

Liquidez UST= raíz cuadrada (invariant x precio BTC).

Por lo que la cantidad de BTC pasaría a ser de 1,414 y la cantidad de UST pasaría a ser de 129.400,5 UST. Si multiplicamos ambos valores vemos que el invariant no ha cambiado.

En este contexto, si el LP retirase su aportación del pool le devolvería el 25% del total, es decir el 25% de 1,414 BTC y el 25% de 129.400 UST, lo que nos daría 0,35 BTC y 32.350 UST. El valor en UST sería de 64.525 UST (0.35 BTC x 91.500 UST + 32.350 UST).

Sin embargo, si el usuario en vez de aportar liquidez al pool hubiese mantenido sus activos en cartera, el valor actual de los mismo teniendo en cuenta la subida del BTC, sería de 68.625 UST (0,5 UST x 91.500 UST + 22.875), una diferencia  negativa de 4.100 UST (64.525 UST – 68.625 UST).

Como hemos podido observar el impermanent loss es un factor a tener en cuenta a la hora de depositar liquidez a un protocolo, sobre todo si nos encontramos ante tokens altamente volátiles o mercados alcistas donde el pool está formado por un token y un establecoin como en este ejemplo. En el caso de mercados bajistas, el efecto sería el contrario pudiéndonos ver beneficiados por las fluctuaciones a la baja del token depositado al aumentar la tenencia del mismo.

Por otro lado, recordar que esta pérdida solo se materializa si se retira la liquidez del pool y que la rentabilidad que obtenemos por nuestra aportación en forma de intereses podría recompensar o incluso superar esta pérdida en situaciones desfavorables. Por ello, es importante hacer un estudio con detenimiento y evaluar si es o no rentable convertirnos en LP, para cada caso particular.

Conclusión

Como hemos podido observar este sistema de intercambios descentralizado supone un cambio disruptivo con respecto a sus homólogos centralizados, permitiendo que cualquier persona pueda contribuir a la liquidez de los DEXs y obtener una rentabilidad extra por sus activos, ofreciendo además la oportunidad a los emisores de tokens de crear nuevos mercados para comercializarlos y dotarlos de liquidez sin la necesidad de listarlos en un exchange centralizados, con los altos costes y posibles rechazos que eso conllevaría.

En este sentido Domoblock aprovechará está maravillosa forma de aportar valor y liquidez para listar los security tokens de los proyectos inmobiliarios que emita, creando un mercado secundario que potenciará la liquidez de los inversores, al permitir salir de la inversión vendiendo sus participaciones cuando este así lo quiera. Un punto diferenciador con respecto a las inversiones inmobiliaria tradicionales.

DeFi supone un cambio en la manera en que se desenvuelve el nuevo ecosistema financiero y esto solo el principio, la innovación acaba de comenzar.