Lección 2

Cómo funciona la abstracción de cuentas

Para entender cómo funciona la abstracción de cuentas en la práctica, es esencial comenzar con cómo funcionan las cuentas tradicionales en Ethereum y cómo este modelo difiere en otras cadenas de bloques como Solana y Starknet. Este módulo examina la mecánica detrás de las cuentas de Ethereum, explora los cambios introducidos por estándares de abstracción como ERC-4337 y compara el enfoque basado en simulaciones de Ethereum con las implementaciones nativas en cadenas alternativas.

Cómo funcionan las cuentas de Ethereum por dentro

Ethereum utiliza dos tipos de cuentas: cuentas de propiedad externa (EOAs) y cuentas de contrato. Las EOAs están controladas por claves privadas y son utilizadas por individuos o aplicaciones para firmar transacciones. Estas cuentas son simples en estructura. Incluyen un nonce, saldo y una clave pública asociada, pero no tienen código interno. Cuando un usuario firma una transacción desde una EOA, la Máquina Virtual de Ethereum (EVM) verifica la firma y deduce la tarifa de gas antes de ejecutar la transacción. Las cuentas de contrato, en contraste, están controladas por código y no inician acciones por sí solas. Solo responden a transacciones desencadenadas por EOAs. La EVM procesa la lógica del contrato y almacena el estado, pero un contrato no puede firmar transacciones de manera independiente ni iniciarlas sin entrada externa.

Esta arquitectura limita la funcionalidad de las cuentas en Ethereum. Dado que toda la actividad debe originarse en EOAs y cada transacción requiere una firma criptográfica válida, funciones avanzadas como la autenticación multifactor, la recuperación social y las operaciones agrupadas requieren soluciones complejas. Estas restricciones motivaron el concepto de abstracción de cuentas, para hacer que todas las cuentas sean programables y unificar la distinción entre la actividad controlada por el usuario y la controlada por contratos.

Cómo la abstracción de cuentas cambia la validación de transacciones, el gas y el acceso

La abstracción de cuentas modifica el camino de validación de las transacciones al permitir que la propia cuenta defina cómo se aprueban y ejecutan las acciones. En lugar de exigir una firma de una clave privada específica, una billetera de contrato inteligente puede definir su propia lógica para la autenticación. Esta lógica podría incluir firmas umbral, verificaciones de dispositivos de hardware o reglas para límites de gasto y bloqueos de tiempo.

Uno de los cambios más impactantes introducidos por la abstracción de cuentas es el desacoplamiento del pago de gas del remitente. Tradicionalmente, el iniciador de la transacción debe pagar por el gas en ETH. Bajo la abstracción de cuentas, la lógica de validación puede permitir que terceros—llamados patrocinadores de pago—cubrann las tarifas de gas en nombre del usuario. Esto abre nuevas posibilidades, como patrocinar transacciones para usuarios primerizos, habilitar interacciones sin gas en dApps, o pagar tarifas en stablecoins o tokens nativos de proyectos.

Además, la abstracción de cuentas introduce la capacidad de agrupar múltiples operaciones en una sola transacción. Por ejemplo, un usuario puede aprobar un token, realizar un intercambio y transferir fondos en una sola acción, reduciendo el número de confirmaciones requeridas y mejorando la experiencia del usuario. Estas mejoras reducen significativamente la fricción en las interacciones de dApp mientras mantienen la seguridad y la composibilidad.

Introducción a ERC-4337 y el "alt mempool"

ERC-4337, finalizado en 2023, representa un hito en el viaje de Ethereum hacia la abstracción de cuentas. A diferencia de propuestas anteriores como EIP-2938, ERC-4337 no requiere cambios en la capa de consenso de Ethereum. En cambio, opera completamente dentro del entorno existente de contratos inteligentes al introducir un flujo de transacciones paralelo utilizando un mempool alternativo y una arquitectura de contrato específica.

Bajo ERC-4337, las transacciones son reemplazadas por UserOperations—objetos de datos que describen acciones deseadas pero no se envían al mempool tradicional. Estas UserOperations son recogidas por actores especializados fuera de la cadena conocidos como bundlers. Un bundler agrega múltiples UserOperations en una transacción estándar de Ethereum y la envía a la blockchain.

En la cadena, un contrato singleton llamado EntryPoint verifica y procesa estas operaciones agrupadas. El EntryPoint interactúa con cuentas inteligentes de usuario, que definen su propia lógica de validación y delegan la ejecución de transacciones una vez validadas. Para pagar las tarifas de gas, las cuentas pueden interactuar opcionalmente con patrocinadores, que financian los costos de ejecución bajo condiciones especificadas en el código.

Esta estructura permite una forma descentralizada y sin permisos de soportar la abstracción de cuentas sin modificar el protocolo base de Ethereum. Como resultado, los desarrolladores pueden implementar billeteras de contratos inteligentes que se comportan como EOAs desde la perspectiva del usuario, pero que ofrecen una funcionalidad mucho más rica.

El enfoque de Solana: Abstracción de cuenta nativa

Solana adopta un enfoque fundamentalmente diferente hacia la abstracción de cuentas al apoyarla a nivel de protocolo. Las cuentas de Solana no se dividen en EOAs y cuentas de contrato. En cambio, todas las cuentas en Solana son contenedores de almacenamiento de propósito general que pueden contener datos, ser asignados a la propiedad e interactuar con programas.

En el modelo de Solana, la validación de acciones está incrustada dentro de los programas (contratos inteligentes) mismos. Las Direcciones Derivadas de Programa (PDA) son un elemento clave de este sistema. Estas son direcciones deterministas generadas a partir de semillas y programas que no tienen una clave privada asociada. En cambio, son controladas por la lógica del programa y pueden realizar acciones cuando se cumplen las condiciones apropiadas.

Debido a esta flexibilidad nativa, Solana ha ofrecido características como la autorización de múltiples firmas, la delegación de cuentas y el pago de tarifas por parte de terceros sin requerir estándares externos o flujos de transacción simulados. Carteras como Phantom y Solflare han integrado estas capacidades desde el principio, demostrando una experiencia de usuario fluida y un control programable de los fondos. Esto contrasta con Ethereum, donde una funcionalidad similar depende de superposiciones como ERC-4337 y redes de agrupación.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.
Catálogo
Lección 2

Cómo funciona la abstracción de cuentas

Para entender cómo funciona la abstracción de cuentas en la práctica, es esencial comenzar con cómo funcionan las cuentas tradicionales en Ethereum y cómo este modelo difiere en otras cadenas de bloques como Solana y Starknet. Este módulo examina la mecánica detrás de las cuentas de Ethereum, explora los cambios introducidos por estándares de abstracción como ERC-4337 y compara el enfoque basado en simulaciones de Ethereum con las implementaciones nativas en cadenas alternativas.

Cómo funcionan las cuentas de Ethereum por dentro

Ethereum utiliza dos tipos de cuentas: cuentas de propiedad externa (EOAs) y cuentas de contrato. Las EOAs están controladas por claves privadas y son utilizadas por individuos o aplicaciones para firmar transacciones. Estas cuentas son simples en estructura. Incluyen un nonce, saldo y una clave pública asociada, pero no tienen código interno. Cuando un usuario firma una transacción desde una EOA, la Máquina Virtual de Ethereum (EVM) verifica la firma y deduce la tarifa de gas antes de ejecutar la transacción. Las cuentas de contrato, en contraste, están controladas por código y no inician acciones por sí solas. Solo responden a transacciones desencadenadas por EOAs. La EVM procesa la lógica del contrato y almacena el estado, pero un contrato no puede firmar transacciones de manera independiente ni iniciarlas sin entrada externa.

Esta arquitectura limita la funcionalidad de las cuentas en Ethereum. Dado que toda la actividad debe originarse en EOAs y cada transacción requiere una firma criptográfica válida, funciones avanzadas como la autenticación multifactor, la recuperación social y las operaciones agrupadas requieren soluciones complejas. Estas restricciones motivaron el concepto de abstracción de cuentas, para hacer que todas las cuentas sean programables y unificar la distinción entre la actividad controlada por el usuario y la controlada por contratos.

Cómo la abstracción de cuentas cambia la validación de transacciones, el gas y el acceso

La abstracción de cuentas modifica el camino de validación de las transacciones al permitir que la propia cuenta defina cómo se aprueban y ejecutan las acciones. En lugar de exigir una firma de una clave privada específica, una billetera de contrato inteligente puede definir su propia lógica para la autenticación. Esta lógica podría incluir firmas umbral, verificaciones de dispositivos de hardware o reglas para límites de gasto y bloqueos de tiempo.

Uno de los cambios más impactantes introducidos por la abstracción de cuentas es el desacoplamiento del pago de gas del remitente. Tradicionalmente, el iniciador de la transacción debe pagar por el gas en ETH. Bajo la abstracción de cuentas, la lógica de validación puede permitir que terceros—llamados patrocinadores de pago—cubrann las tarifas de gas en nombre del usuario. Esto abre nuevas posibilidades, como patrocinar transacciones para usuarios primerizos, habilitar interacciones sin gas en dApps, o pagar tarifas en stablecoins o tokens nativos de proyectos.

Además, la abstracción de cuentas introduce la capacidad de agrupar múltiples operaciones en una sola transacción. Por ejemplo, un usuario puede aprobar un token, realizar un intercambio y transferir fondos en una sola acción, reduciendo el número de confirmaciones requeridas y mejorando la experiencia del usuario. Estas mejoras reducen significativamente la fricción en las interacciones de dApp mientras mantienen la seguridad y la composibilidad.

Introducción a ERC-4337 y el "alt mempool"

ERC-4337, finalizado en 2023, representa un hito en el viaje de Ethereum hacia la abstracción de cuentas. A diferencia de propuestas anteriores como EIP-2938, ERC-4337 no requiere cambios en la capa de consenso de Ethereum. En cambio, opera completamente dentro del entorno existente de contratos inteligentes al introducir un flujo de transacciones paralelo utilizando un mempool alternativo y una arquitectura de contrato específica.

Bajo ERC-4337, las transacciones son reemplazadas por UserOperations—objetos de datos que describen acciones deseadas pero no se envían al mempool tradicional. Estas UserOperations son recogidas por actores especializados fuera de la cadena conocidos como bundlers. Un bundler agrega múltiples UserOperations en una transacción estándar de Ethereum y la envía a la blockchain.

En la cadena, un contrato singleton llamado EntryPoint verifica y procesa estas operaciones agrupadas. El EntryPoint interactúa con cuentas inteligentes de usuario, que definen su propia lógica de validación y delegan la ejecución de transacciones una vez validadas. Para pagar las tarifas de gas, las cuentas pueden interactuar opcionalmente con patrocinadores, que financian los costos de ejecución bajo condiciones especificadas en el código.

Esta estructura permite una forma descentralizada y sin permisos de soportar la abstracción de cuentas sin modificar el protocolo base de Ethereum. Como resultado, los desarrolladores pueden implementar billeteras de contratos inteligentes que se comportan como EOAs desde la perspectiva del usuario, pero que ofrecen una funcionalidad mucho más rica.

El enfoque de Solana: Abstracción de cuenta nativa

Solana adopta un enfoque fundamentalmente diferente hacia la abstracción de cuentas al apoyarla a nivel de protocolo. Las cuentas de Solana no se dividen en EOAs y cuentas de contrato. En cambio, todas las cuentas en Solana son contenedores de almacenamiento de propósito general que pueden contener datos, ser asignados a la propiedad e interactuar con programas.

En el modelo de Solana, la validación de acciones está incrustada dentro de los programas (contratos inteligentes) mismos. Las Direcciones Derivadas de Programa (PDA) son un elemento clave de este sistema. Estas son direcciones deterministas generadas a partir de semillas y programas que no tienen una clave privada asociada. En cambio, son controladas por la lógica del programa y pueden realizar acciones cuando se cumplen las condiciones apropiadas.

Debido a esta flexibilidad nativa, Solana ha ofrecido características como la autorización de múltiples firmas, la delegación de cuentas y el pago de tarifas por parte de terceros sin requerir estándares externos o flujos de transacción simulados. Carteras como Phantom y Solflare han integrado estas capacidades desde el principio, demostrando una experiencia de usuario fluida y un control programable de los fondos. Esto contrasta con Ethereum, donde una funcionalidad similar depende de superposiciones como ERC-4337 y redes de agrupación.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.