EIP-7702: La solución definitiva para la abstracción de cuentas de Ethereum y el desarrollo futuro

Análisis profundo del pasado y futuro de la abstracción de cuentas en Ethereum

Introducción

Este artículo se divide en dos grandes módulos:

La parte superior comienza con la primera propuesta AA de 2015, el sistema ha organizado hasta ahora el contenido principal de las propuestas EIP, revisando el proceso histórico de propuestas AA y realizando una evaluación integral de las ventajas y desventajas de cada opción.

La segunda mitad se centra en comparar la situación de la mala retroalimentación del mercado que enfrenta EIP4337 después de su lanzamiento, y analiza en profundidad EIP7702, que se incluirá en la próxima actualización de Ethereum; esta propuesta, una vez fusionada, cambiará de manera integral la forma de las aplicaciones en la cadena.

EIP-7702 tiene un significado revolucionario, analicemos esto en detalle.

1. El contexto de la abstracción de cuentas

1.1 La significación 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 la configuración sobre la abstracción de cuentas no ha cambiado. Actualmente, el modelo principal está en transición del EIP-4337 a la siguiente etapa de conversión voluntaria de cuenta EOA (.

) 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, lo que muestra una gran diferencia con el 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 prácticamente no ha tenido un desarrollo sustancial en la red principal.

Sin embargo, esto no afecta el valor intrínseco de la abstracción de cuentas (AA). Desde su diseño inicial, el EIP4337 estaba destinado a tener dificultades para resolver problemas de compatibilidad con la red principal, pero ha sido ampliamente utilizado en varias cadenas de nivel 2. Entre ellas, la cadena Base y la cadena Polygon alcanzaron en julio 1 millón y 3 millones de usuarios activos mensuales, respectivamente, lo que es un buen desempeño.

Por lo tanto, el diseño de EIP4337 en sí no tiene problemas, la situación actual se debe a las diferencias entre la red principal y L2, que necesitan adoptar diferentes soluciones aplicables.

![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 de EVM hay dos tipos de cuentas: cuenta externa ) EOA ( y cuenta de contrato ) Contract Account (. La propiedad y el derecho de firma de EOA son, de hecho, poseídos por el mismo sujeto. 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 la cuenta de Ethereum. En la estructura de transacción estándar, en realidad no hay campo From; la transferencia de fondos se realiza mediante el parámetro VRS ), que descompone la firma del usuario ( para obtener la dirección From.

El efecto principal de EIP4337 es añadir la dirección del remitente en el campo de la transacción, logrando así la separación entre la clave privada y la dirección que está siendo operada.

La razón por la cual la separación de la propiedad es tan importante es que el diseño de EOA genera muchos problemas:

  1. Difícil de proteger la clave privada: perder la clave privada significa perder todos los activos.

  2. Algoritmo de firma único: el protocolo nativo solo puede utilizar el algoritmo ECDSA para verificar transacciones.

  3. Permisos de firma demasiado altos: sin múltiples firmas nativas, una única firma puede ejecutar cualquier operación.

  4. Las tarifas de transacción solo se pueden pagar con ETH, no se admiten transacciones por lotes.

  5. Filtración de privacidad en las transacciones: Las transacciones uno a uno son fáciles de analizar la información del titular de la cuenta.

Estas restricciones dificultan el uso de Ethereum para los usuarios comunes:

Primero, para utilizar aplicaciones de Ethereum, es necesario poseer ETH y asumir el riesgo de fluctuación de precios.

En segundo lugar, los usuarios necesitan manejar una lógica de tarifas compleja, como el precio del Gas, el límite de Gas, conceptos de bloqueo de transacciones, etc.

Por último, aunque muchas billeteras de blockchain intentan mejorar la experiencia del usuario a través de la optimización del producto, los resultados son limitados.

Por lo tanto, el punto de ruptura radica en lograr la abstracción de cuentas, desacoplando la propiedad )Owner( y el derecho de firma )Signer(, para así resolver gradualmente los problemas mencionados anteriormente.

A lo largo de la historia ha habido varias propuestas, que finalmente se reducen a dos rutas.

![Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(

3. Organización de la historia de propuestas de AA

La solución al problema parece tener muchas propuestas de EIP, pero en última instancia, hay solo dos ideas centrales. Cada EIP no aprobado aborda cuestiones que se han convertido en puntos de avance para el plan actual.

) 3.1 Primera ruta: convertir la dirección EOA en una dirección CA

Desde el 15 de noviembre de 2015, Vitalik propuso en el EIP-101 una nueva estructura de cuenta basada en contratos. Cambiando la dirección para que contenga solo código y espacio de almacenamiento, soportando el pago de tarifas con ERC20, a través de contratos precompilados convirtiendo los tokens nativos en saldos similares a ERC20, y simplificando los campos de transacción a to, startgas, data y code.

Este plan puede derivar en múltiples funciones:

  1. Las transacciones pueden utilizar más algoritmos criptográficos, con el método de verificación de firma especificado por el código interno de la dirección.

  2. Posee características de resistencia a ataques cuánticos, ya que el código es actualizable.

  3. Permitir que ETH tenga funciones consistentes con los contratos ERC20, como la autorización de retención.

  4. Mejorar el espacio de personalización de cuentas, compatible con la recuperación social, soporte SBT, recuperación de claves, etc.

La razón por la que no se pudo continuar es simple, se dio un paso demasiado grande, y no se consideraron adecuadamente los problemas actuales de conflictos de hash de transacción y las amenazas a la seguridad. Pero cada concepto positivo se convirtió en una de las funciones centrales de los posteriores EIP4337 y EIP7702.

Después, hay una serie de EIP que intentan perfeccionar esta lógica:

EIP-859: abstracción de cuentas de la cadena principal ###2018-01-30(

Intentando resolver el problema de despliegue de Code, la clave es que si el contrato de la parte transaccionante no está desplegado, se utiliza el parámetro code adjunto a la transacción para ejecutar el despliegue. También se propone un nuevo opcode PAYGAS, como delimitador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.

Aunque terminó sin éxito en ese momento, se convirtió en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702 puede combinarse con una estructura de transacción especial que incluye código, permitiendo que la dirección EOA tenga capacidad de contrato en esta transacción.

EIP-7702: establecer código de cuenta EOA )2024-05-07(

Este es el EIP central que se discutirá más adelante en este artículo, propuesto por Vitalik como una alternativa al EIP-3074. El EIP-3074 ha sido desaprobado y el EIP-7702 se determinará que se incluirá en la próxima bifurcación dura de ETH Prague/Electra.

) 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(

En EVM se añaden dos nuevos códigos de operación AUTH y AUTHCALL, permitiendo que la EOA autorice a los contratos a llamar a otros contratos en lugar de usar la identidad de la EOA a través de estos dos opcodes.

EOA puede enviar mensajes firmados ) transacción ( a un contrato de confianza ) llamado 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 bajo la inspiración de MEV, su valor central es evitar por completo los cambios en el protocolo de la capa de consenso.

Se propone un nuevo objeto de transacción UserOperation, que los usuarios envían a la memoria del pool, donde los bundlers empaquetan y entregan en masa las transacciones de ejecución de contratos desde la perspectiva de los mineros. En esencia, esto lleva las transacciones subyacentes y la operación de cuentas a la capa de contrato para su ejecución.

EIP-5189: a través de las operaciones de los endosos 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 (endorser) para prevenir ataques de bloqueo DoS.

) 3.3 Otras propuestas que apoyan la abstracción de cuentas

EIP-2718: sobreenvoltura de un nuevo tipo de transacción ###2020-06-13(

La propuesta finalizada define un nuevo tipo de transacción como un sobre para futuros tipos de transacción que se agregarán.

Al introducir un nuevo tipo de transacción, se distingue mediante una codificación específica, solo es necesario ser compatible hacia atrás y no hacia adelante. El ejemplo más común es EIP1559, que 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: limitar el despliegue de contratos por direcciones EOA )2021-06-10(

Soluciones complementarias en la ruta AA para evitar conflictos entre las direcciones de despliegue de contratos y las direcciones EOA. Controlar el método de generación de contratos, no se permite desplegar código en direcciones que ya son EOA. Este riesgo es muy bajo, la dirección de Ethereum tiene una longitud de 160 bits, 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 tomaría un año.

) 3.4 ¿Cómo entender el desarrollo de la abstracción de cuentas?

Primero, es necesario entender el valor que se obtiene después de la conversión a CA, que básicamente es el efecto real de EIP-4337:

Pero el defecto central 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 CA, e incluso usar CA tiene un costo de transacción más alto. Depender demasiado de la compatibilidad de la Dapp en sí.

Por lo tanto, todavía no se ha popularizado en la red principal de Ethereum.

El costo es el estándar de medición más importante para los usuarios, y debe reducirse.

Para reducir realmente el Gas, es necesario que Ethereum realice una actualización de bifurcación suave, modificando el cálculo del Gas u otros módulos de consumo de Gas del código de operación. Dado que se necesita 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 única transacción, apoyando transacciones por lotes, transacciones sin Gas y gestión de permisos personalizados, y sin necesidad de introducir un nuevo opCode EVM.

Los usuarios pueden obtener la mayor parte de las capacidades de AA sin necesidad de implementar contratos inteligentes, e incluso pueden ofrecer a terceros la capacidad de iniciar 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, destination, value, data, access_list, authorization_list, signature_y_parity, signature_r, signature_s](

Se ha añadido el objeto authorization_list, que almacena el código que los firmantes desean ejecutar en la EOA. El usuario firma la transacción y al mismo tiempo firma el código del contrato a ejecutar, que existe como una lista bidimensional y puede almacenar múltiples informaciones de operación en batch.

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

Al inicio de la transacción, para cada tupla [chain_id, address, nonce, y_parity, r, s] de authorization_list:

  1. Recuperar la dirección del firmante a partir de la firma r, s usando ecrecover.

  2. Verificar la cadena ID### para evitar la reproducción de la cadena bifurcada (.

  3. Verificar si el código del firmante de authority está vacío o ha sido delegado.

  4. Verificar el nonce del firmante authority ) para prevenir la repetición de la firma authority (.

  5. Establecer el código del firmante de authority en 0xef0100 || address.

  6. Aumentar el nonce del firmante authority ) para prevenir la reproducción de firmas locales (.

  7. Agregar la cuenta del firmante de authority a la lista de direcciones visitadas.

)# 4.3.2 Etapa de ejecución de operaciones

"Nueva" versión solo cambia el comportamiento de despliegue del código.

No se establecerá más el código de cuenta como contract_code, sino que se recuperará el código del campo address de authorization_list y se establecerá como código de cuenta.

Al ejecutar el código autorizado, se carga el código desde la dirección especificada en authorization_list y se ejecuta en el contexto de la cuenta del firmante.

El código del contrato del usuario se almacena realmente en una dirección específica de 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 de datos de carga de la transacción.

4.4 El valor de EIP-7702

Hay cambios en la cadena completa de la billetera Web3, lo que resulta en una gran transformación en la experiencia del usuario. Las cuentas de propiedad externa (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 las tarifas de recopilación de depósitos y retiros.

Romper múltiples preconcepciones:

  1. El saldo de la cuenta puede disminuir debido a transacciones que no provienen de esa cuenta.

  2. Después de que comience la ejecución de la transacción, el nonce de EOA puede aumentar en varios.

  3. Romper la lógica de protección de comparación entre tx.origin y msg.sender, muchos contratos existentes tienen riesgos.

  4. EOA puede emitir eventos, afectando la identificación y escucha de ciertos eventos en la cadena.

  5. La dirección EOA puede fallar al recibir activos ERC20, 721, 1155, etc. debido al mecanismo de callback ###.

Análisis profundo de la abstracción de cuentas de Ethereum: pasado y futuro

( 4.5 Comparación entre EIP-7702 y EIP-4337

  1. Ventajas de EIP-7702
  • Gas más bajo, sin necesidad de pasar por el módulo entrypoint, reduciendo las operaciones en la cadena.
  • El costo de migración de usuarios es más bajo, no es necesario desplegar contratos en la cadena de antemano.
  • Al igual que EIP4337, también hay ejecución de código delegada, hay dos formas:

完全委托)Delegación completa###

  • Realizar una operación
ETH-0.51%
Ver originales
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.
  • Recompensa
  • 6
  • Compartir
Comentar
0/400
TommyTeacher1vip
· hace4h
Otro viejo problema de no poder encontrar la entrada al ecosistema.
Ver originalesResponder0
SadMoneyMeowvip
· hace4h
Bua bua, otra tendencia que cuesta dinero.
Ver originalesResponder0
LazyDevMinervip
· hace4h
AA vuelve a allanar el camino, nunca ha sido bien visto.
Ver originalesResponder0
ForeverBuyingDipsvip
· hace4h
Otra nueva forma de BTC. Espero que las pruebas me digan si funciona.
Ver originalesResponder0
GasFeeWhisperervip
· hace4h
La pista AA ha estado activa demasiado tiempo, ¿qué puede resolver realmente el 7702?
Ver originalesResponder0
NFTDreamervip
· hace4h
AA ya no está de moda, ¿verdad?
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)