Artículo de Blog

Liquidez, liquidez, liquidez...

Autor

George Kudrayvtsev

Fecha de publicación

Actualización de protocolo

AMM

Liquidez

A principios de noviembre, los validadores votarán si actualizar la red de Stellar al Protocolo 18, que implementa una nueva característica propuesta por primera vez en CAP-38, acertadamente titulado Creadores de Mercado Automáticos. Esta próxima característica ha tenido tanto al ecosistema como a la Fundación en expectativa por meses. El "tridente técnico" de SDF (como yo lo llamo) abordó el problema desde tres perspectivas: el equipo Core se centró en integrar la funcionalidad de fondos de liquidez profundamente en el protocolo, el equipo de Horizon se centró en exponer sus propiedades a los desarrolladores a través de nuevos puntos finales de API y soporte SDK, y el equipo de Ingeniería de Producto facilitó interactuar con ellos en el Laboratorio. En paralelo con SDF trabajando para exponer la funcionalidad de creación de mercado automático, el ecosistema está trabajando en productos nuevos emocionantes para aprovechar esa misma funcionalidad y permitir al mundo tomar ventaja del conjunto de características del Protocolo 18 desde el Día 1.

Aunque los AMM fueron popularizados por Uniswap en 2018, esta actualización hará que Stellar sea la primera blockchain L1 en integrar capacidades de AMM directamente en su protocolo. Esto significa que el rendimiento, la confiabilidad y las características únicas de la red de Stellar vendrán incluidas. Una de dichas características son los pagos de ruta, que te permiten combinar pagos e intercambio de activos: envías un activo, y tu destinatario recibe otro. Esta combinación de enviar y convertir es posible siempre que haya alguna ruta entre los activos, y es cómo Stellar atiende de manera nativa hacia pagos transnacionales.

El Protocolo 18 "aumentará" esta característica, haciendo que las rutas sean más fáciles de encontrar, admita mayores cantidades y logre tasas de cambio aún más confiables. En una palabra, los pagos de ruta serán más líquidos.

Fondos de Liquidez

Si posees el activo A en la red de Stellar y quieres pagar a alguien que solo acepta el activo B (como comprar productos europeos desde Estados Unidos), necesitas convertir A a B encontrando a alguien dispuesto a hacer un intercambio. Antes del Protocolo 18, ese “alguien” sería una o más órdenes en la bolsa descentralizada; después del Protocolo 18, ese alguien también podría ser un fondo de liquidez.

En su forma más simple, los fondos de liquidez permiten intercambios para un particular par de comercio: un conjunto de dos activos. Contienen reservas de cada activo, y la proporción de las reservas impacta la tasa de cambio (o precio). Las reservas provienen de los participantes, quienes [@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` propdepositan ambos activos en el par a cambio de participaciones en el fondo, y quienes pueden retirar esas participaciones para sacar activos de nuevo.

Un fondo de liquidez funciona ajustando automáticamente su precio basado en cómo los usuarios interactúan con él, ya sea a través de depósitos, retiros o simplemente intercambios. Su curva de precios está impulsada por una ecuación matemática, y el primer tipo de fondo de liquidez que los desarrolladores podrán crear en la red de Stellar está controlado por lo que se llama una curva de precio de producto constante.

¿Qué es un producto constante, de todos modos?

(Cualquiera que siga el mundo de las finanzas descentralizadas sabe que este tema está más que discutido, así que siéntete libre de saltarte esto si no necesitas otro primer sobre AMM.)

Primero manifestado en el mundo DeFi por Uniswap, la curva de precio de producto constante preserva la liquidez forzando a que una ecuación particular siempre sea verdadera (esto se conoce como un invariante).

En teoría…

Una forma simplificada de este invariante es:

Aquí, L es una cantidad particular de liquidez, mientras que X y Y son las reservas iniciales de los dos activos en el fondo. La idea es simple: cualquier ajuste a una reserva debería ajustar correspondientemente la otra de tal manera que L se mantenga igual (es decir, mantenemos un producto constante). Visualmente,

(Fuente: CoinDesk.com)

Por ejemplo, supongamos que empezamos con un fondo de liquidez EUR⇄USD con reservas de €180 y $100. Esto significa L=18000. Luego, ofrecemos €20 al fondo; ¿cuántos dólares deberíamos obtener a cambio?

Nuestra oferta hace que las reservas de euros crezcan a 200, pero aún necesitamos preservar L = 18000. Eso significa:

El fondo actualmente tiene $100, así que necesita pagar $10 para preservar el producto constante. En otras palabras, ¡acabo de intercambiar mis €20 por $10 del fondo!

Nota que esta tasa de cambio es diferente (1:2) que las proporciones definidas por el fondo (1:1.8). Esto es porque la tasa de cambio real difiere basada en cantidad: cuanto mayor el cambio en la proporción final del activo, mayor la disparidad entre la tasa de cambio "aparente" (precio al contado) y la tasa de cambio real. Esto significa que tanto grandes reservas como pequeñas transacciones llevan a estabilidad en la tasa de cambio dentro de un particular fondo de liquidez.

Para demostrar este punto, supongamos que ofrecimos €0.10 al fondo. La cantidad de dólares en el fondo se ajustaría de la siguiente manera:

Esto es una tasa de cambio de alrededor de 1:1.67, mucho más cercana a lo que esperaríamos. Poniendo solo €0.01 nos daría una tasa de cambio de 1:1.1801. En otras palabras, la proporción de reserva define la tasa de cambio "infinitesimal", pero la realidad se ajusta basada en la cantidad intercambiada.

En la práctica…

La ecuación actual es un poco más complicada:

Para todos los propósitos de este post, estas diferencias no son muy relevantes, pero podemos resumirlas brevemente:

  • ¿Qué es F? Este valor define una comisión por comerciar con el fondo. Estas comisiones incentivan a los usuarios a participar activamente en el fondo a través de depósitos (en oposición a solo [@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` propintercambiar pasivamente con el fondo), dando a los participantes la oportunidad de retirar más liquidez de la que pusieron. Como Uniswap, el protocolo de Stellar define la comisión como 0.3%, así que F = 0.003.
  • ¿Qué pasa con x y y? Estos codifican los deltas que ocurren en el fondo que formaban parte de las ecuaciones intermedias anteriormente. Como vimos, x era la cantidad del activo X siendo introducido en el fondo durante un intercambio particular.
  • ¿Por qué \(\bf\le\)? Irónicamente, esto hace que “producto constante” sea un poco un nombre inapropiado en el mundo de las curvas de precio automáticas: el producto no es constante en absoluto. Esto se debe a la comisión: el invariante ahora especifica que la cantidad de liquidez puede crecer con el tiempo desde las reservas iniciales del fondo XY.

El primer punto es probablemente el más importante: proporcionar liquidez a un fondo te da la oportunidad de embolsar algunas de las comisiones incurridas por su uso. Para más sobre habilitar la participación en el fondo de liquidez participación, revisa próximamente una entrada en el Glosario sobre el tema.

Con nuestros poderes combinados...

Ahora que entendemos cómo funcionan los fondos de liquidez, descubramos su verdadero poder. Al combinarlos junto a los mecanismos de pago de ruta existentes de Stellar, surge algo hermoso. Pero antes de entrar en eso, refresquemos nuestra memoria sobre cómo funcionan esos.

Un breve aparte sobre los pagos de ruta

(Esta sección está pensada como un rápido repaso sobre el tema, siéntete libre de saltártela si ya estás familiarizado con los pagos de ruta; alternativamente, consulta la redacción de Kolten o las operaciones relevantes si deseas más información.)

Supongamos, por ejemplo, que soy un cliente de EE. UU. (con dólares estadounidenses) y tú eres un comerciante europeo (con euros). Quiero comprar algo de ti, pero tú solo aceptas euros. Por suerte, tengo un par de amigos muy metidos en forex: Alice y Bob. Alice siempre está buscando obtener dólares por sus pesos argentinos, y Bob busca obtener pesos por sus euros. Puedo cambiar mis dólares con Alice, cambiar los pesos resultantes con Bob, y finalmente pagarte en euros.

Obviamente, este sería un proceso tedioso de hacer en la vida real, especialmente si hubiera muchos "saltos" entre los activos que tengo y los activos que aceptas. Más importante aún, en el mundo real del trading, cada comercio impacta en las tasas de cambio, y hacer un comercio USD→ARS y luego un comercio subsecuente ARS→EUR por separado podría dar una tasa de cambio diferente a la que inicialmente esperas, porque el primer comercio podría impactar en el precio del segundo.

Los pagos de ruta en la red de Stellar resuelven estas preocupaciones. Los saltos intermedios necesarios para hacer caminos desde activos que tienes hasta activos que tus receptores aceptan son irrelevantes: simplemente digo que quiero que mi receptor reciba X euros por mis Y dólares, y Horizon automágicamente sugerirá cadenas eficientes de posibles comercios para hacer que ese pago ocurra. Además, la red ejecuta toda la cadena a través del libro de órdenes atómicamente, lo que significa que siempre aseguras el precio actual.

Esta característica, junto al soporte nativo de Stellar para representar cualquier activo que puedas imaginar, hace que sea un mecanismo de pago increíblemente eficiente. También lo convierte en una fantástica plataforma de intercambio de activos, ya que un pago de ruta a ti mismo es solo un comercio. Así que sí, los pagos de ruta a través del intercambio son poderosos, pero esto ni siquiera es su forma final...

El poder de los fondos de liquidez

Como Freiza durante la Guerra en Namek, los pagos de ruta se transformarán en algo mucho más poderoso con el Protocolo 18. Ahora, un camino entre cualquier par de comercio puede saltar tanto a través de órdenes en el intercambio y a través de fondos de liquidez.

Imaginemos un libro de órdenes sin fondos de liquidez (nota que las tasas de cambio aquí son puramente imaginarias y usadas para propósitos de demostración):

Encontrar caminos de comercio óptimos de dólares a euros a mano es un poco tedioso, pero factible. Podemos comerciar (aproximadamente):

Observa una limitación fundamental: No podemos obtener más de 7 euros por la simple virtud del hecho de que solo hay 7 euros en venta en todo el libro de órdenes.

Aquí es donde brilla la belleza de los fondos de liquidez: introduzcamos uno para ARS⇄EUR. Lo iniciaremos con 100 euros y 170 pesos.

Ahora, en este ejemplo no solo podemos obtener más euros en total, sino que incluso podemos obtener mejores precios en ciertas proporciones!

Agotamos la orden de 2 EUR @ 1.7 AST con solo 3.4 pesos, pero hay 6.6 más en el libro de órdenes. Sin embargo, necesitamos tener cuidado: como se mencionó antes, los precios del fondo de liquidez dependen de las cantidades. Este fondo paga €3.75 por 6.6 pesos, pero esa es una tasa efectiva más baja que lo que otros caminos a través del libro de órdenes pueden ofrecer. Podemos comprar hasta 5.6 AST, sin embargo, y superar las órdenes basadas en yen.

En general, los intercambios potenciales que podemos hacer aumentan drásticamente:

Esto ni siquiera es una lista exhaustiva: las elipsis en la tabla indican que un rango completo de comercios puede hacerse como un salto óptimo en un camino. Cada uno tiene tasas de cambio ligeramente variadas dependiendo de la cantidad, y el fondo de liquidez puede hacer posibles comercios entre los otros “niveles”. El potencial general solo se expande a medida que hay más reservas o fondos de liquidez disponibles para intercambiar.

Fundamentalmente, los fondos de liquidez introducen una manera simple, fluida de asegurar buenos precios para pagos y comercios sin depender de órdenes estáticas.

Si y cuando los validadores voten por la actualización del Protocolo 18 para implementarse en la red, los desarrolladores que construyen en Stellar podrán añadir nuevas características de participación en el fondo de liquidez a sus aplicaciones permitiendo a los usuarios crear, depositar, retirar y (¡posiblemente!) cobrar comisiones. Tanto los desarrolladores como los usuarios también disfrutarán de una liquidez aumentada y fiabilidad en las tasas de cambio en cualquier lugar donde ya aprovechen los pagos de ruta. La belleza de la integración sin problemas de los fondos de liquidez en los pagos de ruta es que cualquier fondo válido será automáticamente considerado a medida que los usuarios realicen pagos transnacionales, intercambien activos o realicen comercios.

¿Qué sigue?

La introducción de capacidades de fondo de liquidez en el Protocolo 18 es un gran salto técnico hacia adelante. Stellar es la primera red importante en habilitarlas nativamente en su protocolo, y cualquiera que construya productos utilizando esta nueva característica obtiene una integración profunda junto con todo lo demás que Stellar tiene para ofrecer.

Dicho esto, la versión del Protocolo 18 de la funcionalidad de fondos de liquidez es realmente solo un punto de partida. El protocolo continúa evolucionando basado en la retroalimentación del ecosistema, y el futuro de los fondos de liquidez tiene mucho potencial: comisiones dinámicas, intercambio de 3+ activos por fondo, diferentes curvas de precios, ¡y más! La mejor ventaja de este soporte nativo para fondos de liquidez es integración sin problemas: si solo quieres comerciar el activo A por el activo B a través de pagos de ruta, los esfuerzos futuros continuarán haciendo eso más fácil y fiable; no son necesarios cambios de tu parte. Pase lo que pase, automáticamente obtienes las ventajas de la evolución continua y mejoras en las capacidades de fondo de liquidez de la red!

¿Te encanta lo que has visto? Dirígete al Laboratorio para familiarizarte con las nuevas operaciones del Protocolo 18, o consulta la entrada del glosario para una inmersión técnica más profunda junto con ejemplos de SDK para comenzar a trabajar con fondos de liquidez!