Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro
Introducción
Este artículo se divide en dos grandes módulos:
La parte superior comienza con la primera propuesta de AA de 2015, organiza el contenido principal de las propuestas EIP hasta la fecha, explora la evolución de las propuestas históricas de AA y evalúa de manera integral las ventajas y desventajas de cada方案.
La parte inferior se centra en comparar la fría reacción del mercado ante el lanzamiento de EIP4337, analizando en profundidad el EIP7702 que se incluirá en la próxima actualización de Ethereum; esta propuesta, una vez fusionada, cambiará por completo la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, vamos a conocerlo en detalle.
1. El contexto de la abstracción de cuentas
1.1 la ubicación del significado de la abstracción de cuentas
El fundador de Ethereum, Vitalik, actualizó nuevamente la hoja de ruta de ETH a finales de 2023, pero no hizo cambios en la posición de la abstracción de cuentas. Actualmente, el modelo principal está pasando de EIP-4337 a la siguiente etapa "conversión voluntaria de cuentas EOA".
Desde el lanzamiento de EIP4337 hace más de un año, el 1 de marzo de 2023 en WalletCon en Denver, el contrato central ERC-4337 diseñado e implementado por los desarrolladores de la Fundación Ethereum fue auditado por OpenZeppelin y se considera oficialmente lanzado (, siendo ampliamente reconocido por los usuarios pero no ampliamente utilizado. En este entorno del mercado contradictorio, el progreso de EIP-7702 se ha adelantado significativamente y se ha confirmado que se integrará en la próxima actualización.
) 1.2 El estado actual del mercado de la abstracción de cuentas
Después de un año y medio de desarrollo, EIP4337 solo tiene 12 millones de direcciones en cadenas principales, de las cuales solo hay 6,764 direcciones activas en la red principal de Ethereum, lo que difiere enormemente de la cantidad de direcciones EOA y CA. El número de direcciones independientes en la red principal de Ethereum ha alcanzado los 270 millones, por lo que se puede decir que EIP4337 no ha tenido un desarrollo sustancial en la red principal.
Sin embargo, esto no afecta el valor esencial de AA. Desde su diseño inicial, EIP4337 estaba destinado a no resolver el problema de compatibilidad hacia adelante de la red principal. A medida que varios L2 se integran nativamente en AA, el número de direcciones de EIP4337 ha explotado en L2, con una actividad mensual en julio de 1 millón y 3 millones en las cadenas Base y Polygon respectivamente, lo cual es bastante notable.
Por lo tanto, no es que el diseño de EIP4337 esté equivocado, tiene muchas ventajas. La situación actual se debe a las diferencias entre la mainnet y L2, que necesitan soluciones adecuadas para cada una.
![Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro]###https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(
2. ¿Qué es la abstracción de cuentas?
La abstracción de cuentas resuelve esencialmente el problema de la separación de la propiedad.
En la arquitectura EVM hay dos tipos de cuentas: cuenta externa ) EOA ( y cuenta de contrato ) Contract Account (. La propiedad y el derecho de firma de la cuenta externa son poseídos por la misma entidad. La persona que posee la clave privada no solo tiene la "propiedad" de la cuenta, sino que también puede "firmar la transferencia de todos los activos".
Esto está determinado por la estructura de transacción de cuentas de Ethereum. En una transacción estándar, en realidad no hay un campo From; la transferencia de fondos se realiza a través de los parámetros VRS ), que permiten la firma del usuario ( para descomponer la dirección From. Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, garantizando la seguridad a través de la criptografía, pero también ha llevado a la penosa situación de la fusión de la propiedad de direcciones EOA en la actualidad.
El efecto central de EIP4337 es agregar la dirección del remitente en el campo de transacción, separando así la clave privada de la dirección operada.
La separación de la propiedad es importante porque la cuenta externa )EOA( genera más problemas derivados del diseño:
Dificultad para proteger la clave privada: perder la clave privada significa perder todos los activos.
Algoritmo de firma único: la verificación de transacciones del protocolo nativo solo puede usar el algoritmo ECDSA.
Permisos de firma demasiado altos: sin multisig nativo, una sola firma puede ejecutar cualquier operación.
Las tarifas de transacción solo se pueden pagar con Ether, no se admite el comercio en masa.
Filtración de privacidad en las transacciones: el comercio uno a uno facilita el análisis de la información privada del titular de la cuenta.
Estas limitaciones dificultan que los usuarios comunes utilicen Ethereum:
Primero, para usar cualquier aplicación de Ethereum, debes poseer ETH y asumir el riesgo de fluctuaciones de precios.
Además, los usuarios deben manejar una lógica de tarifas compleja, el precio del Gas, el límite de Gas, el bloqueo de transacciones ) y el orden de Nonce (, conceptos que son demasiado complejos.
Finalmente, aunque muchas billeteras o aplicaciones de blockchain intentan mejorar la experiencia del usuario a través de la optimización del producto, el efecto real es muy limitado.
Por lo tanto, la solución radica en implementar la abstracción de cuentas, desacoplando la propiedad )Owner( y el derecho de firma )Signer(, resolviendo así cada uno de los problemas mencionados.
A lo largo de la historia, ha habido múltiples propuestas que finalmente convergieron en dos rutas.
![Análisis profundo del pasado y futuro de la abstracción de cuentas de Ethereum])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(
3. Contexto histórico de las propuestas de AA
La solución al problema parece tener múltiples propuestas de EIP, pero en última instancia, solo hay dos enfoques centrales. Cada EIP no aprobado ha reunido los problemas considerados y se ha convertido en un punto de ruptura para los esquemas existentes.
) 3.1 Primera ruta: convertir la dirección EOA en una dirección CA
El 15 de noviembre de 2015, Vitalik propuso en el EIP-101 una nueva estructura de cuentas como contratos. Cambió las direcciones para que solo tuvieran código y espacio de almacenamiento, modificó las tarifas para soportar pagos ERC20, y a través de contratos precompilados convirtió los tokens nativos en saldo de tipo ERC20 ### con funciones como autorización de deducción (, y simplificó los campos de transacción a to, startgas, data y code.
Esta es una transformación estilo Gran Salto Adelante, que modificará en gran medida el diseño subyacente, permitiendo que cada dirección de cuenta tenga su propia lógica de "código". ) es precisamente el efecto que EIP-7702 busca lograr. (.
también se pueden derivar otras funciones, como:
Las transacciones utilizan más algoritmos de cifrado, y los métodos de verificación y autenticación están especificados en el código interno de cada dirección.
Posee características de resistencia a ataques cuánticos, el código es actualizable
Ether tiene la misma funcionalidad de contrato ERC20, con efectos centrales como la autorización de retención, sin necesidad de pérdida de moneda nativa.
Mejorar el espacio de personalización de cuentas, compatible con recuperación social, soporte SBT, recuperación de claves, etc.
La razón por la que no se continuó con el avance es muy simple, el paso fue demasiado grande, se dejó de lado debido a la falta de consideración sobre el problema actual de colisiones de hash en las transacciones y los riesgos de seguridad, pero cada concepto positivo se convirtió en una de las funciones centrales de EIP4337 y EIP7702.
Más tarde, hubo una serie de EIP que intentaron perfeccionar esta lógica:
EIP-859: abstracción de cuentas de la cadena principal )2018-01-30(
Intentar resolver el problema de implementación de Code, la función principal es que si el contrato de la parte transaccional no está implementado, se utiliza el parámetro de código adjunto a la transacción para ejecutar la implementación del monedero del contrato. También se propuso un nuevo opcode PAYGAS, que además de pagar gas, se convierte en un delimitador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.
Aunque en ese momento no tuvo éxito, se convirtió en una de las lógicas centrales de lo que ahora es EIP7702. EIP7702 combina cada transacción con una estructura de transacción especial, permitiendo que se adjunten ciertos códigos, de modo que la dirección EOA tenga capacidades de contrato en esta transacción.
EIP-7702: establecer el código de cuenta EOA )2024-05-07(
Este es el EIP central del mecanismo discutido en este artículo, publicado por Vitalik como una alternativa a EIP-3074. Por lo tanto, EIP-3074 ha sido desechado y EIP-7702 se incluirá en el próximo hard fork ETH Prague/Electra)Pectra(.
) 3.2 Segunda ruta: dejar que la dirección EOA impulse la dirección CA
EIP-3074: aumentar los códigos de operación AUTH y AUTHCALL ###2020-10-15(
Agregar dos nuevos OpCodes en EVM: AUTH y AUTHCALL, permitiendo que EOA autorice a un contrato a llamar a otros contratos en lugar de usar la identidad de EOA a través de estos dos opcode.
En resumen, un EOA puede enviar mensajes firmados ) y transacciones ( a un contrato de confianza ) llamado Invoker (. Este contrato Invoker puede utilizar los códigos de operación AUTH y AUTHCALL para emitir transacciones en lugar del EOA.
EIP-4337: implementación de la abstracción de cuentas en el grupo de memoria de transacciones )2021-09-29(
Diseñado con inspiración en MEV, su valor central es evitar por completo los cambios en el protocolo de la capa de consenso.
EIP4337 propone un nuevo objeto de transacción llamado UserOperation, que los usuarios envían al pool de memoria, donde los bundlers agrupan y entregan las transacciones de ejecución de contratos desde la perspectiva de los mineros. Esencialmente, esto lleva las transacciones subyacentes y la operación de cuentas a un nivel de ejecución de contratos.
EIP-5189: a través de la operación de un endosador se abstrae la cuenta )2022-06-29(
Se optimizó la lógica de EIP4337, enfrentando a los Bundlers maliciosos mediante el establecimiento de un mecanismo de respaldo de endorser de penalización de fondos para prevenir ataques de bloqueo DoS.
) 3.3 Otras propuestas que soportan la abstracción de cuentas
EIP-2718: sobreenvoltura de nuevos tipos de transacciones ###2020-06-13(
La propuesta ya finalizada define un nuevo tipo de transacción como un sobre para futuros tipos de transacciones adicionales.
El efecto final es que al introducir un nuevo tipo de transacción, se distingue a través de una codificación específica, solo necesita ser compatible hacia atrás, sin necesidad de ser compatible hacia adelante. El ejemplo más común es EIP1559, que diferencia las tarifas de transacción, utilizando una codificación de nuevo tipo de transacción, sin afectar al tipo de transacción legacy original.
EIP-3607: hacer que las direcciones EOA no puedan desplegar contratos )2021-06-10(
Solución complementaria en la ruta AA, para evitar conflictos entre la dirección de despliegue del contrato y la dirección EOA. Control del método de generación de contratos, el sistema no permite desplegar código en direcciones que ya son EOA. Este riesgo es muy bajo, ya que la dirección de Ethereum tiene 160 bits de longitud; aunque existe un método para colisionar la clave privada y obtener la clave privada de una dirección de contrato específica, se estima que con toda la potencia de cálculo de Bitcoin también se necesitaría un año.
) 3.4 ¿Cómo entender la evolución de la abstracción de cuentas?
Primero es necesario entender el valor después de convertirse en CA.
Básicamente, es el efecto práctico de EIP-4337, que puede lograr:
Pago de gas con cualquier token
Transacciones en lotes
Programabilidad de la firma
La lógica de la billetera es actualizable
Multisig y recuperación social
Transacciones sin gas
Pago de gas programable
Sin embargo, la principal desventaja de EIP-4337 es que va en contra del principio de motivación humana.
Parece mejor, pero cae en un ciclo vicioso de desarrollo del mercado. Muchos Dapp no son compatibles, los usuarios no están dispuestos a usar direcciones de cuenta, usar cuenta incluso tiene un costo de transacción más alto ### en escenarios de transferencia ordinaria, las tarifas de transacción se duplican (, depende demasiado de la compatibilidad del Dapp en sí.
Por lo tanto, aún no se ha generalizado en la red principal de Ethereum.
El costo es el estándar más importante de medición para los usuarios, y debe reducirse.
Pero para reducir realmente el GAS, es necesario que Ethereum realice una actualización de bifurcación suave y modifique el cálculo del GAS o modifique módulos como el consumo de GAS en los códigos de operación. Dado que se va a hacer una bifurcación suave, ¿por qué no considerar directamente el EIP-7702?
![Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(
4. Análisis completo de EIP-7702
) 4.1 ¿Qué es EIP-7702?
A través de la diferenciación de un nuevo tipo de transacción, se permite que una EOA tenga temporalmente funciones de contrato inteligente en una sola transacción, lo que a su vez apoya transacciones por lotes en el negocio, transacciones sin Gas y gestión de permisos personalizada, sin necesidad de introducir un nuevo opCode EVM ### que afecte a la compatibilidad hacia adelante (.
permite a los usuarios obtener la mayor parte de la capacidad AA sin desplegar contratos inteligentes, e incluso proporciona la capacidad de que terceros inicien transacciones en nombre del usuario, sin necesidad de que el usuario proporcione su clave privada, solo se requiere firmar la información de autorización.
) 4.2 estructura de datos
Definir un nuevo tipo de transacción 0x04, el tipo de transacción TransactionPayload es el resultado de la serialización RLP del siguiente contenido:
Es importante agregar el objeto authorization_list, que almacena el código que el firmante desea ejecutar en su EOA. El usuario firma la transacción y también el código del contrato a ejecutar, que existe como una lista bidimensional, indicando que se pueden almacenar múltiples informaciones de operación en lote y ejecutar operaciones en lote.
En la fase de inicio de ejecución de la transacción, para cada tupla [chain_id, address, nonce, y_parity, r, s] de authorization_list:
Recuperar la dirección del firmante ### utilizando ecrecover a partir de las firmas r, s mediante el mecanismo de Ethereum, esta EIP no ha cambiado el algoritmo de firma (.
Verificar la cadena ID) para evitar la reproducción de cadenas de bifurcación (.
Verificar si el código del firmante de authority está vacío o ha delegado ) para validar si la transacción es una transacción 7702 válida, y posteriormente ejecutar la transacción ( a través del mecanismo de delegación.
Verificar el nonce del firmante authority ) para prevenir la repetición de la firma authority (.
Configurar el código de firmante authority como 0xef0100 || address) para eludir la estrategia de prevención de colisiones EIP3607(.
Aumentar el nonce del firmante de authority ) para prevenir la repetición de firmas locales (.
Agregar la cuenta firmante de authority a la lista de direcciones visitadas ) para la dirección de transferencia, reduciendo el costo de gas de almacenamiento de consulta (.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
16 me gusta
Recompensa
16
7
Compartir
Comentar
0/400
BlockchainWorker
· 07-19 17:18
7702 vuelve a hacer cosas nuevas, ¿por qué parece poco confiable?
Ver originalesResponder0
LiquidityOracle
· 07-19 17:15
La propuesta 7702 puede estar a punto de hacer algo.
Ver originalesResponder0
MetaverseLandlady
· 07-19 17:15
¿De verdad solo hay que hablar del 4337? ¡El 7702 es el grande!
Ver originalesResponder0
FloorSweeper
· 07-19 17:04
ngmi... otra "innovación" de L1 sobrevalorada que fracasará igual que lo hizo 4337
Ver originalesResponder0
BlockchainDecoder
· 07-19 16:57
Desde los datos de investigación, aún está por ver si el 7702 puede realmente revertir la tendencia negativa del mercado 4337.
Ver originalesResponder0
BearMarketSurvivor
· 07-19 16:50
Otra vez una actualización de posiciones en corto, ni los perros juegan.
Ver originalesResponder0
MEVHunterBearish
· 07-19 16:49
Siento que 4337 acaba de empezar a calentar y ya va a ser reemplazado.
Ethereum EIP-7702: Abstracción de cuentas en la nueva era, permite a las EOA obtener capacidades de contratos inteligentes.
Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro
Introducción
Este artículo se divide en dos grandes módulos:
La parte superior comienza con la primera propuesta de AA de 2015, organiza el contenido principal de las propuestas EIP hasta la fecha, explora la evolución de las propuestas históricas de AA y evalúa de manera integral las ventajas y desventajas de cada方案.
La parte inferior se centra en comparar la fría reacción del mercado ante el lanzamiento de EIP4337, analizando en profundidad el EIP7702 que se incluirá en la próxima actualización de Ethereum; esta propuesta, una vez fusionada, cambiará por completo la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, vamos a conocerlo en detalle.
1. El contexto de la abstracción de cuentas
1.1 la ubicación del significado de la abstracción de cuentas
El fundador de Ethereum, Vitalik, actualizó nuevamente la hoja de ruta de ETH a finales de 2023, pero no hizo cambios en la posición de la abstracción de cuentas. Actualmente, el modelo principal está pasando de EIP-4337 a la siguiente etapa "conversión voluntaria de cuentas EOA".
Desde el lanzamiento de EIP4337 hace más de un año, el 1 de marzo de 2023 en WalletCon en Denver, el contrato central ERC-4337 diseñado e implementado por los desarrolladores de la Fundación Ethereum fue auditado por OpenZeppelin y se considera oficialmente lanzado (, siendo ampliamente reconocido por los usuarios pero no ampliamente utilizado. En este entorno del mercado contradictorio, el progreso de EIP-7702 se ha adelantado significativamente y se ha confirmado que se integrará en la próxima actualización.
) 1.2 El estado actual del mercado de la abstracción de cuentas
Después de un año y medio de desarrollo, EIP4337 solo tiene 12 millones de direcciones en cadenas principales, de las cuales solo hay 6,764 direcciones activas en la red principal de Ethereum, lo que difiere enormemente de la cantidad de direcciones EOA y CA. El número de direcciones independientes en la red principal de Ethereum ha alcanzado los 270 millones, por lo que se puede decir que EIP4337 no ha tenido un desarrollo sustancial en la red principal.
Sin embargo, esto no afecta el valor esencial de AA. Desde su diseño inicial, EIP4337 estaba destinado a no resolver el problema de compatibilidad hacia adelante de la red principal. A medida que varios L2 se integran nativamente en AA, el número de direcciones de EIP4337 ha explotado en L2, con una actividad mensual en julio de 1 millón y 3 millones en las cadenas Base y Polygon respectivamente, lo cual es bastante notable.
Por lo tanto, no es que el diseño de EIP4337 esté equivocado, tiene muchas ventajas. La situación actual se debe a las diferencias entre la mainnet y L2, que necesitan soluciones adecuadas para cada una.
![Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro]###https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(
2. ¿Qué es la abstracción de cuentas?
La abstracción de cuentas resuelve esencialmente el problema de la separación de la propiedad.
En la arquitectura EVM hay dos tipos de cuentas: cuenta externa ) EOA ( y cuenta de contrato ) Contract Account (. La propiedad y el derecho de firma de la cuenta externa son poseídos por la misma entidad. La persona que posee la clave privada no solo tiene la "propiedad" de la cuenta, sino que también puede "firmar la transferencia de todos los activos".
Esto está determinado por la estructura de transacción de cuentas de Ethereum. En una transacción estándar, en realidad no hay un campo From; la transferencia de fondos se realiza a través de los parámetros VRS ), que permiten la firma del usuario ( para descomponer la dirección From. Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, garantizando la seguridad a través de la criptografía, pero también ha llevado a la penosa situación de la fusión de la propiedad de direcciones EOA en la actualidad.
El efecto central de EIP4337 es agregar la dirección del remitente en el campo de transacción, separando así la clave privada de la dirección operada.
La separación de la propiedad es importante porque la cuenta externa )EOA( genera más problemas derivados del diseño:
Estas limitaciones dificultan que los usuarios comunes utilicen Ethereum:
Primero, para usar cualquier aplicación de Ethereum, debes poseer ETH y asumir el riesgo de fluctuaciones de precios.
Además, los usuarios deben manejar una lógica de tarifas compleja, el precio del Gas, el límite de Gas, el bloqueo de transacciones ) y el orden de Nonce (, conceptos que son demasiado complejos.
Finalmente, aunque muchas billeteras o aplicaciones de blockchain intentan mejorar la experiencia del usuario a través de la optimización del producto, el efecto real es muy limitado.
Por lo tanto, la solución radica en implementar la abstracción de cuentas, desacoplando la propiedad )Owner( y el derecho de firma )Signer(, resolviendo así cada uno de los problemas mencionados.
A lo largo de la historia, ha habido múltiples propuestas que finalmente convergieron en dos rutas.
![Análisis profundo del pasado y futuro de la abstracción de cuentas de Ethereum])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(
3. Contexto histórico de las propuestas de AA
La solución al problema parece tener múltiples propuestas de EIP, pero en última instancia, solo hay dos enfoques centrales. Cada EIP no aprobado ha reunido los problemas considerados y se ha convertido en un punto de ruptura para los esquemas existentes.
) 3.1 Primera ruta: convertir la dirección EOA en una dirección CA
El 15 de noviembre de 2015, Vitalik propuso en el EIP-101 una nueva estructura de cuentas como contratos. Cambió las direcciones para que solo tuvieran código y espacio de almacenamiento, modificó las tarifas para soportar pagos ERC20, y a través de contratos precompilados convirtió los tokens nativos en saldo de tipo ERC20 ### con funciones como autorización de deducción (, y simplificó los campos de transacción a to, startgas, data y code.
Esta es una transformación estilo Gran Salto Adelante, que modificará en gran medida el diseño subyacente, permitiendo que cada dirección de cuenta tenga su propia lógica de "código". ) es precisamente el efecto que EIP-7702 busca lograr. (.
también se pueden derivar otras funciones, como:
La razón por la que no se continuó con el avance es muy simple, el paso fue demasiado grande, se dejó de lado debido a la falta de consideración sobre el problema actual de colisiones de hash en las transacciones y los riesgos de seguridad, pero cada concepto positivo se convirtió en una de las funciones centrales de EIP4337 y EIP7702.
Más tarde, hubo una serie de EIP que intentaron perfeccionar esta lógica:
EIP-859: abstracción de cuentas de la cadena principal )2018-01-30(
Intentar resolver el problema de implementación de Code, la función principal es que si el contrato de la parte transaccional no está implementado, se utiliza el parámetro de código adjunto a la transacción para ejecutar la implementación del monedero del contrato. También se propuso un nuevo opcode PAYGAS, que además de pagar gas, se convierte en un delimitador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.
Aunque en ese momento no tuvo éxito, se convirtió en una de las lógicas centrales de lo que ahora es EIP7702. EIP7702 combina cada transacción con una estructura de transacción especial, permitiendo que se adjunten ciertos códigos, de modo que la dirección EOA tenga capacidades de contrato en esta transacción.
EIP-7702: establecer el código de cuenta EOA )2024-05-07(
Este es el EIP central del mecanismo discutido en este artículo, publicado por Vitalik como una alternativa a EIP-3074. Por lo tanto, EIP-3074 ha sido desechado y EIP-7702 se incluirá en el próximo hard fork ETH Prague/Electra)Pectra(.
) 3.2 Segunda ruta: dejar que la dirección EOA impulse la dirección CA
EIP-3074: aumentar los códigos de operación AUTH y AUTHCALL ###2020-10-15(
Agregar dos nuevos OpCodes en EVM: AUTH y AUTHCALL, permitiendo que EOA autorice a un contrato a llamar a otros contratos en lugar de usar la identidad de EOA a través de estos dos opcode.
En resumen, un EOA puede enviar mensajes firmados ) y transacciones ( a un contrato de confianza ) llamado Invoker (. Este contrato Invoker puede utilizar los códigos de operación AUTH y AUTHCALL para emitir transacciones en lugar del EOA.
EIP-4337: implementación de la abstracción de cuentas en el grupo de memoria de transacciones )2021-09-29(
Diseñado con inspiración en MEV, su valor central es evitar por completo los cambios en el protocolo de la capa de consenso.
EIP4337 propone un nuevo objeto de transacción llamado UserOperation, que los usuarios envían al pool de memoria, donde los bundlers agrupan y entregan las transacciones de ejecución de contratos desde la perspectiva de los mineros. Esencialmente, esto lleva las transacciones subyacentes y la operación de cuentas a un nivel de ejecución de contratos.
EIP-5189: a través de la operación de un endosador se abstrae la cuenta )2022-06-29(
Se optimizó la lógica de EIP4337, enfrentando a los Bundlers maliciosos mediante el establecimiento de un mecanismo de respaldo de endorser de penalización de fondos para prevenir ataques de bloqueo DoS.
) 3.3 Otras propuestas que soportan la abstracción de cuentas
EIP-2718: sobreenvoltura de nuevos tipos de transacciones ###2020-06-13(
La propuesta ya finalizada define un nuevo tipo de transacción como un sobre para futuros tipos de transacciones adicionales.
El efecto final es que al introducir un nuevo tipo de transacción, se distingue a través de una codificación específica, solo necesita ser compatible hacia atrás, sin necesidad de ser compatible hacia adelante. El ejemplo más común es EIP1559, que diferencia las tarifas de transacción, utilizando una codificación de nuevo tipo de transacción, sin afectar al tipo de transacción legacy original.
EIP-3607: hacer que las direcciones EOA no puedan desplegar contratos )2021-06-10(
Solución complementaria en la ruta AA, para evitar conflictos entre la dirección de despliegue del contrato y la dirección EOA. Control del método de generación de contratos, el sistema no permite desplegar código en direcciones que ya son EOA. Este riesgo es muy bajo, ya que la dirección de Ethereum tiene 160 bits de longitud; aunque existe un método para colisionar la clave privada y obtener la clave privada de una dirección de contrato específica, se estima que con toda la potencia de cálculo de Bitcoin también se necesitaría un año.
) 3.4 ¿Cómo entender la evolución de la abstracción de cuentas?
Primero es necesario entender el valor después de convertirse en CA.
Básicamente, es el efecto práctico de EIP-4337, que puede lograr:
Sin embargo, la principal desventaja de EIP-4337 es que va en contra del principio de motivación humana.
Parece mejor, pero cae en un ciclo vicioso de desarrollo del mercado. Muchos Dapp no son compatibles, los usuarios no están dispuestos a usar direcciones de cuenta, usar cuenta incluso tiene un costo de transacción más alto ### en escenarios de transferencia ordinaria, las tarifas de transacción se duplican (, depende demasiado de la compatibilidad del Dapp en sí.
Por lo tanto, aún no se ha generalizado en la red principal de Ethereum.
El costo es el estándar más importante de medición para los usuarios, y debe reducirse.
Pero para reducir realmente el GAS, es necesario que Ethereum realice una actualización de bifurcación suave y modifique el cálculo del GAS o modifique módulos como el consumo de GAS en los códigos de operación. Dado que se va a hacer una bifurcación suave, ¿por qué no considerar directamente el EIP-7702?
![Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(
4. Análisis completo de EIP-7702
) 4.1 ¿Qué es EIP-7702?
A través de la diferenciación de un nuevo tipo de transacción, se permite que una EOA tenga temporalmente funciones de contrato inteligente en una sola transacción, lo que a su vez apoya transacciones por lotes en el negocio, transacciones sin Gas y gestión de permisos personalizada, sin necesidad de introducir un nuevo opCode EVM ### que afecte a la compatibilidad hacia adelante (.
permite a los usuarios obtener la mayor parte de la capacidad AA sin desplegar contratos inteligentes, e incluso proporciona la capacidad de que terceros inicien transacciones en nombre del usuario, sin necesidad de que el usuario proporcione su clave privada, solo se requiere firmar la información de autorización.
) 4.2 estructura de datos
Definir un nuevo tipo de transacción 0x04, el tipo de transacción TransactionPayload es el resultado de la serialización RLP del siguiente contenido:
rlp###[chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, value, data, access_list, authorization_list, signature_y_parity, signature_r, signature_s](
Es importante agregar el objeto authorization_list, que almacena el código que el firmante desea ejecutar en su EOA. El usuario firma la transacción y también el código del contrato a ejecutar, que existe como una lista bidimensional, indicando que se pueden almacenar múltiples informaciones de operación en lote y ejecutar operaciones en lote.
authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]
) 4.3 ciclo de vida de la transacción
4.3.1 Etapa de verificación
En la fase de inicio de ejecución de la transacción, para cada tupla [chain_id, address, nonce, y_parity, r, s] de authorization_list:
)# 4.3.2 Fase de ejecución de operaciones