Intents y AA
Abstracción: Introducción y Usabilidad
La alta carga cognitiva con la que lidian los usuarios para transaccionar pasó a ser algo normal. Así mismo, sigue siendo una barrera crítica para la adopción.
La combinación Intents + Account Abstraction esta teniendo mucho protagonismo en Web3 con el objetivo de solucionar este problema. Inspirados en modelos declarativos ya muy exitosos en Web2, estos enfoques trasladan parte de la lógica de ejecución a agentes externos.
Veamos cómo se redefine la interacción con la blockchain, impulsando un gran salto en usabilidad, eficiencia y diseño de protocolos.
Origen
El concepto de Intent no es nuevo. Ha existido desde hace mucho tiempo y se destacó especialmente desde el boom de los motores de búsqueda como Google en Web2. Ya que los usuarios escriben en la barra de búsqueda un intent cualquiera y así, éstos motores de búsqueda brindan resultados de búsqueda relevantes para satisfacerlo.
Con el auge de las plataformas de e-commerce como Amazon e eBay, las arquitecturas intent-based pasaron por muchos cambios. Tan sólo es necesario que el usuario exprese el intent que quisiera para comprar productos y las plataformas se hacen cargo de la logística.
En relación a esto, un reporte de Gartner propone el concepto de Intent-based Networking, en donde "la clave es presentar una interfaz a los usuarios en la que la única necesidad es la de expresar lo que quieren. Por lo que la plataforma va a manejar el resto de los detalles."
Este concepto es posible trasladarlo a Web3. Si bien no esta 100% definido, las aplicaciones ya existentes que son intent-based en Web3 coinciden en un flujo esencial: los usuarios inicializan la creación de un intent off-chain, para luego trasladar la ejecución dicho intent a los Solvers. Este enfoque encapsula la complejidad las interacciones en la blockchain, dando a los Solvers la responsabilidad de gestionar mientras los usuarios mantienen el control sobre el proceso onchain.

Qué son los Intents?
El método estándar actual a través del cual los usuarios interactúan con Ethereum es creando y firmando transacciones. Mensajes con un formato específico que proporcionan toda la información necesaria para que la EVM ejecute una transición de estado. Sin embargo, crear transacciones puede ser muy complicado, ya que requiere razonar sobre una amplia red de smart contracts y otros detalles como la gestión de nonces. A su vez, el usuario holdea un asset en particular para pagar el gas.
Mucha complejidad conduce a una UX para nada óptima y a una pérdida de eficiencia debido a que los usuarios se ven obligados a tomar decisiones sin suficiente acceso a la información o estrategias de ejecución sofisticadas.
Definición 1
Los intents se han creado para aliviar estas cargas que tiene el usuario. Una forma de definir a un intent consiste en lo siguiente:
Un conjunto de restricciones declarativas que permiten al usuario trasladar la creación de transacciones a un tercero sin renunciar al control total a quien realiza la transacción.
En el flujo estándar basado en transacciones que conocemos, una firma de transacción permite al validador seguir exactamente una ruta computacional para un estado determinado. Al mismo tiempo, una sugerencia lo incentiva a hacerlo.
Definición 2
Por otro lado, un intent no especifica qué ruta debe tomarse, sino que se tome aquella que cumpla con los constraints determinados. Al firmar y compartir un intent, un usuario autoriza a los destinatarios a elegir una ruta computacional en su nombre.
Esta distinción permite una definición ligeramente más rigurosa de las intents:
Son mensajes firmados que dan paso a un conjunto de transiciones de estado desde un estado inicial. Un caso especial de transacción que permite una transición de estado única.
Siendo así, se puede distinguir a los intents de las transacciones.
Es importante destacar que se pueden incluir múltiples intents en una sola transacción, lo que permite el match de intents superpuestas, aumentando la eficiencia económica y del gas. Los intents han ganado especial atención al mismo tiempo que Account Abstraction. Sobre todo durante presentación y salida en vivo del ERC-4337.
Ciclo de Vida de un Intent
Si bien los intents optimizan la experiencia de los usuarios al momento de transaccionar, son técnicamente complejas. Muchos equipos de devs trabajan construyendo sistemas de intents, pero el flujo general de una transacción intent-centric es el siguiente:
Off-chain submissions: los usuarios utilizan una wallet para enviar un intent.
Llegada al mempool o submission directa al blockbuilder: Las transacciones pueden llegar a un mempool o enviarse directamente a los blockbuilders para una ejecución más rápida. La elección entre un mempool alternativo, uno estándar o la omisión total de la mempool depende de los requisitos del intent. Por ejemplo, los swaps de alto valor, especialmente los que siguen el ERC-4337, suelen estar diseñados para omitir por completo el mempool público. Esto se hace para mitigar los riesgos asociados a prácticas depredadoras de MEV, como el front-running y los sandwich attacks. En su lugar, estas transacciones se envían directamente desde los bundlers, que a menudo actúan como constructores de bloques, para garantizar un proceso de transacción más rápido y seguro.
MEV searchers encuentran oportunidades: Si se utilizó una mempool para la transacción, los MEV searchers ven los datos y buscan la ruta óptima para que los intents se hagan realidad. Así también, para encontrar una oportunidad de obtener profit. Los MEV searchers pueden optar por resolver las transacciones ellos mismos o vender la información encontrada a los solvers. En la mayoría de los casos, los MEV searchers no sólo descubren oportunidades, sino que también actúan como solvers.
Los solvers compiten por la ejecución óptima de transacciones y la creación de paquetes de intents: Los solvers actúan como market makers, compitiendo para ofrecer a los usuarios la mejor ejecución de transacciones. Los usuarios buscan la solución más económica y rápida para sus intents, y los solvers que la ofrecen reciben una comisión. Los solvers agrupan múltiples intents en paquetes, lo que permite su ejecución en una sola transacción. Posteriormente, los envían a los blockbuilders para su posible inclusión en bloques posteriores.
Block Building y validaciones: Los blockbuilders seleccionan paquetes y los agrupan en bloques. Estos bloques se envían a los validadores para su inclusión onchain. Esta etapa representa el ensamblaje y la validación final de los intents, garantizando su correcta ejecución y registro en la blockchain.
Intents + Account Abstraction en desarrollo
Algunas arquitecturas y sistemas intent-based se han convertido en una de las mejores soluciones en cuanto a interacciones cross-chain por parte de los usuarios finales. Ya que ponen en práctica la abstracción de complejidades cuando se usan los bridges tradicionales.
Una de las dificultades principales es el acceso a suficiente liquidez y una red de fillers activa entre chains. Se vuelve más difícil inclusive a medida que van lanzándose muchas más chains con el tiempo. Lo cual provoca una mala experiencia de uso, altos costos y tiempos de espera, así como posibilidades de falla más frecuentes.
Esto es parte de la motivación de la aparición del estándar que promueve a los crosschain intents.
ERC-7683 Crosschain Intents
Este ERC propone un framework unificado para definir y satisfacer los crosschain intents, facilitando a los usuarios la interacción con múltiples chains en acciones como transferencia de tokens o ejecución de contratos inteligentes. Estandarizando la manera en que los intents son creados y procesados, se busca: dinamizar estas interacciones crosschain, mejorar el acceso a la liquidez y promover mejor interoperabilidad entre chains.
Los sistemas intent-based se enfrentan a evidentes desafíos que limitan su escalabilidad y efectividad:
Acceso a suficiente liquidez: Pensemos en un usuario que quiera hacer swap entre Ethereum y Fantom puede encontrarse con la dificultad de falta de liquidez en una cadena u otra, lo que provoca demoras o imposibilidad de ejecutar ese intent. Ésto pasa especialmente en transacciones de grandes montos, ya que los DEXs pasan por la fragmentación de los pools de liquidez que resultan en slippage muy alto y trades poco eficientes. No sólo se aplica en los swaps sino en acciones más complejas como el yield farming.
Redes de Fillers activos crosschain: Los fillers deben ser incentivados a ejecutar los intents rápidamente. Pero, los diversos entornos de las varias chains que existen lo hace muy difícil de ponerlo en práctica. Sin un ecosistema de fillers activos que esté bien estructurados, los crosschain intents no se pueden satisfacer y se experimentan ineficiencias.
Esta implementación da paso a un amplio rango de intents para realizar acciones crosschain: transferencias simples, swap de tokens crosschain, staking, provisión de liquidez y más. Los usuarios pueden especificar detalles como la chain de destino, tipos de tokens e incluso detalles más específicos como deadlines para la ejecución y price limits. El ERC-7683 provee un formato estándar para transmitir estos intents, permitiendo el desarrollo de dApps y fillers para operar crosschain.
Es bueno apuntar que el ERC-7683 no especifica de qué manera ocurre la verificación crosschain después de haber transmitido los crosschain intents. Por lo que esa verificación pasa a mano de la dApp o el usuario a través del campo “Settler Contracts”. Dicho campo permite seleccionar un contrato settlement con un proceso de verificación **confiable y que se adapta al caso de uso.
Open Intents Framework
El Open Intents Framework es una iniciativa de open source liderada por la Ethereum Foundation, Hyperlane y Bootnode, con el objetivo de descentralizar y hacer accesibles los intents a todo el ecosistema de Ethereum. Su propósito es evolucionar hacia un bien público que sea impulsado por la comunidad.
Es un framework de código abierto y modular para construir y desarrollar experiencias de productos orientados a Intents. En vez de construir infraestructura para Intents desde cero, los devs pueden valerse de las modular abstractions, incluyendo un solver y contratos inteligentes componibles. Este framework facilita la personalización y el deploy de protocolos intent-based con facilidad.
¿De qué se compone el Open Intents Framework? Son tres componentes principales, ya con implementaciones iniciales para facilitar los siguientes pasos:
Implementación de solvers
Contratos Inteligentes componibles
Una plantilla de UI pre-construida

Infraestructura para Intents
ERC-4337: El objeto
UserOperation
en ERC-4337 representa el intent del usuario, incluido el token para pagar el gas, las opciones de pago, los métodos de inicio de sesión, el reemplazo del memory pool de transacciones actual, logrando aplicar Account Abstraction y mejorando la experiencia de interacción con las wallets.Brindando soporte a facilities relacionados a Account Abstraction: Safe, ZeroDev, Biconomy, StackUp, Blocknative, Alchemy Rundler, AA-Bundler, infinitism Bundler.
Brindando soporte a facilities relacionados a Intents: Juvix (lenguaje de programación basado en intents), Seaport (protocolo de trading de NFTs open source), Gelato (capa de automatización Web3 que brinda servicios automatizados para smart contracts), Delegatable (herramienta de proxy de smart contracts), Hyper Oracle (servicios de automatización off-chain), symm io (framework intent-based de trading de derivativos onchain).
Ejemplos de Projectos
Slover API: PropelleHeads.
Intent API: EnsoFinance.
Intent base swap infrastructure: Bob the Solver, Brink.
Composable intent tools: Essential.
Wallets: Safe, Biconomy, Argent, Ambire, Sequence, Versa.
Dex: CowSwap, Paraswap, Uniswap, 1inch, BananaHq, basedmarkets.
Frontends: Unibot, Dora, Web3 Analytics, kaito.ai.
Adopción de Smart Wallets
Los UserOps (objetos UserOperation en ERC-4337) en cierta forma, dieron lugar a un nuevo layer. Los usuarios expresan su intent, un bundler compila éste y demás intents para convertirlos en transaciones ejecutables ya firmadas. Implementaciones de Cuentas Inteligentes Modulares (Modular Smart Accounts) como ZeroDev, Biconomy y Safe son algunos de los protagonistas de la adaopción de Intents+Account Abstraction. Esta tendencia lleva consigo el potencial de dar lugar a la era de las SCW (Smart Contract Wallets). Mas información en esta recurso de Dune creado por NiftyTable
Cierre
La combinación Intents + Account Abstraction marca un punto de inflexión que se espera que sea aprovechado cada vez más a favor de la adopción real. Que el usuario pueda expresar qué desea lograr sin pensar en el cómo, forma parte de la normalidad en Web2 y esto debe ser así en Web3. La teoría ya está siendo puesta en práctica por wallets, DEXs y plataformas cross-chain que permiten experiencias más seguras, fluidas y accesibles. El camino hacia una Web3 verdaderamente intent-centric ya está más allá de papers y otras investigaciones.
Recursos complementarios
Last updated