Análisis profundo del desarrollo de la abstracción de cuentas de Ethereum y perspectivas futuras
Este artículo se divide en dos partes principales:
La primera parte comienza con la primera propuesta AA de 2015, sistematizando el contenido principal de las propuestas EIP hasta la fecha, explorando el proceso de evolución de las propuestas históricas de AA y evaluando de manera integral las ventajas y desventajas de cada opción.
La parte inferior se centra en comparar las reacciones del mercado a la baja que enfrenta EIP4337, analizando en profundidad el EIP7702 que se incluirá en la próxima actualización de Ethereum. Una vez que esta propuesta sea fusionada, transformará completamente la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, a continuación se detalla.
1. El contexto de la abstracción de cuentas
1.1 la abstracción de cuentas
El fundador de Ethereum, Vitalik, al actualizar la hoja de ruta de ETH a finales de 2023, no realizó cambios en la configuración de la abstracción de cuentas. El modelo principal actual está pasando de EIP-4337 a la siguiente etapa "conversión voluntaria de cuentas EOA".
Más de un año después del lanzamiento de EIP4337, el 1 de marzo de 2023, en el WalletCon de Denver, se publicó oficialmente (, que aún no ha sido ampliamente adoptado, aunque los usuarios reconocen su valor. En este entorno de mercado contradictorio, el progreso de EIP-7702 se ha adelantado significativamente y se ha determinado que se fusionará en la próxima actualización.
) 1.2 estado 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 las principales cadenas públicas. En la red principal de Ethereum, hay solo 6,764 direcciones activas, muy por debajo del número de direcciones EOA y CA. El número de direcciones independientes en la red principal de Ethereum ha alcanzado los 270 millones, lo que demuestra que EIP4337 apenas ha tenido un desarrollo sustancial en la red principal.
Sin embargo, esto no afecta el valor esencial de la abstracción de cuentas (AA). El diseño de EIP4337 tiene dificultades para resolver el problema de compatibilidad con la cadena principal. A medida que cada L2 incorpora nativamente la abstracción de cuentas, el número de direcciones EIP4337 en L2 ha crecido de manera explosiva, con la actividad mensual en julio alcanzando 1 millón y 3 millones respectivamente en las cadenas Base y Polygon.
Por lo tanto, el diseño de EIP4337 no es erróneo, tiene muchas ventajas. La situación actual proviene de las diferencias entre la red principal y L2, que requieren soluciones adecuadas para cada una.
![Análisis profundo del pasado y futuro de la abstracción de cuentas en Ethereum]###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 ) CA (. La propiedad y el derecho de firma de EOA son mantenidos por la misma entidad. El poseedor de 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 transacciones de la cuenta de Ethereum. En la estructura de transacciones estándar no hay campo From; la transferencia de fondos se realiza realmente a través de la firma del usuario con los parámetros VRS ), retrocediendo a la dirección From. Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, asegurados por la criptografía, pero también ha llevado a la dificultad actual de la fusión de la propiedad de las direcciones EOA.
El núcleo de EIP4337 es agregar la dirección del remitente en el campo de la transacción, lo que permite la separación de la clave privada y la dirección de operación.
La importancia de la separación de la propiedad radica en:
Difícil de proteger la clave privada: perder la clave privada significa perder todos los activos.
Algoritmo de firma único: el protocolo nativo solo admite la verificación de firma ECDSA.
Permisos de firma demasiado altos: sin función de múltiples firmas nativa, se puede ejecutar cualquier operación con una sola firma.
Las tarifas de transacción solo se pueden pagar con Ether, no se admiten transacciones en lote.
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 restricciones dificultan el uso de Ethereum por parte de los usuarios comunes:
Primero, los usuarios deben poseer ETH( para asumir el riesgo de fluctuación de precios) antes de poder utilizar aplicaciones de Ethereum.
En segundo lugar, los usuarios deben manejar lógicas de tarifas complejas; conceptos como el precio del Gas, el límite de Gas y el bloqueo de transacciones son demasiado complicados.
Por último, aunque muchas billeteras o aplicaciones intentan optimizar la experiencia del usuario, los resultados son limitados.
Por lo tanto, la solución radica en implementar la abstracción de cuentas, desacoplando la propiedad (Owner) y el derecho de firma (Signer), lo que permitirá abordar gradualmente los problemas mencionados anteriormente.
A pesar de que ha habido muchos planes a lo largo de la historia, finalmente se han consolidado en dos rutas.
3. Contexto de las propuestas históricas de la abstracción de cuentas
La solución al problema parece tener múltiples propuestas de EIP, pero en última instancia se reduce a dos enfoques centrales. Cada EIP no aprobado que se consideró se ha convertido en un punto de inflexión para la solución existente.
( 3.1 Primera ruta: convertir la dirección EOA en dirección CA
El 15 de noviembre de 2015, Vitalik propuso una nueva estructura de cuenta como contrato en el EIP-101. Cambiando la dirección para que solo contenga código y espacio de almacenamiento, soportando el pago de tarifas con ERC20, y mediante contratos precompilados, transformando los tokens nativos en un saldo tipo ERC20, simplificando los campos de transacción.
Esta transformación de gran salto cambiará drásticamente 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 ###.
Las funciones derivadas incluyen:
Las transacciones admiten más algoritmos criptográficos, y el método de verificación de firma está especificado por el código interno de la dirección.
Posee características de resistencia a ataques cuánticos, ya que el código es actualizable.
Hacer que Ether tenga las mismas funciones que un contrato ERC20, como la autorización de deducción.
Mejora del espacio de personalización de cuentas, compatible con la recuperación social, soporte de SBT, recuperación de claves, etc.
La razón por la que no se pudo continuar fue que el ritmo fue demasiado grande, y no se consideraron adecuadamente los problemas actuales de colisión de hash de transacciones y las preocupaciones de seguridad. Sin embargo, cada concepto positivo se convirtió en una de las funciones centrales de EIP4337 y EIP7702.
Una serie de EIP posteriores intentan perfeccionar esta lógica:
EIP-859: abstracción de cuentas de la cadena principal (2018-01-30)
Resolver problemas de implementación de código, si el contrato de la parte transaccional no ha sido implementado, entonces utilizar el parámetro code adjunto a la transacción para ejecutar la implementación del contrato. Proponer un nuevo código de operación PAYGAS, que además de pagar gas, actúe como un delimitador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.
Aunque no fue aprobado en ese momento, se convirtió en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702 combina una estructura de transacción especial y puede incluir cierto código, permitiendo que la dirección EOA tenga capacidades de contrato en esta transacción.
EIP-7702: establecer el código de la cuenta EOA (2024-05-07)
Vitalik propuso EIP-7702 como alternativa a EIP-3074. EIP-3074 ha sido desechado, y EIP-7702 se incluirá en el próximo hard fork de ETH Prague/Electra(Pectra).
( 3.2 Segunda ruta: permitir que la dirección EOA impulse la dirección CA
EIP-3074: añadir los códigos de operación AUTH y AUTHCALL )2020-10-15###
Se añaden dos nuevos códigos de operación AUTH y AUTHCALL en EVM, permitiendo que EOA autorice a contratos a invocar otros contratos en lugar de usar la identidad de EOA a través de estos dos opcode.
EOA puede enviar el mensaje firmado ( transacción ) a un contrato de confianza ( Invoker ), este contrato Invoker puede utilizar los códigos de operación AUTH y AUTHCALL en lugar de EOA para enviar transacciones.
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 completamente cambios en el protocolo de la capa de consenso.
Se propone un nuevo objeto de transacción UserOperation, que el usuario envía a la memoria, donde los bundlers agrupan y entregan masivamente las transacciones de ejecución de contratos desde la perspectiva de los mineros, llevando esencialmente las transacciones subyacentes y las operaciones de cuenta a la capa de contrato para su ejecución.
EIP-5189: a través de la operación de endoso de la abstracción de cuentas (2022-06-29)
Optimizar la lógica de EIP4337, estableciendo un mecanismo de respaldo de penalización de fondos para prevenir ataques de bloqueo DoS maliciosos de los Bundler.
( 3.3 Otras propuestas que apoyan la abstracción de cuentas
EIP-2718: sobreenvoltura de nuevo tipo de transacción )2020-06-13###
Propuesta completada, definiendo un nuevo tipo de transacción como el sobre para futuros tipos de transacciones adicionales.
Al introducir un nuevo tipo de transacción, se debe distinguir mediante una codificación específica, que solo necesita ser compatible hacia atrás. Por ejemplo, EIP1559 distingue las tarifas de transacción, utilizando una codificación de nuevo tipo de transacción, sin afectar el tipo de transacción legacy original.
EIP-3607: prohibir el despliegue de contratos por direcciones EOA (2021-06-10)
Soluciones complementarias en la ruta AA, para evitar conflictos entre la dirección de despliegue de contratos y la dirección de EOA. Controlar el método de generación de contratos, prohibiendo el despliegue de código en direcciones que ya son EOA. El riesgo es bajo, 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 se necesitaría un año de cálculo total de Bitcoin incluso con toda su potencia.
( 3.4 ¿Cómo entender el desarrollo de la abstracción de cuentas?
Primero hay que entender el valor después de la conversión a CA.
Básicamente, es el efecto práctico de EIP-4337, que permite lograr:
Recuperación social
Monedero multifirma
Pagar tokens como tarifa de gas
Transacciones por lotes
Comercio programado
Billetera modular
Extensión de verificación de firma
Pero 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 aún no son compatibles, los usuarios no están dispuestos a usar direcciones de cuenta, y usar cuentas incluso tiene un costo de transacción más alto en comparación con escenarios de transferencia ordinarios, donde las tarifas de transacción se duplican, y se depende demasiado de la compatibilidad de Dapp.
Por lo tanto, aún no se ha popularizado en la red principal de Ethereum.
El costo es el criterio más importante para los usuarios, debe reducirse el costo.
Pero para reducir realmente el GAS, es necesario que Ethereum realice una actualización de bifurcación suave, modificando el cálculo del GAS o los módulos de consumo de GAS de los códigos de operación. Dado que se va a realizar 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 un nuevo tipo de transacción, se permite que una EOA tenga temporalmente funciones de contrato inteligente en una sola transacción, apoyando transacciones en lote, transacciones sin Gas y gestión de permisos personalizada, sin necesidad de introducir un nuevo opCode EVM ) que afecte la compatibilidad hacia adelante (.
Permitir a los usuarios obtener la mayor parte de la capacidad de abstracción de cuentas sin necesidad de implementar contratos inteligentes, e incluso proporcionar a terceros la capacidad de iniciar transacciones en nombre del usuario, sin que el usuario necesite proporcionar su clave privada, solo firmando la información de autorización.
) 4.2 estructura de datos
Definir un nuevo tipo de transacción 0x04, TransactionPayload es el resultado de la serialización RLP del siguiente contenido:
Se ha añadido el objeto authorization_list, que almacena el código que el firmante desea ejecutar en la EOA. El usuario firma la transacción mientras firma el código del contrato que se va a ejecutar, que existe como una lista bidimensional, permitiendo almacenar múltiples informaciones de operación y ejecutar operaciones en lote.
Al comenzar la 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 a partir de la firma r, s utilizando ecrecover.
Verificar el ID de cadena ( para evitar la reproducción de cadenas bifurcadas ).
Verificar si el código del firmante de authority está vacío o ha sido delegado.
Verificar el nonce del firmante authority ### para prevenir la reproducción de la firma authority ###.
Establecer el código del firmante de authority en 0xef0100 || dirección.
Aumentar el nonce de firmante authority ( para prevenir la repetición de firmas locales ).
Agregar la cuenta del firmante de authority a la lista de direcciones visitadas.
(# 4.3.2 Fase de ejecución de operaciones
"Nueva" versión solo cambia el comportamiento del despliegue de código.
No se establecerá más el código de cuenta como contract_code, sino que se recuperará la dirección de código de authorization_list y se establecerá como código de cuenta.
Al ejecutar el código de autorización, carga el código desde el campo address de authorization_list, ejecutándolo en el contexto de la cuenta del firmante.
El código del contrato de usuario se almacena realmente en una dirección específica en la cadena, no se incluye directamente en la transacción.
Las instrucciones de operación y los parámetros relacionados se almacenan en el campo data de la carga de la transacción.
) 4.4 El valor de EIP-7702
Hay cambios en toda la cadena del monedero Web3, lo que provoca un gran cambio en la experiencia del usuario. Las cuentas externas (EOA) pueden iniciar transacciones normales que pueden ejecutar múltiples lógicas similares a las de un contrato, como transferencias por lotes. Esto afecta la identificación de transacciones en escenarios de CeFi y afecta las tarifas de depósito y retiro.
Romper múltiples patrones:
El saldo de la cuenta puede reducirse debido a transacciones que no provienen de esa cuenta.
Después de que comience la ejecución de la transacción, el nonce EOA puede aumentar en varios.
Protección de la comparación entre tx.origin y msg.sender
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.
10 me gusta
Recompensa
10
7
Compartir
Comentar
0/400
FrogInTheWell
· hace6h
De repente siento que el anterior 4337 se siente como un hermano menor.
Ver originalesResponder0
DeFiChef
· hace21h
Ha llegado otra propuesta que no entiendo.
Ver originalesResponder0
CrossChainBreather
· hace21h
¿4337 es todo esto? 7702 es el verdadero dios.
Ver originalesResponder0
ContractExplorer
· hace21h
¿AA realmente funciona o no? Estoy cansado de verlo.
Ver originalesResponder0
OldLeekMaster
· hace21h
AA realmente es muy difícil de usar, ¿cuándo se volverá bueno?
Ver originalesResponder0
GasGrillMaster
· hace21h
Este gas realmente está quemando demasiado.
Ver originalesResponder0
BlockchainWorker
· hace21h
Especulación, más especulación, no es más que una billetera de cambio de concha.
Análisis de EIP-7702: un gran avance en la abstracción de cuentas de Ethereum y perspectivas futuras
Análisis profundo del desarrollo de la abstracción de cuentas de Ethereum y perspectivas futuras
Este artículo se divide en dos partes principales:
La primera parte comienza con la primera propuesta AA de 2015, sistematizando el contenido principal de las propuestas EIP hasta la fecha, explorando el proceso de evolución de las propuestas históricas de AA y evaluando de manera integral las ventajas y desventajas de cada opción.
La parte inferior se centra en comparar las reacciones del mercado a la baja que enfrenta EIP4337, analizando en profundidad el EIP7702 que se incluirá en la próxima actualización de Ethereum. Una vez que esta propuesta sea fusionada, transformará completamente la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, a continuación se detalla.
1. El contexto de la abstracción de cuentas
1.1 la abstracción de cuentas
El fundador de Ethereum, Vitalik, al actualizar la hoja de ruta de ETH a finales de 2023, no realizó cambios en la configuración de la abstracción de cuentas. El modelo principal actual está pasando de EIP-4337 a la siguiente etapa "conversión voluntaria de cuentas EOA".
Más de un año después del lanzamiento de EIP4337, el 1 de marzo de 2023, en el WalletCon de Denver, se publicó oficialmente (, que aún no ha sido ampliamente adoptado, aunque los usuarios reconocen su valor. En este entorno de mercado contradictorio, el progreso de EIP-7702 se ha adelantado significativamente y se ha determinado que se fusionará en la próxima actualización.
) 1.2 estado 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 las principales cadenas públicas. En la red principal de Ethereum, hay solo 6,764 direcciones activas, muy por debajo del número de direcciones EOA y CA. El número de direcciones independientes en la red principal de Ethereum ha alcanzado los 270 millones, lo que demuestra que EIP4337 apenas ha tenido un desarrollo sustancial en la red principal.
Sin embargo, esto no afecta el valor esencial de la abstracción de cuentas (AA). El diseño de EIP4337 tiene dificultades para resolver el problema de compatibilidad con la cadena principal. A medida que cada L2 incorpora nativamente la abstracción de cuentas, el número de direcciones EIP4337 en L2 ha crecido de manera explosiva, con la actividad mensual en julio alcanzando 1 millón y 3 millones respectivamente en las cadenas Base y Polygon.
Por lo tanto, el diseño de EIP4337 no es erróneo, tiene muchas ventajas. La situación actual proviene de las diferencias entre la red principal y L2, que requieren soluciones adecuadas para cada una.
![Análisis profundo del pasado y futuro de la abstracción de cuentas en Ethereum]###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 ) CA (. La propiedad y el derecho de firma de EOA son mantenidos por la misma entidad. El poseedor de 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 transacciones de la cuenta de Ethereum. En la estructura de transacciones estándar no hay campo From; la transferencia de fondos se realiza realmente a través de la firma del usuario con los parámetros VRS ), retrocediendo a la dirección From. Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, asegurados por la criptografía, pero también ha llevado a la dificultad actual de la fusión de la propiedad de las direcciones EOA.
El núcleo de EIP4337 es agregar la dirección del remitente en el campo de la transacción, lo que permite la separación de la clave privada y la dirección de operación.
La importancia de la separación de la propiedad radica en:
Difícil de proteger la clave privada: perder la clave privada significa perder todos los activos.
Algoritmo de firma único: el protocolo nativo solo admite la verificación de firma ECDSA.
Permisos de firma demasiado altos: sin función de múltiples firmas nativa, se puede ejecutar cualquier operación con una sola firma.
Las tarifas de transacción solo se pueden pagar con Ether, no se admiten transacciones en lote.
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 restricciones dificultan el uso de Ethereum por parte de los usuarios comunes:
Primero, los usuarios deben poseer ETH( para asumir el riesgo de fluctuación de precios) antes de poder utilizar aplicaciones de Ethereum.
En segundo lugar, los usuarios deben manejar lógicas de tarifas complejas; conceptos como el precio del Gas, el límite de Gas y el bloqueo de transacciones son demasiado complicados.
Por último, aunque muchas billeteras o aplicaciones intentan optimizar la experiencia del usuario, los resultados son limitados.
Por lo tanto, la solución radica en implementar la abstracción de cuentas, desacoplando la propiedad (Owner) y el derecho de firma (Signer), lo que permitirá abordar gradualmente los problemas mencionados anteriormente.
A pesar de que ha habido muchos planes a lo largo de la historia, finalmente se han consolidado en dos rutas.
3. Contexto de las propuestas históricas de la abstracción de cuentas
La solución al problema parece tener múltiples propuestas de EIP, pero en última instancia se reduce a dos enfoques centrales. Cada EIP no aprobado que se consideró se ha convertido en un punto de inflexión para la solución existente.
( 3.1 Primera ruta: convertir la dirección EOA en dirección CA
El 15 de noviembre de 2015, Vitalik propuso una nueva estructura de cuenta como contrato en el EIP-101. Cambiando la dirección para que solo contenga código y espacio de almacenamiento, soportando el pago de tarifas con ERC20, y mediante contratos precompilados, transformando los tokens nativos en un saldo tipo ERC20, simplificando los campos de transacción.
Esta transformación de gran salto cambiará drásticamente 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 ###.
Las funciones derivadas incluyen:
Las transacciones admiten más algoritmos criptográficos, y el método de verificación de firma está especificado por el código interno de la dirección.
Posee características de resistencia a ataques cuánticos, ya que el código es actualizable.
Hacer que Ether tenga las mismas funciones que un contrato ERC20, como la autorización de deducción.
Mejora del espacio de personalización de cuentas, compatible con la recuperación social, soporte de SBT, recuperación de claves, etc.
La razón por la que no se pudo continuar fue que el ritmo fue demasiado grande, y no se consideraron adecuadamente los problemas actuales de colisión de hash de transacciones y las preocupaciones de seguridad. Sin embargo, cada concepto positivo se convirtió en una de las funciones centrales de EIP4337 y EIP7702.
Una serie de EIP posteriores intentan perfeccionar esta lógica:
EIP-859: abstracción de cuentas de la cadena principal (2018-01-30)
Resolver problemas de implementación de código, si el contrato de la parte transaccional no ha sido implementado, entonces utilizar el parámetro code adjunto a la transacción para ejecutar la implementación del contrato. Proponer un nuevo código de operación PAYGAS, que además de pagar gas, actúe como un delimitador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.
Aunque no fue aprobado en ese momento, se convirtió en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702 combina una estructura de transacción especial y puede incluir cierto código, permitiendo que la dirección EOA tenga capacidades de contrato en esta transacción.
EIP-7702: establecer el código de la cuenta EOA (2024-05-07)
Vitalik propuso EIP-7702 como alternativa a EIP-3074. EIP-3074 ha sido desechado, y EIP-7702 se incluirá en el próximo hard fork de ETH Prague/Electra(Pectra).
( 3.2 Segunda ruta: permitir que la dirección EOA impulse la dirección CA
EIP-3074: añadir los códigos de operación AUTH y AUTHCALL )2020-10-15###
Se añaden dos nuevos códigos de operación AUTH y AUTHCALL en EVM, permitiendo que EOA autorice a contratos a invocar otros contratos en lugar de usar la identidad de EOA a través de estos dos opcode.
EOA puede enviar el mensaje firmado ( transacción ) a un contrato de confianza ( Invoker ), este contrato Invoker puede utilizar los códigos de operación AUTH y AUTHCALL en lugar de EOA para enviar transacciones.
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 completamente cambios en el protocolo de la capa de consenso.
Se propone un nuevo objeto de transacción UserOperation, que el usuario envía a la memoria, donde los bundlers agrupan y entregan masivamente las transacciones de ejecución de contratos desde la perspectiva de los mineros, llevando esencialmente las transacciones subyacentes y las operaciones de cuenta a la capa de contrato para su ejecución.
EIP-5189: a través de la operación de endoso de la abstracción de cuentas (2022-06-29)
Optimizar la lógica de EIP4337, estableciendo un mecanismo de respaldo de penalización de fondos para prevenir ataques de bloqueo DoS maliciosos de los Bundler.
( 3.3 Otras propuestas que apoyan la abstracción de cuentas
EIP-2718: sobreenvoltura de nuevo tipo de transacción )2020-06-13###
Propuesta completada, definiendo un nuevo tipo de transacción como el sobre para futuros tipos de transacciones adicionales.
Al introducir un nuevo tipo de transacción, se debe distinguir mediante una codificación específica, que solo necesita ser compatible hacia atrás. Por ejemplo, EIP1559 distingue las tarifas de transacción, utilizando una codificación de nuevo tipo de transacción, sin afectar el tipo de transacción legacy original.
EIP-3607: prohibir el despliegue de contratos por direcciones EOA (2021-06-10)
Soluciones complementarias en la ruta AA, para evitar conflictos entre la dirección de despliegue de contratos y la dirección de EOA. Controlar el método de generación de contratos, prohibiendo el despliegue de código en direcciones que ya son EOA. El riesgo es bajo, 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 se necesitaría un año de cálculo total de Bitcoin incluso con toda su potencia.
( 3.4 ¿Cómo entender el desarrollo de la abstracción de cuentas?
Primero hay que entender el valor después de la conversión a CA.
Básicamente, es el efecto práctico de EIP-4337, que permite lograr:
Pero 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 aún no son compatibles, los usuarios no están dispuestos a usar direcciones de cuenta, y usar cuentas incluso tiene un costo de transacción más alto en comparación con escenarios de transferencia ordinarios, donde las tarifas de transacción se duplican, y se depende demasiado de la compatibilidad de Dapp.
Por lo tanto, aún no se ha popularizado en la red principal de Ethereum.
El costo es el criterio más importante para los usuarios, debe reducirse el costo.
Pero para reducir realmente el GAS, es necesario que Ethereum realice una actualización de bifurcación suave, modificando el cálculo del GAS o los módulos de consumo de GAS de los códigos de operación. Dado que se va a realizar 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 un nuevo tipo de transacción, se permite que una EOA tenga temporalmente funciones de contrato inteligente en una sola transacción, apoyando transacciones en lote, transacciones sin Gas y gestión de permisos personalizada, sin necesidad de introducir un nuevo opCode EVM ) que afecte la compatibilidad hacia adelante (.
Permitir a los usuarios obtener la mayor parte de la capacidad de abstracción de cuentas sin necesidad de implementar contratos inteligentes, e incluso proporcionar a terceros la capacidad de iniciar transacciones en nombre del usuario, sin que el usuario necesite proporcionar su clave privada, solo firmando la información de autorización.
) 4.2 estructura de datos
Definir un nuevo tipo de transacción 0x04, 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, destino, valor, datos, lista_de_acceso, lista_de_autorización, signature_y_paridad, signature_r, signature_s ](
Se ha añadido el objeto authorization_list, que almacena el código que el firmante desea ejecutar en la EOA. El usuario firma la transacción mientras firma el código del contrato que se va a ejecutar, que existe como una lista bidimensional, permitiendo almacenar múltiples informaciones de operación 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 Fase de verificación
Al comenzar la 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
"Nueva" versión solo cambia el comportamiento del despliegue de código.
No se establecerá más el código de cuenta como contract_code, sino que se recuperará la dirección de código de authorization_list y se establecerá como código de cuenta.
Al ejecutar el código de autorización, carga el código desde el campo address de authorization_list, ejecutándolo en el contexto de la cuenta del firmante.
El código del contrato de usuario se almacena realmente en una dirección específica en la cadena, no se incluye directamente en la transacción.
Las instrucciones de operación y los parámetros relacionados se almacenan en el campo data de la carga de la transacción.
) 4.4 El valor de EIP-7702
Hay cambios en toda la cadena del monedero Web3, lo que provoca un gran cambio en la experiencia del usuario. Las cuentas externas (EOA) pueden iniciar transacciones normales que pueden ejecutar múltiples lógicas similares a las de un contrato, como transferencias por lotes. Esto afecta la identificación de transacciones en escenarios de CeFi y afecta las tarifas de depósito y retiro.
Romper múltiples patrones: