Respuestas>Más información sobre carteras e identidad>¿Qué es la abstracción de cuentas?
¿Qué es la abstracción de cuentas?
// Tags
extracción de datos de cuentasERC-4337
En resumen: La abstracción de cuentas es una mejora de la cadena de bloques que sustituye el rígido modelo de cuenta con una única clave por carteras programables basadas en contratos inteligentes que admiten una lógica de verificación personalizada. Las cuentas tradicionales de propiedad externa (EOA) están controladas por una única clave privada: si la pierdes, lo pierdes todo; si la revelas, te pueden robarlo todo. La abstracción de cuentas permite que los contratos inteligentes funcionen como cuentas de usuario, lo que habilita funciones como la recuperación a través de redes sociales (los amigos pueden ayudarte a recuperar el acceso), la autorización mediante multifirma, las transacciones por lotes, el patrocinio de gas (otra persona paga tus comisiones), las claves de sesión (claves con permisos limitados para acciones específicas) y los límites de gasto. El estándar ERC-4337 define cómo funcionan estas carteras de contratos inteligentes en Ethereum y en cadenas compatibles con EVM sin necesidad de realizar cambios en el protocolo central.
La explicación sencilla
Utilizar una cadena de bloques hoy en día es como tener una cuenta bancaria en la que la única medida de seguridad es una única contraseña sin opción de recuperación. Si olvidas la contraseña, tu dinero se pierde para siempre. Si alguien la adivina, se lo lleva todo. No hay ningún botón de «contraseña olvidada», ni servicio de atención al cliente, ni autenticación de dos factores, ni límites de gasto. Cada transacción se autoriza mediante una única clave criptográfica, y ese es todo el modelo de seguridad.
La abstracción de cuentas cambia esto al hacer que las cuentas sean programables. En lugar de que una sola clave lo controle todo, un contrato inteligente controla la cuenta y puede implementar cualquier lógica de seguridad y autenticación que el desarrollador desee. ¿Quieres exigir que se utilicen dos de cada tres claves para aprobar una transacción? Puedes hacerlo. ¿Quieres permitir que amigos de confianza voten para recuperar tu cuenta si pierdes tu clave? Puedes hacerlo. ¿Quieres establecer un límite de gasto diario que solo permita pequeñas transacciones sin necesidad de aprobación adicional? Puedes hacerlo. ¿Quieres permitir que un juego apruebe transacciones en tu nombre durante una hora sin tener que volver a pedir permiso cada vez? Puedes hacerlo.
El término «abstracción» del nombre hace referencia a la separación del concepto de «cuenta» de un mecanismo de autenticación específico. Hoy en día, la «cuenta» y la «clave privada» son inseparables. Con la abstracción de cuentas, la cuenta es un contrato inteligente, y la lógica de autenticación es la que implemente el desarrollador del contrato.
Ethereum (y la mayoría de las cadenas compatibles con EVM) cuenta con dos tipos de cuentas. Las cuentas de propiedad externa (EOA) están controladas por una clave privada y son con las que interactúan la mayoría de los usuarios a través de MetaMask, Phantom o cualquier monedero estándar. Las cuentas de contrato son contratos inteligentes que contienen código y solo pueden activarse mediante transacciones procedentes de cuentas EOA u otros contratos.
Las EOA presentan varias limitaciones fundamentales relacionadas con la abstracción de direcciones. No existe recuperación de claves. Si pierdes tu clave privada o tu frase de semilla, el protocolo no cuenta con ningún mecanismo de recuperación integrado. Tus fondos quedarán bloqueados para siempre. Cada interacción del usuario con la cadena de bloques requiere que este posea el token nativo (ETH en Ethereum) para pagar las comisiones de gas, lo que genera una experiencia de incorporación muy negativa para los nuevos usuarios que solo quieren probar una dapp pero aún no poseen ninguna criptomoneda.
Cada transacción requiere una aprobación manual. No hay forma de delegar una autoridad limitada a una dapp. Si estás jugando a un juego basado en blockchain, debes aprobar cada acción del juego de forma individual, lo que genera una experiencia de usuario frustrante. Las transacciones no se pueden agrupar de forma nativa. Aprobar un token y luego intercambiarlo requiere dos transacciones distintas con dos firmas distintas y dos pagos de gas distintos.
Estas limitaciones son algunas de las principales razones por las que las aplicaciones basadas en blockchain resultan poco intuitivas en comparación con el software tradicional. La abstracción de cuentas las elimina.
Cómo funciona el ERC-4337
ERC-4337 es el estándar que permite la abstracción de cuentas en las cadenas de « Ethereum » y EVM sin necesidad de un hard fork ni de cambios a nivel de protocolo. Introduce un canal de transacciones paralelo que funciona junto al ya existente.
La cartera de contratos inteligentes es la cuenta del usuario. En lugar de una EOA, los fondos y activos del usuario los gestiona un contrato inteligente que define su propia lógica de validación. El contrato puede exigir una sola firma, varias firmas, una verificación biométrica realizada desde un enclave de confianza o cualquier otra condición que programe el desarrollador.
Las operaciones de usuario (UserOps) sustituyen a las transacciones tradicionales. En lugar de firmar una transacción directamente, el usuario firma una UserOp, que es una estructura de datos que describe la acción que desea realizar. La UserOp se envía a un mempool independiente (el mempool de UserOps), y no al mempool estándar de transacciones.
Los «bundlers» son nodos que recogen UserOps del mempool de UserOp, los agrupan en una única transacción estándar de « Ethereum » y envían dicha transacción a la red. El «bundler» paga el gas de la transacción agrupada y las carteras de los contratos inteligentes (o sus responsables de pagos) le reembolsan dicho importe durante la ejecución. Los «bundlers» son similares a los «block builders» en la cadena de suministro de MEV: agregan las intenciones de los usuarios y las envían a la cadena de forma eficiente.
El contrato EntryPoint es un contrato inteligente de tipo «singleton» desplegado en todas las cadenas EVM que coordina la ejecución de las UserOps. Cuando un «bundler» envía un paquete, el contrato EntryPoint procesa cada UserOp llamando a la función de validación de la cartera del contrato inteligente de destino, comprobando que la cartera apruebe la operación, ejecutando la operación y gestionando el reembolso del gas.
Los «paymasters» son contratos inteligentes opcionales que pueden sufragar las comisiones de gas de UserOps. Un desarrollador de dapps puede implementar un «paymaster» que pague el gas por sus usuarios, lo que elimina la necesidad de que estos dispongan de ETH. Esto supone un cambio revolucionario para la incorporación de nuevos usuarios: un usuario nuevo puede interactuar con una dapp sin necesidad de comprar criptomonedas, ya que la dapp se hace cargo de los costes de transacción.
Qué permite la abstracción de cuentas
La recuperación social permite a los usuarios designar «tutores» (amigos de confianza, familiares o instituciones) que puedan aprobar de forma conjunta un cambio de clave en caso de que el usuario pierda el acceso. El contrato inteligente del monedero exige un umbral mínimo de aprobaciones por parte de los tutores (por ejemplo, 3 de 5) para sustituir la clave de firma por una nueva. Esto elimina el riesgo catastrófico que supone la pérdida de una sola frase semilla.
Las claves de sesión permiten a los usuarios conceder a las aplicaciones claves temporales con permisos limitados. En lugar de aprobar cada transacción de un juego en cadena de bloques de forma individual, puedes crear una clave de sesión que permita al juego enviar transacciones en tu nombre durante un periodo definido (una hora, una sesión de juego) con restricciones específicas (solo llamadas al contrato del juego, gasto máximo de 0,1 ETH). Cuando la sesión caduca, la clave deja de ser válida.
El agrupamiento de transacciones permite a los usuarios aprobar varias acciones en una sola operación. El ejemplo clásico es la operación de aprobación y intercambio de ERC-20 flow, que actualmente requiere dos transacciones independientes. Con la abstracción de cuentas, el monedero de contrato inteligente puede agrupar ambas en una sola UserOp: aprobar el token y ejecutar el intercambio de forma atómica, lo que ahorra gas y reduce la fricción.
La gestión del gas a través de «paymasters» permite a las aplicaciones pagar el gas en nombre de sus usuarios o aceptar el pago del gas en tokens distintos del ETH. Una aplicación de stablecoins podría permitir a los usuarios pagar el gas en USDC. Una plataforma de videojuegos podría asumir íntegramente los costes del gas como parte de los gastos de captación de usuarios. Esto elimina una de las mayores barreras para la adopción generalizada de la cadena de bloques.
La autorización con múltiples firmas y personalizada permite a los monederos exigir varias aprobaciones para transacciones de alto valor, establecer límites de gasto que activen controles de seguridad adicionales al superar un umbral determinado, o utilizar cualquier combinación de factores de autenticación (firmas, datos biométricos, tokens de hardware, bloqueos temporales).
Implementaciones actuales
Varios proveedores de carteras han desarrollado sus productos basándose en el estándar ERC-4337. Safe (antes conocida como « Gnosis Safe») es la cartera de contratos inteligentes más utilizada, y protege más de 100 000 millones de dólares en activos. Diseñada originalmente para la gestión de tesorería con firmas múltiples, Safe se ha ampliado para admitir el estándar completo ERC-4337 UserOp flow. Coinbase Smart Wallet utiliza la abstracción de cuentas para ofrecer una experiencia de registro simplificada con autenticación basada en claves de acceso y patrocinio del gas. Argent ha creado una cartera de abstracción de cuentas con recuperación a través de redes sociales, límites de gasto diarios y seguridad basada en tutores. Sequence ofrece una cartera de abstracción de cuentas centrada en los videojuegos, con claves de sesión y financiación del gas diseñadas para transacciones dentro del juego.
Cómo « Quicknode » favorece la abstracción de cuentas
La creación y el funcionamiento de carteras de abstracción de cuentas requieren una infraestructura de cadena de bloques sólida. La API Core de Quicknode proporciona el acceso RPC que los agrupadores, los gestores de pagos y las carteras de contratos inteligentes necesitan para enviar y supervisar las operaciones de usuario (UserOps) en todas las cadenas EVM. Los puntos finales de baja latencia garantizan que las UserOps se procesen rápidamente y que las aplicaciones de monedero puedan mostrar un estado actualizado. El Marketplace de Quicknode incluye integraciones con agregadores y gestores de pagos que simplifican el desarrollo de monederos de abstracción de cuentas. Para los equipos que desarrollan una infraestructura de abstracción de cuentas personalizada, el servicio « Streams » de Quicknode permite supervisar en tiempo real la ejecución de las UserOps, los eventos de EntryPoint y los cambios en el estado del monedero.
Cuenta EOA frente a cuenta de contrato inteligente: ¿en qué se diferencian?
La abstracción de cuentas convierte tu monedero de criptomonedas de una cuenta de clave única de propiedad externa (EOA) en una cuenta de contrato inteligente programable. La tabla siguiente muestra qué cambios se producen.
Dimensión
Cuenta de titularidad externa (EOA)
Cuenta de contrato inteligente
Controlado por
Una única clave privada
Lógica de contratos programables
Recuperación
Ninguna; si pierdes la llave, te quedas sin dinero.
Posibilidad de recuperación social y tutela
Gas
El usuario debe poseer el token nativo
Puede ser patrocinado por un pagador o abonado con otras fichas
Dosificación
Una acción por transacción
Varias acciones en una sola UserOp
Permisos
Todo o nada
Claves de sesión, límites de gasto, firma múltiple
Ejemplos
MetaMask, las carteras más habituales
Safe, Coinbase Smart Wallet, Argent
¿Está disponible actualmente la abstracción de cuentas en Ethereum ?
Sí. El ERC-4337 entró en funcionamiento en Ethereum mainnet en marzo de 2023 sin necesidad de un hard fork, ya que funciona íntegramente a través de contratos inteligentes y un mempool UserOp independiente procesado por los «bundlers». Más recientemente, la EIP-7702 permite que las EOA existentes adopten temporalmente las características de las cuentas inteligentes, lo que aporta las ventajas de la abstracción de cuentas a las carteras que la gente ya utiliza. Los «bundlers» se comportan de forma muy similar a los constructores de bloques en la cadena de suministro de MEV, agregando las intenciones de los usuarios antes de su envío.
Preguntas frecuentes
¿Qué es la abstracción de cuentas en términos sencillos?
La abstracción de cuentas permite que una cuenta de cadena de bloques sea programable. En lugar de que una única clave privada lo controle todo, es un contrato inteligente el que controla la cuenta y puede añadir funciones como la recuperación, los límites de gasto, el procesamiento por lotes y el gas patrocinado.
¿Qué es el ERC-4337?
ERC-4337 es el estándar « Ethereum » que permite la abstracción de cuentas sin modificar el protocolo básico. Introduce UserOps, «bundlers», un contrato «EntryPoint» único y «paymasters» opcionales, todos los cuales se ejecutan a través de puntos finales RPC estándar.
¿Qué es un pagador?
Un «paymaster» es un contrato inteligente opcional que se hace cargo de las comisiones de gas de los usuarios o les permite pagarlas con tokens distintos de la moneda nativa. Es lo que permite a un nuevo usuario interactuar con una dapp sin tener que comprar ETH previamente.
¿Puedo recuperar una cartera de abstracción de cuentas si pierdo mi clave?
A menudo, sí. Las carteras de contratos inteligentes pueden incorporar un sistema de recuperación social, en el que unos tutores designados aprueban un cambio de clave, lo que elimina el riesgo de fallo asociado a la frase de semilla única que afecta a las carteras tradicionales. Consulta cómo funciona la gestión de claves para obtener más información.
¿Necesito ETH para utilizar una cartera de abstracción de cuentas?
No necesariamente. Si la aplicación cuenta con un «paymaster», este puede hacerse cargo de tus gastos de gas o permitirte pagar con una stablecoin, de modo que puedas realizar transacciones sin necesidad de tener el token nativo de la cadena.