

Account abstraction (AA) supone una transformación fundamental para el ecosistema de Ethereum, al revolucionar la gestión de cuentas individuales en la blockchain. Esta innovación elimina barreras históricas que frenaban la adopción entre usuarios ajenos al sector cripto, ofreciendo soluciones que facilitan el acceso. Las mejoras clave giran en torno a la desvinculación entre el origen de las transacciones y las firmas, y proporcionan a los usuarios una flexibilidad inédita en la gestión de la seguridad de sus cuentas mediante implementaciones como EIP-4337.
Para entender account abstraction, es necesario distinguir los dos tipos de cuentas que existen en Ethereum. Las externally owned accounts (EOA) son cuentas tradicionales controladas por claves privadas y frases semilla, el tipo estándar de cuenta de usuario. Por otro lado, las contract accounts (CA) funcionan bajo la gobernanza de smart contracts y ofrecen capacidades programables.
Account abstraction consiste en una transformación arquitectónica que separa el origen de la transacción de la firma y actualiza las EOA para operar con las capacidades propias de las CA. Esto permite a los smart contracts gestionar EOA, haciendo posible la creación de wallets inteligentes. El resultado es una experiencia de usuario mucho más avanzada, con mayor flexibilidad en la gestión y nuevas posibilidades de interacción en la blockchain.
La comunidad de Ethereum ha recibido account abstraction con entusiasmo gracias a la simplificación que aporta a la gestión de cuentas. La tecnología introduce flexibilidad en acciones on-chain tradicionalmente rígidas, permitiendo mecanismos de transacción más dinámicos y adaptables. Las opciones de seguridad se amplían con mecanismos de protección personalizables que superan la gestión tradicional de claves privadas.
Estas mejoras resuelven numerosos inconvenientes que han afectado a los usuarios de Ethereum. Al simplificar procesos complejos y ofrecer opciones de gestión intuitivas, AA mejora notablemente la experiencia de interacción con el ecosistema Ethereum y hace que la tecnología blockchain sea más accesible y sencilla.
El desarrollo de account abstraction implica entender varias Ethereum Improvement Proposals (EIP) que han marcado el sector. EIP-2938 propuso que las contract accounts fueran cuentas 'top-level' capaces de pagar comisiones y ejecutar transacciones de forma independiente. EIP-3074 introdujo dos nuevos códigos operativos (OpCodes): AUTH y AUTHCALL, que permiten que las EOA deleguen acciones en contratos, facilitando a los desarrolladores el diseño de objetos de transacción y sistemas de verificación más flexibles.
EIP-4337 es la versión actual de account abstraction, que introduce el user operations (user ops) memory pool. Este nuevo modelo operativo sustituye el transaction memory pool y permite AA sin modificar el núcleo del protocolo Ethereum. Las propuestas de 2020, como EIP-2938 y EIP-3074, se pospusieron por los profundos cambios que requerían en el protocolo, lo que sitúa el enfoque agnóstico de EIP-4337 como una solución especialmente valiosa para la evolución del ecosistema.
Pese a que EIP-4337 puede parecer complejo para los nuevos usuarios, supone una mejora significativa respecto a propuestas anteriores. EIP-3074 requería la introducción de dos códigos operativos nuevos y cambios extensos en la capa de consenso del protocolo principal de Ethereum, lo que implicaba riesgos y desafíos de implementación que llevaron a paralizar la propuesta. EIP-4337 evita estos problemas al implementar account abstraction sin modificar el protocolo, haciendo que su adopción sea más viable y práctica.
EIP-4337 implementa account abstraction mediante varios componentes clave que operan de forma coordinada. UserOperation es un objeto que, en nombre del usuario, envía una transacción y contiene toda la información necesaria. El entry point es un contrato que ejecuta transacciones agrupadas de user operations y actúa como mecanismo central de coordinación.
Los bundlers son nodos que gestionan user operations como transacciones agrupadas, añadiendo las transacciones del entry point a los bloques y garantizando su validez. Los wallet contracts son cuentas inteligentes propiedad del usuario que ejecutan las operaciones. La wallet factory es un contrato inteligente capaz de crear wallets inteligentes para los usuarios según demanda.
Los aggregators son contratos auxiliares en los que las cuentas confían para validar firmas agregadas, y los bundlers mantienen listas blancas de aggregators admitidos. Los paymasters implementan lógica personalizada en la blockchain, permitiendo pagar gas en cualquier moneda y red. Esta arquitectura simplifica el proceso de AA y mantiene la seguridad y descentralización, haciendo de EIP-4337 una solución robusta para aplicaciones blockchain modernas.
El proceso de transacción bajo EIP-4337 se compone de varias etapas que trabajan juntas para habilitar account abstraction. Comprender este flujo es esencial para entender el funcionamiento práctico del sistema.
Al iniciar una transacción, la cuenta crea un objeto de user operation que incluye datos detallados sobre la dirección del remitente y parámetros críticos como 'maxFeePerGas' y 'maxPriorityFee'. El uso del campo 'signature' depende de la implementación concreta de la cuenta y no lo dicta el protocolo, lo que aporta flexibilidad en los métodos de autenticación. Cada user operation generada se transmite a un user operations memory pool independiente del pool de transacciones tradicional.
Los validadores procesan las user operations agrupándolas desde el memory pool dedicado. El bundler actúa como constructor de bloques, añadiendo las user operations a los bloques mientras las transacciones del entry point siguen siendo válidas. Aunque el bundler no construya bloques directamente, puede lograrlo interactuando con la infraestructura existente, como mev-boost, mecanismos proposer-builder separation y APIs experimentales como eth_sendRawTransactionConditional RPC, que facilitan la inclusión eficiente de transacciones agrupadas.
Después del envío, las user operations se transmiten al entry point contract, que ejecuta las operaciones agrupadas. El bundler debe usar la función validateUserOp para validar la firma de cada user operation antes de aceptarla. Tras la validación, los bundlers ponen en lista blanca el entry point contract admitido, estableciendo una relación de confianza para el procesamiento posterior de las transacciones.
La transacción se completa mediante la función ExecuteUserOp en el smart contract wallet. Los bundlers agrupan objetos de user operation en transacciones e inician llamadas de función en el smart contract handleOps EntryPoint. Estas transacciones se incluyen en los bloques, cerrando el ciclo de ejecución y finalizando las operaciones que el usuario desea llevar a cabo en la blockchain.
Cada tipo de wallet tiene características y capacidades distintas. Los wallets EOA emplean cuentas externas, ofrecen bajos costes de creación y gas, solo admiten pagos de gas en una moneda y firmas ECDSA. Exigen gestión de claves privadas, no incorporan recuperación nativa y brindan seguridad básica sin eliminar puntos únicos de fallo, aunque son altamente compatibles con el ecosistema.
Los wallets MPC también usan cuentas EOA y costes similares, pero emplean firmas mediante multi-party computation. Requieren gestión de claves privadas, permiten recuperación offline en dispositivos de confianza y su seguridad depende de políticas de autorización de firma off-chain y requisitos de transparencia. Su compatibilidad con el ecosistema es menor que la de los wallets EOA tradicionales.
Los wallets AA basados en EIP-4337 utilizan contract accounts, con costes de creación y gas más elevados, compensados con la posibilidad de pagar gas en varias monedas y soporte de tokens externos. Permiten transacciones agrupadas, admiten diferentes métodos de firma y eliminan la gestión de claves privadas. Ofrecen recuperación de wallet y, tras la adopción de EIP-4337, seguridad a nivel de cadena. Requieren auditorías de los contratos on-chain y demand pools, ofrecen compatibilidad moderada y eliminan puntos únicos de fallo.
EIP-3074 fue pospuesta por ser una core EIP que requería cambios en la capa de consenso. La propuesta exigía dos OpCodes nuevos para que las cuentas EOA pudieran emplear contratos, lo que implicaba oportunidades y desafíos para su implementación.
La principal ventaja de EIP-3074 es que permite delegar el control de la EOA en contratos, dando a los desarrolladores un marco flexible para crear esquemas de transacciones innovadores, como trading por lotes, trading empaquetado y métodos de pago de gas flexibles. Esta solución emplea contratos invocadores que aceptan pagos en tokens distintos de ETH y funcionan como intermediarios trustless entre patrocinadores y patrocinados. Además, EIP-3074 permite que cualquier EOA actúe como una smart contract wallet sin desplegar contratos, lo que simplifica la implementación.
La principal preocupación de la comunidad Ethereum respecto a EIP-3074 es su impacto en la capa de consenso, ya que estos cambios pueden requerir hard forks para solucionar problemas derivados. Aunque EIP-3074 otorga a las EOA algunas funciones de las CA, mantiene la firma ECDSA fija, impidiendo la adopción de firmas arbitrarias y limitando la flexibilidad en los métodos de autenticación.
Aunque EIP-3074 fue aplazada, la propuesta sigue vigente. EIP-5003 introduce el OpCode AUTHUSURP, que despliega código en las direcciones autorizadas por EIP-3074 y trabaja con EIP-3607 para revocar la autoridad de la clave de firma original de la EOA. Por ejemplo, si la EOA uno autoriza a la dirección dos para operar en su nombre bajo EIP-3074, AUTHUSURP permite que la dirección dos establezca los códigos de la EOA uno. Esto permite actualizar las EOA a CA, migrando de firmas ECDSA a métodos más eficientes y seguros, conservando las ventajas de EIP-3074 y resolviendo algunas de sus limitaciones.
Account abstraction mediante EIP-4337 es un avance crucial en la evolución de Ethereum hacia la adopción masiva. Al resolver puntos críticos mediante un diseño innovador, aporta beneficios como mayor seguridad, mecanismos flexibles de pago de gas y una experiencia de usuario superior. Estas mejoras reducen la barrera de entrada para interactuar con el ecosistema Ethereum, facilitando el acceso a blockchain para usuarios convencionales. A medida que EIP-4337 se integra en plataformas y wallets principales, account abstraction transformará la relación de los usuarios con las redes blockchain, impulsando la adopción de criptomonedas y aplicaciones descentralizadas más sofisticadas. La implementación de EIP-4337 establece un nuevo estándar en infraestructura de wallets y demuestra el potencial de account abstraction para revolucionar la usabilidad blockchain sin sacrificar seguridad ni descentralización.
EIP-4337 introduce account abstraction en Ethereum, permitiendo crear cuentas de contrato para gestionar transacciones sin propiedad externa. Separa la verificación y el envío de transacciones, posibilitando interacciones más eficientes y seguras mediante objetos UserOperation.
ERC-4337 es un protocolo de Ethereum para account abstraction. Permite cuentas inteligentes, mejora la usabilidad y posibilita pagar gas con tokens ERC-20 o mediante terceros, sin modificar la capa de consenso.
No, EIP (Ethereum Improvement Proposal) y ERC (Ethereum Request for Comment) son distintos. Los EIP proponen cambios de protocolo, mientras los ERC definen estándares de tokens y smart contracts.
ERC-4337 es un estándar de Ethereum para account abstraction, que permite wallets inteligentes, transacciones sin gas y una experiencia de usuario mejorada.









