Análisis profundo de la evolución y perspectivas futuras de la abstracción de cuentas de Ethereum
Introducción
Este artículo se divide en dos partes principales:
La primera parte comenzará con la primera propuesta AA de 2015, sistematizando el contenido de las principales propuestas EIP hasta la fecha, rastreando el desarrollo histórico de las propuestas AA y evaluando de manera integral las ventajas y desventajas de cada plan.
La segunda parte se centra en comparar las respuestas del mercado ante la desaceleración tras la propuesta EIP4337, analizando en profundidad la EIP7702 que se incorporará a la próxima actualización de Ethereum. Una vez que esta propuesta se fusione, cambiará por completo la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, vamos a discutirlo en detalle.
1. El contexto de la abstracción de cuentas
1.1 Significado de la abstracción de cuentas
El fundador de Ethereum, Vitalik, actualizó nuevamente la hoja de ruta del desarrollo de ETH a finales de 2023, pero no se realizaron cambios en la configuración relacionada con la abstracción de cuentas. El modo 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, se anunció oficialmente la aprobación a través de auditoría de (. En un entorno de mercado contradictorio donde ) es ampliamente reconocido pero no ampliamente utilizado, 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 del mercado de la abstracción de cuentas
Después de un año y medio de desarrollo, el número total de cuentas de EIP4337 en las cadenas principales es de solo 12 millones, de los cuales solo hay 6,764 direcciones activas en la red principal de Ethereum, muy por debajo del número de direcciones EOA y CA. Las direcciones independientes en la red principal de Ethereum han alcanzado los 270 millones, y EIP4337 prácticamente no ha tenido un desarrollo sustancial en la red principal.
Sin embargo, esto no afecta el valor esencial de la abstracción de cuentas (AA). Desde el principio, el diseño de EIP4337 estaba destinado a no resolver el problema de compatibilidad hacia adelante de la red principal. Con la generalización de la integración de AA nativa en las distintas cadenas L2, el número de direcciones EIP4337 ha crecido de manera explosiva en L2; en julio, el número de usuarios activos mensuales en las cadenas Base y Polygon alcanzó 1 millón y 3 millones, respectivamente, lo que es un desempeño notable.
El diseño de EIP4337 no es erróneo, sino que proviene de las diferencias entre la mainnet y L2, lo que requiere soluciones adecuadas para cada una.
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 a firmar de la cuenta externa son mantenidos por la misma entidad. La persona que posee la clave privada no solo tiene la "propiedad de la cuenta", sino también el derecho a "firmar la transferencia de todos los activos".
Esto está determinado por la estructura de transacciones de cuentas de Ethereum. En la estructura de transacción estándar no hay un campo From, la transferencia de fondos se realiza a través de los parámetros VRS ( y la firma del usuario ) para desentrañar la dirección From. Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, garantizando la seguridad mediante criptografía, pero también conduce a la actual dificultad de consolidación de la propiedad de direcciones EOA.
El efecto principal de EIP4337 es agregar la dirección del remitente en el campo de la transacción, logrando la separación entre la clave privada y la dirección que se está operando.
La importancia de la separación de la propiedad radica en resolver muchos de los problemas derivados del diseño de cuentas externas (EOA):
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 multisig nativo, una sola firma puede realizar cualquier operación.
La tarifa de transacción solo se puede pagar con ETH, no se admite el comercio en masa.
Filtración de privacidad en las transacciones: Las transacciones uno a uno pueden exponer la privacidad del titular de la cuenta.
Estas limitaciones hacen que sea difícil para los usuarios comunes usar Ethereum:
Para utilizar cualquier aplicación, es necesario poseer Ether y asumir el riesgo de fluctuaciones de precios.
Los usuarios deben manejar lógicas de tarifas complejas, como el precio del gas, el límite de gas, el nonce, etc.
Aunque muchas billeteras intentan mejorar la experiencia del usuario a través de la optimización del producto, el efecto es limitado.
El camino para romper el estancamiento radica en lograr la abstracción de cuentas, desacoplando la propiedad (Owner) y el derecho de firma (Signer), resolviendo así gradualmente los problemas mencionados.
A pesar de que hay muchas soluciones históricas, finalmente se reducen a dos rutas.
3. Organización de la Propuesta Histórica de la Abstracción de Cuentas
Las soluciones a los problemas parecen tener múltiples propuestas de EIP, pero en última instancia solo hay dos enfoques centrales. Cada EIP no aprobado aborda problemas que se integran en los puntos de ruptura de las soluciones existentes.
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 cuentas como contratos en el EIP-101. Los cambios principales incluyen:
Cambiar la dirección a solo código y espacio de almacenamiento
Cambiar el soporte de tarifas, permitir el pago con tokens ERC20
A través de un contrato precompilado, convierte el token nativo en un saldo de tipo ERC20.
Simplificar los campos de transacción, conservando solo to, startgas, data y code
Esta propuesta puede considerarse una transformación de gran salto, que modificará 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:
Soporte para más algoritmos criptográficos, método de verificación de firma 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.
Dotar a ETH de funciones consistentes con los contratos ERC20, como la autorización de retención.
Mejorar el espacio de personalización de la cuenta, compatible con la recuperación social, soporte SBT, recuperación de claves, etc.
La razón por la que no se pudo continuar es evidente: se dio un paso demasiado grande, considerando de manera insuficiente los problemas actuales de colisión de hash en las transacciones y los riesgos de seguridad, por lo que se suspendió. Sin embargo, cada uno de los conceptos positivos se convirtió en una de las funciones centrales de las posteriores EIP4337 y EIP7702.
Una serie de EIP posteriores intentan perfeccionar esta lógica:
EIP-859(2018-01-30): abstracción de cuentas de la cadena principal
Resolver el problema de implementación de código: cuando el contrato de la parte transaccional no está implementado, usar el parámetro de código adjunto a la transacción para ejecutar la implementación del monedero del contrato.
Proponer un nuevo código de operación PAYGAS, como delimitador en la parte de verificación y ejecución de los parámetros de la transacción
Aunque no tuvo éxito en ese momento, se convirtió en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702, combinando una estructura de transacción especial, puede incluir cierto código, permitiendo que la dirección EOA tenga capacidad de contrato en esta transacción.
EIP-7702(2024-05-07): configurar código de cuenta EOA
Como alternativa a EIP-3074, se ha determinado que EIP-7702 se incluirá en la próxima bifurcación dura ETH Prague/Electra.
3.2 Segunda ruta: dejar que la dirección EOA impulse la dirección CA
EIP-3074(2020-10-15): añadir los códigos de operación AUTH y AUTHCALL
Se añaden dos nuevos códigos de operación en EVM, permitiendo que EOA autorice a contratos a llamar a otros contratos en lugar de usar la identidad de EOA a través de estos opcodes.
EIP-4337(2021-09-29): Implementación de la abstracción de cuentas a través del pool de memoria de transacciones
Diseñado inspirado en MEV, su valor central radica en evitar completamente cambios en el protocolo de capa de consenso. Se propone un nuevo objeto de transacción UserOperation, que los usuarios envían a la memoria intermedia, donde los bundlers empaquetan en lote y entregan las transacciones de ejecución de contratos, esencialmente llevando las transacciones subyacentes y la operación de cuentas a un nivel de contrato para su ejecución.
EIP-5189(2022-06-29): a través de la operación de un endosante se abstrae la cuenta
Optimizar la lógica de EIP4337, estableciendo un mecanismo de respaldo de penalización de fondos para prevenir ataques de bloqueo DoS.
3.3 Otras propuestas que apoyan la abstracción de cuentas
EIP-2718(2020-06-13): sobre de envoltura para un nuevo tipo de transacción
La propuesta finalizada define un nuevo tipo de transacción como un contenedor para futuros tipos de transacciones adicionales. Al introducir un nuevo tipo de transacción, se distingue mediante codificación específica, logrando compatibilidad hacia atrás sin necesidad de compatibilidad hacia adelante. Por ejemplo, EIP1559 distingue 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(2021-06-10): prohibir el despliegue de contratos desde direcciones EOA
Plan de complemento en la ruta AA para evitar conflictos entre la dirección de despliegue de contratos y la dirección EOA. Control de los métodos de generación de contratos, prohibiendo el despliegue de código en direcciones que ya son EOA.
3.4 ¿Cómo entender la abstracción de cuentas y su desarrollo?
Primero es necesario entender el valor que se convierte en CA, básicamente es el efecto real de EIP-4337:
Soporte para transacciones en lote
Soporte para el pago de Gas
Soporte para la recuperación de cuentas
Soporte para múltiples firmas
Soporte para transacciones de retransmisión
Soporta la actualización del algoritmo de firma
Soporte para billeteras de contratos ERC4337
Soporte para el pago de Gas por terceros
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: muchas Dapps no son compatibles, los usuarios no quieren usar direcciones de cuenta; el uso de cuentas aumenta los costos de transacción (, y las tarifas de transacción en escenarios de transferencia comunes se duplican ), dependiendo demasiado de la compatibilidad de Dapps.
Por lo tanto, nunca se ha popularizado en la red principal de Ethereum.
El costo es el criterio más importante para los usuarios, debe reducirse el costo.
Para realmente reducir el Gas, es necesario realizar una actualización de bifurcación suave en Ethereum, modificando el cálculo de Gas o módulos como el 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?
4. Análisis completo de EIP-7702
4.1 Resumen de EIP-7702
A través de un nuevo tipo de transacción, se permite que las EOA tengan temporalmente funciones de contrato inteligente en una sola transacción, apoyando transacciones masivas, transacciones sin Gas y gestión de permisos personalizados, sin necesidad de introducir un nuevo opCode de EVM ( que afecte la compatibilidad hacia adelante ).
Los usuarios pueden obtener la mayoría de las capacidades de AA sin necesidad de implementar contratos inteligentes, e incluso se admite que terceros inicien transacciones en nombre del usuario, solo necesitan firmar la información de autorización en lugar de proporcionar la clave privada.
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 el código del contrato que se va a ejecutar al mismo tiempo que firma la transacción. Se presenta como una lista bidimensional, permitiendo almacenar múltiples informaciones de operación y ejecutar operaciones en lote.
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 usando ecrecover
Verificar la cadena ID( 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 repetición de la firma authority )
Establecer el código del firmante de authority en 0xef0100 || dirección
Aumentar nonce de firmantes de authority ( para prevenir la repetición de firmas parciales )
Agregar la cuenta del firmante de autoridad a la lista de direcciones visitadas
4.3.2 Fase de ejecución de operaciones
La nueva versión solo cambia el comportamiento de despliegue del código. Ya no se establece el código de la cuenta como contract_code, sino que se recupera el código especificado por la dirección de authorization_list y se establece como código de cuenta.
Al ejecutar el código autorizado, se carga el código desde el campo address de authorization_list, ejecutándose en el contexto de la cuenta del firmante.
El código del contrato del usuario se almacena realmente en una dirección específica en la cadena, y 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
Se producen cambios en el enlace completo del monedero Web3, mejorando enormemente la experiencia del usuario. Las cuentas externas (EOA) pueden iniciar transacciones ordinarias que ejecuten múltiples lógicas de contrato, como transferencias en lote. Esto afecta la identificación de transacciones en escenarios de CeFi, así como las tarifas de retiro y depósito.
Romper múltiples paradigmas existentes:
El saldo de la cuenta puede reducirse por transacciones que no provienen de esa cuenta.
Después de que comience la ejecución de la transacción, el nonce de EOA puede aumentar múltiples.
Lógica de protección fallida en la comparación entre tx.origin y msg.sender
EOA puede emitir eventos, afectando la identificación y escucha de eventos en la cadena.
La dirección EOA puede fallar al recibir activos ERC20, 721, 1155, etc. mecanismo de callback ( )
4.5 Comparación entre EIP-7702 y EIP-4337
Ventajas de EIP-7702:
Gas más bajo, sin necesidad de pasar por el módulo entrypoint
El costo de migración de usuarios es más bajo, no es necesario implementar contratos en cadena con anticipación.
También admite la ejecución de órdenes de código, dividida en completa
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.
6 me gusta
Recompensa
6
7
Compartir
Comentar
0/400
retroactive_airdrop
· 07-28 20:44
¿Qué hay de nuevo en el título 7702?
Ver originalesResponder0
ChainMaskedRider
· 07-28 15:16
Está demasiado largo, no puedo moverme. Vitalik Buterin, ¿podrías hablar en términos claros?
Ver originalesResponder0
GasGuzzler
· 07-27 22:47
¿El nombre de esta propuesta es demasiado difícil de recordar, verdad, 7702?
Ver originalesResponder0
CafeMinor
· 07-26 03:35
La interfaz abstracta ha cobrado nueva vida. No perjudiques a los novatos.
Ver originalesResponder0
NeverPresent
· 07-26 03:35
Ya empezaron a hablar del 7702 de nuevo, realmente pueden evolucionar.
Ver originalesResponder0
ApeWithNoFear
· 07-26 03:33
Desde hace tanto tiempo no he podido entender la abstracción de cuentas... vb, ¿puedes hacerlo?
EIP-7702: un avance revolucionario en la abstracción de cuentas y la dirección futura del desarrollo de Ethereum
Análisis profundo de la evolución y perspectivas futuras de la abstracción de cuentas de Ethereum
Introducción
Este artículo se divide en dos partes principales:
La primera parte comenzará con la primera propuesta AA de 2015, sistematizando el contenido de las principales propuestas EIP hasta la fecha, rastreando el desarrollo histórico de las propuestas AA y evaluando de manera integral las ventajas y desventajas de cada plan.
La segunda parte se centra en comparar las respuestas del mercado ante la desaceleración tras la propuesta EIP4337, analizando en profundidad la EIP7702 que se incorporará a la próxima actualización de Ethereum. Una vez que esta propuesta se fusione, cambiará por completo la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, vamos a discutirlo en detalle.
1. El contexto de la abstracción de cuentas
1.1 Significado de la abstracción de cuentas
El fundador de Ethereum, Vitalik, actualizó nuevamente la hoja de ruta del desarrollo de ETH a finales de 2023, pero no se realizaron cambios en la configuración relacionada con la abstracción de cuentas. El modo 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, se anunció oficialmente la aprobación a través de auditoría de (. En un entorno de mercado contradictorio donde ) es ampliamente reconocido pero no ampliamente utilizado, 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 del mercado de la abstracción de cuentas
Después de un año y medio de desarrollo, el número total de cuentas de EIP4337 en las cadenas principales es de solo 12 millones, de los cuales solo hay 6,764 direcciones activas en la red principal de Ethereum, muy por debajo del número de direcciones EOA y CA. Las direcciones independientes en la red principal de Ethereum han alcanzado los 270 millones, y EIP4337 prácticamente no ha tenido un desarrollo sustancial en la red principal.
Sin embargo, esto no afecta el valor esencial de la abstracción de cuentas (AA). Desde el principio, el diseño de EIP4337 estaba destinado a no resolver el problema de compatibilidad hacia adelante de la red principal. Con la generalización de la integración de AA nativa en las distintas cadenas L2, el número de direcciones EIP4337 ha crecido de manera explosiva en L2; en julio, el número de usuarios activos mensuales en las cadenas Base y Polygon alcanzó 1 millón y 3 millones, respectivamente, lo que es un desempeño notable.
El diseño de EIP4337 no es erróneo, sino que proviene de las diferencias entre la mainnet y L2, lo que requiere soluciones adecuadas para cada una.
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 a firmar de la cuenta externa son mantenidos por la misma entidad. La persona que posee la clave privada no solo tiene la "propiedad de la cuenta", sino también el derecho a "firmar la transferencia de todos los activos".
Esto está determinado por la estructura de transacciones de cuentas de Ethereum. En la estructura de transacción estándar no hay un campo From, la transferencia de fondos se realiza a través de los parámetros VRS ( y la firma del usuario ) para desentrañar la dirección From. Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, garantizando la seguridad mediante criptografía, pero también conduce a la actual dificultad de consolidación de la propiedad de direcciones EOA.
El efecto principal de EIP4337 es agregar la dirección del remitente en el campo de la transacción, logrando la separación entre la clave privada y la dirección que se está operando.
La importancia de la separación de la propiedad radica en resolver muchos de los problemas derivados del diseño de cuentas externas (EOA):
Estas limitaciones hacen que sea difícil para los usuarios comunes usar Ethereum:
El camino para romper el estancamiento radica en lograr la abstracción de cuentas, desacoplando la propiedad (Owner) y el derecho de firma (Signer), resolviendo así gradualmente los problemas mencionados.
A pesar de que hay muchas soluciones históricas, finalmente se reducen a dos rutas.
3. Organización de la Propuesta Histórica de la Abstracción de Cuentas
Las soluciones a los problemas parecen tener múltiples propuestas de EIP, pero en última instancia solo hay dos enfoques centrales. Cada EIP no aprobado aborda problemas que se integran en los puntos de ruptura de las soluciones existentes.
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 cuentas como contratos en el EIP-101. Los cambios principales incluyen:
Esta propuesta puede considerarse una transformación de gran salto, que modificará 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:
La razón por la que no se pudo continuar es evidente: se dio un paso demasiado grande, considerando de manera insuficiente los problemas actuales de colisión de hash en las transacciones y los riesgos de seguridad, por lo que se suspendió. Sin embargo, cada uno de los conceptos positivos se convirtió en una de las funciones centrales de las posteriores EIP4337 y EIP7702.
Una serie de EIP posteriores intentan perfeccionar esta lógica:
EIP-859(2018-01-30): abstracción de cuentas de la cadena principal
Aunque no tuvo éxito en ese momento, se convirtió en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702, combinando una estructura de transacción especial, puede incluir cierto código, permitiendo que la dirección EOA tenga capacidad de contrato en esta transacción.
EIP-7702(2024-05-07): configurar código de cuenta EOA Como alternativa a EIP-3074, se ha determinado que EIP-7702 se incluirá en la próxima bifurcación dura ETH Prague/Electra.
3.2 Segunda ruta: dejar que la dirección EOA impulse la dirección CA
EIP-3074(2020-10-15): añadir los códigos de operación AUTH y AUTHCALL Se añaden dos nuevos códigos de operación en EVM, permitiendo que EOA autorice a contratos a llamar a otros contratos en lugar de usar la identidad de EOA a través de estos opcodes.
EIP-4337(2021-09-29): Implementación de la abstracción de cuentas a través del pool de memoria de transacciones Diseñado inspirado en MEV, su valor central radica en evitar completamente cambios en el protocolo de capa de consenso. Se propone un nuevo objeto de transacción UserOperation, que los usuarios envían a la memoria intermedia, donde los bundlers empaquetan en lote y entregan las transacciones de ejecución de contratos, esencialmente llevando las transacciones subyacentes y la operación de cuentas a un nivel de contrato para su ejecución.
EIP-5189(2022-06-29): a través de la operación de un endosante se abstrae la cuenta Optimizar la lógica de EIP4337, estableciendo un mecanismo de respaldo de penalización de fondos para prevenir ataques de bloqueo DoS.
3.3 Otras propuestas que apoyan la abstracción de cuentas
EIP-2718(2020-06-13): sobre de envoltura para un nuevo tipo de transacción La propuesta finalizada define un nuevo tipo de transacción como un contenedor para futuros tipos de transacciones adicionales. Al introducir un nuevo tipo de transacción, se distingue mediante codificación específica, logrando compatibilidad hacia atrás sin necesidad de compatibilidad hacia adelante. Por ejemplo, EIP1559 distingue 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(2021-06-10): prohibir el despliegue de contratos desde direcciones EOA Plan de complemento en la ruta AA para evitar conflictos entre la dirección de despliegue de contratos y la dirección EOA. Control de los métodos de generación de contratos, prohibiendo el despliegue de código en direcciones que ya son EOA.
3.4 ¿Cómo entender la abstracción de cuentas y su desarrollo?
Primero es necesario entender el valor que se convierte en CA, básicamente es el efecto real de EIP-4337:
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: muchas Dapps no son compatibles, los usuarios no quieren usar direcciones de cuenta; el uso de cuentas aumenta los costos de transacción (, y las tarifas de transacción en escenarios de transferencia comunes se duplican ), dependiendo demasiado de la compatibilidad de Dapps.
Por lo tanto, nunca se ha popularizado en la red principal de Ethereum.
El costo es el criterio más importante para los usuarios, debe reducirse el costo.
Para realmente reducir el Gas, es necesario realizar una actualización de bifurcación suave en Ethereum, modificando el cálculo de Gas o módulos como el 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?
4. Análisis completo de EIP-7702
4.1 Resumen de EIP-7702
A través de un nuevo tipo de transacción, se permite que las EOA tengan temporalmente funciones de contrato inteligente en una sola transacción, apoyando transacciones masivas, transacciones sin Gas y gestión de permisos personalizados, sin necesidad de introducir un nuevo opCode de EVM ( que afecte la compatibilidad hacia adelante ).
Los usuarios pueden obtener la mayoría de las capacidades de AA sin necesidad de implementar contratos inteligentes, e incluso se admite que terceros inicien transacciones en nombre del usuario, solo necesitan firmar la información de autorización en lugar de proporcionar la clave privada.
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, access_list, 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 el código del contrato que se va a ejecutar al mismo tiempo que firma la transacción. Se presenta 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 Etapa de verificación
Para cada tupla [chain_id, address, nonce, y_parity, r, s] de authorization_list:
4.3.2 Fase de ejecución de operaciones
La nueva versión solo cambia el comportamiento de despliegue del código. Ya no se establece el código de la cuenta como contract_code, sino que se recupera el código especificado por la dirección de authorization_list y se establece como código de cuenta.
Al ejecutar el código autorizado, se carga el código desde el campo address de authorization_list, ejecutándose en el contexto de la cuenta del firmante.
El código del contrato del usuario se almacena realmente en una dirección específica en la cadena, y 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
Se producen cambios en el enlace completo del monedero Web3, mejorando enormemente la experiencia del usuario. Las cuentas externas (EOA) pueden iniciar transacciones ordinarias que ejecuten múltiples lógicas de contrato, como transferencias en lote. Esto afecta la identificación de transacciones en escenarios de CeFi, así como las tarifas de retiro y depósito.
Romper múltiples paradigmas existentes:
4.5 Comparación entre EIP-7702 y EIP-4337
Ventajas de EIP-7702: