Solo con fines educativos; no constituye asesoramiento de inversion. Invertir puede ocasionar perdidas.
Respuesta directa
La abstraccion de cuentas permite programar las reglas de autorizacion y ejecucion de una cuenta. En Ethereum, ERC-4337 lo implementa sin cambiar el tipo de transaccion de consenso: una cartera envia una UserOperation mediante infraestructura RPC especifica, un bundler incluye una o varias operaciones en una transaccion normal dirigida a un EntryPoint con version, y la cuenta inteligente valida y ejecuta su propia operacion. La recuperacion, las passkeys, las claves de sesion, los limites de gasto, los lotes y el patrocinio de comisiones son funciones de la cuenta o del servicio construidas sobre ese flujo, no garantias automaticas de ERC-4337.
Esto no es lo mismo que ERC-1271, que normaliza la validacion por contrato de una firma sobre un mensaje, ni que EIP-7702, que permite a una cuenta de propiedad externa (EOA) delegar la ejecucion en codigo. Estos mecanismos pueden interoperar, pero no comparten una unica interfaz, nonce, forma de despliegue ni modelo de seguridad. La abstraccion de cuentas no elimina las credenciales, el coste del gas, el riesgo contractual ni la necesidad de verificar la cadena y la implementacion exactas.
Flujo ERC-4337 en siete pasos
- Fije el entorno:
chainId, implementacion de la cuenta inteligente y controles de actualizacion, factory, version, direccion y hash del codigo desplegado de EntryPoint, compatibilidad del bundler y activacion de EIP-7702 en la cadena. Una direccion valida para una version de EntryPoint o una cadena no es una constante universal. - Construya la operacion para la version correcta. Los campos logicos actuales incluyen
sender,nonce,factory,factoryData,callData,callGasLimit,verificationGasLimit,preVerificationGas,maxFeePerGas,maxPriorityFeePerGas, campos opcionales del paymaster ysignature. EntryPoint recibe en cadena una representacion empaquetada; las llamadas de destino se codifican en elcallDatadefinido por la cuenta, no en un campo de destino universal. - Vincule la autorizacion al dominio correcto. El
userOpHashcubre la operacion salvo su firma y la vincula a EntryPoint y a la cadena, lo que impide reutilizarla entre esos dominios. ElvalidateUserOpde la cuenta comprueba el propietario, la multifirma, la passkey, la sesion u otra politica.isValidSignaturede ERC-1271 es una interfaz separada para firmas de contratos; un aggregator opcional puede validar firmas agregadas. La tupla de autorizacion EIP-7702 se proporciona por separado de la UserOperation. - Demuestre capacidad para pagar la comision. La cuenta puede prefinanciar mediante su saldo en EntryPoint, o un paymaster puede aceptar condicionalmente la obligacion con cargo a su propio deposito. El paymaster puede patrocinar al usuario, cobrar un token, aplicar listas permitidas o cuotas y ejecutar
postOp; ERC-4337 no fija ninguna de esas reglas comerciales. Stake y deposito son distintos: el stake respalda las reglas de validacion y reputacion, mientras que el deposito paga el gas. - Estime y envie mediante RPC ERC-7769. El bundler valida al recibir, de nuevo antes de seleccionar y otra vez al construir el lote. ERC-7562 limita los opcodes y el acceso al almacenamiento durante la validacion y permite controles de reputacion contra ataques de denegacion de servicio. Esta simulacion comprueba admision y seguridad del pago; para anticipar la ejecucion economica hace falta una simulacion separada de la llamada completa.
- El bundler llama a
handleOps. EntryPoint realiza el despliegue permitido, la validacion de cuenta y paymaster, las comprobaciones de prefinanciacion y la agregacion opcional antes de ejecutar. Una validacion fallida impide ejecutar esa operacion. La llamada al destino aun puede revertirse despues de una admision valida y consumir gas. Que las llamadas de un lote interno se reviertan de forma atomica o admitan exito parcial depende del codigo de ejecucion de la cuenta. - Concilie recibos y estado. Compare el recibo de UserOperation, la transaccion subyacente del lote, los eventos de EntryPoint, el despliegue de la cuenta, los eventos del destino, el gas real, el cobro en tokens, el reembolso y los saldos finales. Despues vigile canales de nonce, cambios de propietario y recuperacion, revocacion de claves de sesion, modulos, actualizaciones de implementacion, alternativas de bundler y paymaster, reorganizaciones y migracion o redelegacion EIP-7702.
Cuatro ejemplos desarrollados
- Envolvente de gas simplificada. Una operacion presupuesta
120,000de gas de ejecucion,90,000de validacion de cuenta,45,000de validacion de paymaster,40,000de prevalidacion y30,000de postoperacion del paymaster:120,000 + 90,000 + 45,000 + 40,000 + 30,000 = 325,000 gas. ConmaxFeePerGas = 30 gwei, el limite simplificado es325,000 × 30 gwei = 0.009750 ETH. Si el uso real facturable es210,000 gasa22 gwei, el coste es0.004620 ETH. Las reglas de la version de EntryPoint, las penalizaciones por gas no usado, las comisiones de datos de L1 y la tarificacion del rollup pueden anadir o reclasificar importes; es un presupuesto, no una formula universal de prefinanciacion. - Canal de nonce paralelo. Con una
192-bit keyy una64-bit sequence, la clave7y la secuencia42codificannonce = (7 << 64) | 42 = 129127208515966861354 = 0x7000000000000002a. Tras una inclusion correcta, ese canal espera la secuencia43; reutilizar42falla. Otra clave puede mantener una secuencia independiente, sujeta a la logica de la cuenta y a las reglas del bundler. - Capacidad del paymaster. Un paymaster tiene
0.50 ETHdepositados y cada operacion aceptada exige una garantia maxima de0.03 ETH. Puede cubrirfloor(0.50 / 0.03) = 16operaciones, reservando0.48 ETHy dejando0.02 ETH. Una decimoseptima operacion requiere mas deposito o una garantia menor. El stake del paymaster no sustituye este deposito para comisiones. - Reversion de ejecucion tras la admision. Una operacion reserva hasta
0.0060 ETH; la validacion tiene exito, pero la ejecucion del destino revierte tras consumir180,000 gas × 25 gwei = 0.0045 ETH. Los cambios de estado del destino se revierten, pero la cuenta o el paymaster aun debe0.0045 ETH; los0.0015 ETHno utilizados quedan sujetos a las reglas aplicables de liquidacion y penalizacion. Por tanto, una simulacion satisfactoria del bundler no promete exito economico, inclusion ni finalidad.
Riesgos y controles
- Una cadena, direccion, version o hash del codigo desplegado de EntryPoint incorrectos pueden invalidar o desviar una operacion.
- Una firma sin vinculacion al dominio de cadena y EntryPoint puede permitir su repeticion.
- La factory, direccion contrafactual, datos de inicializacion o salt de despliegue pueden sustituirse o calcularse mal.
- La delegacion EIP-7702 puede dirigir una EOA a codigo malicioso o vulnerable con amplia autoridad sobre la cuenta.
- La inicializacion anticipada por terceros o repetida puede apropiarse de la cuenta o corromperla.
- Las actualizaciones de proxy o la redelegacion EIP-7702 pueden colisionar con el esquema de almacenamiento existente.
- Un administrador de actualizacion o gestor de modulos comprometido puede reemplazar el comportamiento de la cuenta.
- Fallos en propietario, multifirma, passkey o validacion ERC-1271 pueden autorizar un robo o bloquear fondos.
- Umbrales, demoras, guardianes y rutas de cancelacion de la recuperacion pueden fallar o ser capturados.
- Las claves de sesion pueden exceder el destino, token, importe, duracion o funcion previstos.
- Los canales de nonce pueden colisionar, dejar huecos, repetirse o bloquear operaciones dependientes.
- La indisponibilidad del aggregator o fallos de agregacion de firmas pueden inmovilizar operaciones validas.
- Los bundlers pueden censurar, quedar fuera de servicio, aplicar politicas locales distintas o rechazar reglas de mempool alternativas.
- El flujo publico de UserOperations puede revelar la intencion y facilitar correlacion, front-running y MEV.
- La validacion puede aprobarse antes de que un cambio de estado invalide la operacion durante la construccion del lote.
- La politica del paymaster puede denegar el servicio, agotar su deposito o fallar en
postOp. - Los cobros de gas denominados en tokens pueden incluir riesgo cambiario, riesgo de allowance, spread y recargo del servicio.
- Subestimar el gas puede causar una reversion; limites excesivos pueden aumentar la reserva o la penalizacion.
- La semantica de lotes de la cuenta puede permitir exito parcial cuando el usuario esperaba una reversion atomica.
- Los fallos del protocolo de destino, front ends hostiles, reorganizaciones de cadena y finalidad debil quedan fuera de la abstraccion de cuentas.
Errores comunes
- “La abstraccion de cuentas elimina las claves privadas”. Cambia la politica programable de credenciales; alguna credencial debe seguir autorizando las acciones.
- “Un paymaster hace que el gas sea gratis”. El gas nativo se paga igualmente y el usuario, patrocinador o servicio soporta finalmente el coste.
- “La simulacion del bundler garantiza el exito”. La simulacion de admision no garantiza ejecucion, inclusion ni finalidad.
- “ERC-1271, ERC-4337 y EIP-7702 son la misma interfaz”. Resuelven problemas distintos de firma, flujo de transacciones y delegacion.
- “Todas las cadenas, carteras y versiones de EntryPoint son compatibles y mas seguras”. Compatibilidad, versiones, despliegues, codigo, modulos y controles deben verificarse por separado.
Temas relacionados
- Riesgo del propietario y la recuperacion de una cuenta inteligente
- Cartera con clave de sesion
- Simulacion de transacciones
Fuentes
- ERC-4337: Account Abstraction Using Alt Mempool
- ERC-7562: Account Abstraction Validation Scope Rules
- ERC-7769: JSON-RPC API for ERC-4337
- ERC-1271: Standard Signature Validation Method for Contracts
- EIP-7702: Set Code for EOAs
- The EntryPoint Contract
- Simulation Requirements
- Releases - eth-infinitism/account-abstraction