
Account abstraction (AA) se ha convertido en un avance crucial en el ecosistema de Ethereum, transformando radicalmente la forma en que se gestionan las cuentas individuales en la blockchain. Esta metodología innovadora aborda numerosos obstáculos que tradicionalmente han dificultado el acceso para usuarios ajenos al entorno cripto, haciendo la tecnología blockchain más accesible y fácil de usar. Al separar las fuentes de las transacciones de las firmas y aportar una flexibilidad superior en la seguridad de las cuentas, AA supone un salto cualitativo en la usabilidad de la blockchain, con EIP-4337 como pieza clave de esta evolución.
Para comprender account abstraction, primero hay que conocer la estructura básica de las cuentas en Ethereum. La red Ethereum distingue dos tipos principales de cuentas: externally owned accounts (EOAs) y contract accounts (CAs). Las EOAs se gestionan mediante claves privadas y frases semilla, lo que obliga al usuario a mantener la custodia segura de sus credenciales criptográficas. Por el contrario, las contract accounts operan bajo smart contracts, es decir, programas autoejecutables desplegados en la blockchain.
Account abstraction consiste en separar las fuentes de las transacciones de las firmas, al tiempo que se actualizan las EOAs para que funcionen como CAs. Así, los smart contracts pueden controlar las EOAs, lo que permite crear smart contract wallets. Estas wallets mejoran notablemente la experiencia del usuario, al ofrecer una gestión de cuentas más flexible y una seguridad mejorada.
Las ventajas de AA son destacables y resuelven muchas de las limitaciones actuales en la gestión de cuentas blockchain. Al flexibilizar acciones on-chain hasta ahora rígidas y habilitar opciones de seguridad diversificadas, AA optimiza la experiencia de uso dentro del ecosistema Ethereum. Ahora los usuarios pueden acceder a mecanismos de recuperación social, aprobaciones multisig y lógica personalizada de validación de transacciones, funcionalidades antes inaccesibles en las EOAs convencionales.
La evolución hacia account abstraction ha estado marcada por diversas Ethereum Improvement Proposals (EIPs) que han definido el estado actual de AA en Ethereum. Conocer estas propuestas resulta fundamental para entender la evolución de AA, especialmente el desarrollo de EIP-4337.
EIP-2938 fue una de las primeras propuestas en abordar AA, planteando que las contract accounts pasasen a ser cuentas de primer nivel, capaces de pagar comisiones y ejecutar transacciones de forma independiente. Esto suponía modificar por completo el modelo de ejecución de transacciones en Ethereum. EIP-3074 adoptó otro enfoque, proponiendo dos nuevos OpCodes: AUTH y AUTHCALL. Estos OpCodes permitirían a las EOAs delegar acciones en un contrato, dando a los desarrolladores una base más flexible para diseñar objetos de transacción y mecanismos de verificación.
La propuesta más relevante y reciente es EIP-4337, que introduce el concepto de memory pool para user operations (user ops). Esta nueva lógica operacional reemplaza el actual transaction memory pool y habilita AA sin necesidad de modificar el protocolo de Ethereum. Aunque AA se ideó inicialmente con EIP-2938 y EIP-3074 en 2020, ambas propuestas quedaron en pausa debido a los cambios radicales que exigían en el protocolo. EIP-4337 marca un avance porque logra AA sin modificar la capa de consenso.
Comparando EIP-4337 con anteriores soluciones AA, especialmente EIP-3074, las ventajas son evidentes. EIP-3074 requería crear dos nuevos op codes y modificar profundamente la capa de consenso de Ethereum, lo que complicaba y hacía más arriesgada la implementación. Por estas razones, la propuesta quedó en suspenso. EIP-4337, en cambio, encaja en el marco actual de Ethereum, lo que facilita una implementación más segura y práctica.
EIP-4337 es la propuesta más reciente y efectiva para habilitar account abstraction en Ethereum. Es clave entender su arquitectura y componentes para comprender cómo logra AA sin alterar el protocolo. El estándar introduce varios conceptos y elementos fundamentales que operan de forma conjunta para esta funcionalidad.
UserOperation es esencial en EIP-4337: representa un objeto con toda la información necesaria para ejecutar una transacción en nombre del usuario. Entry point es un smart contract que ejecuta lotes de transacciones de user ops, siendo el eje central de ejecución. Los bundlers son nodos especializados que gestionan user ops como transacciones agrupadas, añadiendo las transacciones de entry point a los bloques mientras sean válidas.
Wallet contracts son cuentas de smart contract propiedad del usuario que implementan la lógica de validación y ejecución de transacciones. Wallet factories son smart contracts que pueden crear nuevas smart contract wallets a demanda, agilizando la incorporación de usuarios. Aggregators son contratos auxiliares en los que las cuentas confían para validar firmas agregadas, y los bundlers validan los aggregators soportados. Por último, Paymasters son contratos que implementan lógica personalizada en la blockchain, permitiendo flexibilidad en el pago de gas con cualquier moneda y en cualquier red.
La interacción entre todos estos componentes configura un sistema robusto y flexible para account abstraction mediante EIP-4337. Cuando un usuario quiere enviar una transacción, crea un user op con toda la información necesaria, aunque todavía sin firmar. Este user op se envía a un bundler, que agrupa varios user ops en una transacción única. El bundler remite la transacción agrupada al entry point contract, que identifica y valida los user ops vinculados a smart contract wallets. Tras la validación, las smart contract wallets ejecutan las transacciones por medio de la función ExecuteUserOp.
El flujo de transacciones bajo la propuesta AA-enabled demuestra cómo los distintos componentes de EIP-4337 colaboran para procesar operaciones de usuario. Este flujo se divide en varias fases, cada una con un papel esencial en el conjunto del proceso.
El proceso comienza cuando una cuenta expresa su intención creando un user op. Este user op puede acceder a datos de la dirección del remitente, como los parámetros 'maxFeePerGas' y 'maxPriorityFee'. El uso del campo 'signature' lo determina la implementación de cada cuenta, no el protocolo, lo que aporta flexibilidad en los mecanismos de autenticación. Cada user op creado se envía al memory pool dedicado de user ops, donde espera su procesamiento.
En la fase de envío, los validadores gestionan los user ops agrupándolos en un memory pool aparte. El bundler, haciendo las veces de block builder, añade estos user ops a los bloques mientras las transacciones de entry point sean válidas. Incluso si el bundler no es directamente un block builder, puede operar junto a infraestructuras como mev-boost, proposer-builder separation o APIs experimentales tipo eth_sendRawTransactionConditional RPC.
La fase de identificación tiene lugar cuando los user ops se envían al entry point contract, que ejecuta los lotes de user ops. Para aceptar user ops, el bundler utiliza la función validateUserOp para validar las firmas. Tras la validación, los bundlers validan el entry point contract soportado, asegurando que solo las operaciones verificadas avanzan.
Finalmente, en la fase de ejecución, la transacción la completa la smart contract wallet a través de la función ExecuteUserOp. Los bundlers agrupan los user op en transacciones e inician llamadas en el smart contract EntryPoint handleOps. Estas transacciones se incorporan a los bloques, cerrando el flujo AA habilitado por EIP-4337.
Entender las diferencias entre los diversos tipos de wallets es fundamental para valorar las ventajas de las AA wallets basadas en EIP-4337. Las wallets EOA, MPC y AA tienen características, beneficios y limitaciones específicas que influyen en su elección según el caso de uso.
Las wallets EOA son cuentas de titularidad externa tradicionales, con costes de creación y gas bajos. Utilizan firmas ECDSA y requieren gestión de claves privadas, ofreciendo seguridad básica y funcionalidad limitada. No cuentan con opciones avanzadas como transacciones por lotes o mecanismos de recuperación, y solo admiten pagos de gas en una moneda.
Las wallets MPC (Multi-Party Computation) también emplean cuentas EOA, pero gestionan las claves privadas de forma distribuida mediante protocolos criptográficos. Tienen costes de creación y gas bajos, usan firmas ECDSA y solo soportan gas en una moneda. Sin embargo, la gestión distribuida de claves puede eliminar puntos únicos de fallo. Requieren atención a las políticas de autorización fuera de la cadena y la transparencia, y su compatibilidad con el ecosistema suele ser menor que la de las EOAs tradicionales.
Las AA wallets, basadas en contract accounts y EIP-4337, incorporan las funciones más avanzadas, aunque con costes de creación y gas superiores. Permiten pagos de gas en múltiples monedas, incluidos tokens de terceros, y habilitan transacciones por lotes. Pueden emplear métodos de firma distintos a ECDSA y no precisan la gestión tradicional de claves privadas. Ofrecen recuperación de wallet y pueden eliminar puntos únicos de fallo. No obstante, exigen auditorías de contratos on-chain y operaciones en pools. Gracias a EIP-4337, las AA wallets alcanzan seguridad a nivel de cadena y mantienen una compatibilidad razonable con el ecosistema.
Aunque EIP-3074 se pospuso, conocer su planteamiento sobre account abstraction ayuda a comprender las decisiones de diseño de EIP-4337. EIP-3074 era una EIP central que requería cambios en la capa de consenso, incorporando dos nuevos OpCodes (AUTH y AUTHCALL) para que las cuentas EOA pudieran operar con contratos. Este método tenía ventajas importantes y también inconvenientes de peso.
La principal ventaja de AA en EIP-3074 era permitir a los usuarios delegar el control de su EOA a un contrato, ofreciendo a los desarrolladores un marco flexible para crear nuevos esquemas de transacción. Estos podían incluir trading por lotes, trading empaquetado y opciones flexibles de pago de gas. Otra ventaja era el uso de contratos invoker, que admitían pagos en tokens distintos de ETH. Estos intermediarios trustless ejecutaban transacciones entre patrocinadores y beneficiarios. Además, EIP-3074 permitía que cualquier EOA funcionase como una smart contract wallet sin desplegar un contrato, facilitando upgrades inmediatos.
Sin embargo, EIP-3074 también tenía desventajas considerables que llevaron a su aplazamiento. La mayor preocupación era la necesidad de cambios en la capa de consenso, que podían requerir un hard fork para resolver problemas derivados de la implementación. Al permitir que las EOAs tuvieran características de CAs pero manteniendo firmas ECDSA fijas, no se admitían métodos de firma arbitrarios, lo que limitaba la flexibilidad en la autenticación. Estas restricciones, junto con los riesgos de los cambios en la capa de consenso, hicieron que la comunidad de Ethereum prefiriera el enfoque de EIP-4337.
Pese a que EIP-3074 quedó en pausa, sus conceptos no se han descartado. EIP-5003 representa la evolución de estas ideas, introduciendo el OpCode AUTHUSURP, que permite desplegar código en direcciones autorizadas por EIP-3074. Esta propuesta actúa en sinergia con EIP-3607 para ofrecer una vía de migración a EOAs existentes, complementando el ecosistema EIP-4337.
EIP-5003 opera junto a EIP-3607 para revocar la autoridad de la clave original de firma de las EOAs. Por ejemplo, si la EOA uno ha autorizado a la dirección dos para actuar en su nombre bajo EIP-3074, el OpCode AUTHUSURP permite a la dirección dos establecer el código de la EOA uno. Así, una EOA existente puede convertirse en una contract account y migrar de firmas ECDSA a métodos más seguros y eficientes. Este mecanismo proporciona una vía de actualización para EOAs tradicionales, manteniendo la compatibilidad con cuentas previas y reforzando el marco de account abstraction de EIP-4337.
Account abstraction a través de EIP-4337 supone un avance decisivo en la evolución de Ethereum hacia la adopción masiva. Al resolver numerosos problemas que han obstaculizado el acceso a la blockchain, EIP-4337 hace que Ethereum sea más práctico y accesible para usuarios no especializados. Las ventajas de AA—como opciones de seguridad avanzadas, métodos flexibles de pago de gas, mecanismos de recuperación social y transacciones por lotes—reducen las barreras de entrada al ecosistema Ethereum.
El recorrido desde propuestas iniciales de AA como EIP-2938 y EIP-3074 hasta la implementación actual de EIP-4337 evidencia el compromiso de la comunidad Ethereum con la innovación, la seguridad y la utilidad. Al lograr account abstraction sin modificar la capa de consenso, EIP-4337 marca una vía práctica y segura para avanzar. A medida que esta tecnología evolucione y se adopte, surgirán aplicaciones cada vez más sofisticadas sobre la infraestructura AA de EIP-4337, mejorando la experiencia de usuario y expandiendo el alcance de Ethereum. La aparición de propuestas complementarias como EIP-5003 confirma que la historia de account abstraction continuará, con más innovación en este ámbito esencial de la infraestructura blockchain. EIP-4337 ya es el pilar de la próxima generación de gestión de cuentas en Ethereum, impulsando mayor accesibilidad y funcionalidad para el ecosistema.
Account abstraction es el proceso de separar las fuentes de las transacciones de las firmas, actualizando las externally owned accounts (EOAs) para que funcionen como contract accounts (CAs). Esto permite que los smart contracts controlen las EOAs, haciendo posible crear smart contract wallets que ofrecen mayor flexibilidad, opciones avanzadas de seguridad como recuperación social y aprobaciones multisig, y una experiencia mucho más óptima para interactuar con la blockchain de Ethereum.
EIP-4337 es una Ethereum Improvement Proposal que habilita account abstraction sin necesidad de modificar el protocolo de Ethereum. Introduce un sistema que emplea user operations (user ops), bundlers, entry point contracts y paymasters para procesar las transacciones. A diferencia de propuestas anteriores como EIP-3074, EIP-4337 logra AA sin tocar la capa de consenso, facilitando una implementación más segura y práctica, con funciones como pagos de gas flexibles y transacciones por lotes.
Las AA wallets basadas en EIP-4337 ofrecen funciones mucho más avanzadas que las EOA wallets tradicionales, como pagos de gas en varias monedas, transacciones por lotes, recuperación de wallet y soporte para métodos de firma más allá de ECDSA. Aunque requieren mayores costes de creación y gas, aportan seguridad superior, evitan puntos únicos de fallo y eliminan la gestión tradicional de claves privadas, lo que mejora la usabilidad y la protección del usuario.











