Lanzamiento del protocolo “Tinyman AMM 2.0”

Ha sido anunciada una nueva versión del protocolo “Tinyman AMM” que llegará en enero de 2023. En esta publicación de blog, nos gustaría brindar una descripción general del nuevo protocolo y explicar los próximos pasos. Brindamos estos detalles antes del lanzamiento para que los usuarios y los proyectos del ecosistema tengan tiempo suficiente de familiarizarse con el nuevo protocolo y prepararse para la migración.

Cambios en el protocolo Algorand

Desde el lanzamiento de Tinyman AMM en octubre de 2021, ha habido muchas mejoras en el protocolo Algorand que permiten a las aplicaciones realizar cosas más complejas e interesantes, al mismo tiempo que mejoran la seguridad y eliminan algunos de los puntos de fricción. Durante los últimos 6 meses, hemos estado trabajando en el diseño, la construcción y la prueba de una nueva implementación de Tinyman AMM que aprovecha estas mejoras.

Algunos aspectos destacados de este nuevo protocolo incluyen:

  • Cálculo dinámico de salidas para eliminar la necesidad de redimir.
  • Adición y eliminación de liquidez flexible.
  • Préstamos flash y swaps flash.
  • Configuración de tarifas dinámicas.
  • Componibilidad e interoperabilidad completas.
  • Comprobaciones de seguridad adicionales.
  • Mejora de la legibilidad del contrato.

Si bien esta es una reimplementación completa del AMM con nuevas características, algunas cosas siguen siendo las mismas:

  • Tinyman AMM V2 funciona sin permiso.
  • Tinyman AMM V2 es inmutable (no actualizable).
  • Tinyman AMM V2 no tiene claves de administración para pausar la actividad o drenar grupos.
  • Tinyman AMM V2 es transparente y de código abierto.
  • Tinyman AMM V2 es auditable.
  • Tinyman AMM V2 sigue siendo ridículamente rápido y barato de usar.

No más canjes

Una de las mejoras más importantes del protocolo Algorand en el último año, ha sido la introducción de Inner Transactions. Estas permiten que los contratos creen transacciones programáticamente. Esto permite a Tinyman calcular dinámicamente las salidas de intercambio y emitir una transacción por el monto total de dicha salida. Los contratos siguen garantizando con seguridad que se reciba la cantidad mínima prevista.

Esto elimina una fuente importante de fricción y confusión y, dará como resultado inmediato, una mejor experiencia de usuario.

No más App Opt-ins

Ahora que ya no necesitamos admitir canjes, tampoco necesitamos almacenar usuarios por estado en la cadena. Esto nos permite eliminar el requisito de participar en la aplicación de contrato de Tinyman. De esta manera, se liberarán algunos requisitos de saldo mínimo de los usuarios de Tinyman y eliminará otra fuente de fricción.

Las inscripciones de activos siguen siendo necesarias, pero ahora podemos agruparlas con los intercambios y otras operaciones para que los usuarios no tengan que firmarlos por separado. Esto acelerará el proceso y reducirá los pasos necesarios para los swaps.

Gestión de liquidez más flexible

Nos dimos cuenta de que un patrón muy común entre los usuarios que deseaban convertirse en poolers, era intercambiar un activo por otro y luego depositar una cantidad igual de ambos en el pool.

Hemos agregado una función que automatiza este paso a nivel de protocolo, para que un usuario pueda agregar liquidez a un pool con solo uno de los activos del grupo en una sola operación. También es flexible, por lo que el usuario puede agregar lo que tenga disponible de cada activo, y el pool equilibrará las cosas emitiendo la cantidad correcta de tokens de dicho pool por el valor combinado.

Es fundamental entender que el usuario todavía tiene exposición a ambos activos cuando usa esta técnica. El intercambio interno implícito es solo una característica de conveniencia del usuario. También es importante comprender que esta función es más adecuada para los pequeños poolers. Todavía es necesario que haya algunos poolers con una liquidez significativa en ambos activos para crear un grupo equilibrado.

Esta función también garantiza que toda la liquidez del usuario en el token LP se contabilice correctamente, incluso si proporciona liquidez en una proporción incorrecta. Esto mejora la seguridad para los nuevos poolers durante los períodos de alta volatilidad.

El protocolo ahora también admite la eliminación de liquidez en un solo activo. Este es el caso inverso del anterior, donde ocurre un intercambio interno implícito antes de devolver los fondos al usuario como el activo seleccionado.

Estas dos características nos permiten mejorar la experiencia del usuario, al simplificar los flujos comunes. Sin embargo, también sientan las bases para interacciones mucho más complejas de contrato a contrato.

Componibilidad e interoperabilidad

Una vez más, hemos aprovechado las últimas mejoras del protocolo Algorand para diseñar el protocolo “V2”, con el objetivo de que sea totalmente componible e interoperable. Esto significa que las transacciones de Tinyman V2 se pueden colocar dentro de los mismos pools atómicos que otras transacciones, y que Tinyman V2 se puede llamar desde otros contratos.

Esto nos permite a nosotros y a otros crear funciones sobre el protocolo para intercambios atómicos de saltos múltiples, órdenes limitadas, meta-pools y mucho más. Estas funciones ayudarán a mejorar la experiencia del usuario para los intercambiadores y, al mismo tiempo, impulsarán más volumen hacia los pools de Tinyman y generarán más tarifas para los usuarios.

Flash Loans & Swaps

Una característica que aprovecha esta componibilidad es Flash Loans. Ahora tenemos soporte para esto integrado en el protocolo para que los usuarios puedan tomar un préstamo sin garantía de un grupo, siempre que lo paguen dentro del mismo pool de transacciones.

Esto puede parecer una característica inútil, pero gracias a la naturaleza interoperable del protocolo y al espacio Algorand DeFi en desarrollo, habrá muchas oportunidades para obtener ganancias dentro de un solo bloque. Esta es una característica compleja y solo está diseñada para que la usen personas con un conocimiento detallado de los protocolos y estrategias de DeFi y, como tal, no se incluirá en la interfaz de usuario web. La inclusión de esta característica está impulsada por nuestra filosofía central de brindar herramientas financieras a todos, independientemente de su riqueza.

Los swaps y préstamos instantáneos están libres de riesgos para el protocolo (en un sentido financiero), y proporcionan una fuente de ingresos adicional para los poolers.

Tarifas Ajustables

Tinyman AMM V1 tiene una tarifa de intercambio fija de 30 puntos básicos, que se divide en 5:1 entre los poolers y el protocolo. Esto ha servido bien a los usuarios hasta ahora, pero hay casos en los que otras opciones de tarifas serían más adecuadas. Para activos vinculados/estables, una tarifa más baja que cause un menor impacto en el precio beneficiaría a los swapers.

El mayor volumen debido a tarifas más bajas también debería beneficiar a los poolers. En lugar de fragmentar la liquidez en varios grupos para diferentes niveles de tarifas de los mismos pares de activos, el protocolo V2 permite que las tarifas de un pool se ajusten con el tiempo. Todos los pools comenzarán con los valores predeterminados (igual que V1), pero la cuenta de “Fee Setter” puede cambiar la tasa de la tarifa dentro de los límites permitidos.

La intención aquí es que Fee Setter inicialmente sea una cuenta controlada por el equipo central de Tinyman y las tarifas solo se ajustarán para pares estables/fijos. Más adelante, tenemos la intención de introducir una función que permita a los poolers decidir colectivamente sobre las tarifas de su pool. En última instancia, tenemos la intención de que todas las tarifas sean controlables por Tinyman DAO cuando exista. El protocolo está diseñado para ser flexible en este sentido, de modo que la responsabilidad de establecer y cobrar tarifas pueda delegarse en contratos inteligentes o cuentas externas y revocarse si es necesario. Esto permite que las reglas y los mecanismos relacionados con las tarifas cambien con el tiempo, sin afectar ningún otro aspecto del protocolo. Se proporcionarán más detalles antes del lanzamiento, sobre las políticas relacionadas con los cambios de tarifas.

Un protocolo más seguro y transparente

Con cualquier protocolo, existen suposiciones de diseño y limitaciones técnicas inherentes. Los hemos documentado previamente para V1 y hemos puesto medidas de seguridad en la interfaz de usuario para evitar que los usuarios usen el protocolo de formas inesperadas. Con Tinyman V2 hemos podido ir un paso más allá y aplicar algunos de estos a nivel de protocolo.

Hay una serie de invariantes matemáticos/lógicos que deben mantenerse en el protocolo. En Tinyman V2, estos se verifican explícitamente después de cada operación para garantizar que, incluso con un comportamiento muy inesperado, los grupos no pierdan valor.

El protocolo sólo puede ser seguro si varias personas independientes pueden leerlo, comprenderlo y revisarlo fácilmente. Para ayudar en ese sentido, hemos trabajado en una serie de áreas:

  • Código fuente de contrato legible: hemos desarrollado un nuevo lenguaje para Algorand, Tealish, que nos permite expresar nuestra lógica e intenciones claramente a un alto nivel, mientras se compila en Teal legible de bajo nivel. Fergal Walsh (CTO de Tinyman) hablará sobre Telish y cómo se usó para V2 en Decipher 2022.
  • Auditorías: las especificaciones del protocolo y los contratos se analizaron y auditaron en múltiples niveles para intentar identificar muchos tipos diferentes de problemas. Esto incluye el análisis y el modelado de las especificaciones, el código fuente Teal y el código generado que finalmente se ejecuta en la AVM. Hemos trabajado con los auditores para que el proceso de auditoría sea más transparente de lo habitual. Publicaremos otra análisis de blog sobre esto en las próximas semanas, con referencias a los informes y todo el material de apoyo.
  • Bug Bounty: hemos trabajado con la Fundación Algorand e Immunefi para crear un programa de recompensas por errores, con recompensas de hasta 250.000 USD por problemas críticos. Este programa está disponible de inmediato y permanecerá activo después del lanzamiento de Mainnet.
  • Especificaciones y contratos públicos de código abierto: hemos publicado los contratos de origen, generamos Teal y el código de bytes final, junto con el documento de diseño y la especificación del protocolo. Esto permite que cualquier persona revise los detalles del protocolo para asegurarse de que su implementación coincide con sus expectativas.

Sin “gran botón rojo”

Regularmente nos preguntan por qué no hay un “Gran Botón Rojo” para que Tinyman pause los contratos si algo sale mal. Esta pregunta se planteó más a raíz del desafortunado incidente ocurrido en enero.

Mientras diseñábamos V2, pensamos mucho en esta pregunta. ¿Podemos implementar una función de pausa? ¿Cómo funcionaría? ¿Quién puede controlarlo? ¿Quién es el responsable de llamarlo? ¿Qué sucede después de la pausa? Entraremos en más detalles sobre esto en una publicación futura sobre problemas de seguridad, pero finalmente llegamos a la misma conclusión que teníamos cuando diseñamos V1; no existe un mecanismo de pausa seguro y útil que no comprometa los valores fundamentales de Tinyman y las DeFi en general.

Un mecanismo de pausa sin contratos actualizables no es muy útil y, los contratos actualizables son el otro lado de una línea que no estamos dispuestos a cruzar. Los contratos actualizables permitirían al equipo de Tinyman (o a un atacante), cambiar las reglas del protocolo y potencialmente tomar la custodia de la liquidez. El objetivo principal de las DeFi es evitar tales posibilidades.

Tus fondos, tu decisión

Nosotros, como equipo, estamos entusiasmados con el nuevo protocolo y hemos estado ocupados construyendo una interfaz de usuario nueva, así como también, mejorada.

Creemos que los usuarios tendrán una experiencia mucho mejor en general con el nuevo protocolo, pero en última instancia es su decisión como usuario del protocolo. Cuando colocaron sus fondos en V1, acordaron que estarían sujetos a las reglas y la lógica de los contratos de V1. Por diseño, no podemos cambiar esas reglas para transferir tu liquidez a V2. Debe ser tu decisión. Alentamos a todos los poolers que están en V1 a leer los detalles del protocolo y el informe de auditoría independiente, para decidir por sí mismos si desean migrar su liquidez a V2. El protocolo V1 continuará vivo en Algorand Mainnet por la eternidad y continuaremos admitiendo pools existentes en la interfaz de usuario web en el futuro.

Próximos pasos

Esperamos que estés tan entusiasmado como nosotros con la V2. Sin embargo, ¡esto es solo el comienzo! También tenemos muchas mejoras en la interfaz de usuario que se lanzarán con el protocolo. Los revisaremos en más publicaciones de blog en las próximas semanas. Después del lanzamiento, habrá mejoras y características adicionales construidas sobre la base que proporciona el protocolo V2.

También tendremos publicaciones adicionales sobre el plan de migración antes del lanzamiento.

Mientras tanto, sugerimos que te familiarices con los detalles del protocolo y hagas preguntas en nuestros espacios comunitarios.

Referencias

Documentación y especificación del protocolo V2.

Repositorio de Contratos V2.

Informe de auditoría de contratos V2.

Tealish Repo.


Este artículo ha sido escrito originalmente por Tinyman, publicado en https://tinymanorg.medium.com y traducido por AlgoLatam.

Original Article: https://tinymanorg.medium.com/tinyman-amm-v2-0-protocol-201e0f32f58d

Deja una respuesta

Tu dirección de correo electrónico no será publicada.