Análisis profundo de la historia y el futuro de la abstracción de cuentas en Ethereum
Introducción
Este artículo se divide en dos grandes secciones:
La parte superior comienza con la primera propuesta de AA de 2015, el sistema revisa el contenido principal de las propuestas de EIP hasta ahora, espera explorar el desarrollo histórico de las propuestas de AA desde una perspectiva histórica y evaluar de manera integral las ventajas y desventajas de cada opción.
La parte inferior se centra en comparar la fría reacción del mercado tras el lanzamiento de EIP4337, analizando en profundidad el EIP7702 que se incorporará en la próxima actualización de Ethereum. Una vez que esta propuesta se fusiona, cambiará por completo la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, exploremoslo juntos 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, en la cual la configuración sobre la abstracción de cuentas se mantiene sin cambios. El modo principal actual está pasando de EIP-4337 a la siguiente etapa "conversión voluntaria de cuentas EOA".
Después de más de un año desde el lanzamiento de EIP4337, el 1 de marzo de 2023 en WalletCon en Denver, se anunció oficialmente que el contrato central ERC-4337, diseñado e implementado por los desarrolladores de la Fundación Ethereum, ha pasado la auditoría de OpenZeppelin y se considera un hito histórico de lanzamiento oficial (. El mercado presenta un estado de contradicción en el que los usuarios lo reconocen ampliamente, pero no se utiliza de manera generalizada. En este entorno, el progreso de EIP-7702 se ha adelantado significativamente y se ha determinado que se fusionará 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, 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 disparidad 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. Se puede afirmar 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 grave problema de compatibilidad hacia adelante de la red principal. Con el uso generalizado de diversas cadenas L2 que integran AA nativo, el número de direcciones EIP4337 ha explotado en L2, donde los usuarios activos mensuales de las cadenas Base y Polygon alcanzaron 1 millón y 3 millones en julio, respectivamente, mostrando un rendimiento aceptable.
Por lo tanto, no es que el diseño de EIP4337 sea incorrecto, tiene muchas ventajas, que resumiremos sistemáticamente más tarde. La situación actual se debe a las diferencias entre la mainnet y L2, que requieren 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 de firma de la cuenta externa son, en realidad, 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 tiene derecho a "firmar la transferencia de todos los activos".
Esto está determinado por la estructura de transacciones de la cuenta de Ethereum. A partir de la estructura de transacciones se puede ver que la transacción estándar de Ethereum no tiene el campo From. En realidad, se determina la dirección From mediante la firma del usuario ) a través de los parámetros VRS (.
Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, que no se desarrollarán aquí. En resumen, la seguridad está garantizada por la criptografía, lo que también ha llevado a la difícil situación de la fusión de la propiedad de las cuentas EOA actuales.
El efecto central de EIP4337 es agregar la dirección del remitente en el campo de transacción, logrando así la separación entre la clave privada y la dirección operada.
La razón por la que la separación de la propiedad es tan importante es que el diseño de cuentas externas )EOA( generará más problemas:
Dificultad para proteger la clave privada: la pérdida de la clave privada ), ataques de hackers, o la ruptura de la criptografía ( significa la pérdida de todos los activos.
Algoritmo de firma único: la verificación de transacciones del protocolo nativo solo puede utilizar el algoritmo de firma y verificación ECDSA.
Permisos de firma demasiado altos: sin un multichain nativo ), el multichain solo se puede implementar a través de un contrato inteligente (, y una sola firma puede ejecutar cualquier operación.
Las comisiones de transacción solo se pueden pagar con Ether, no se admiten transacciones 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 restricciones dificultan el uso de Ethereum por parte de los usuarios comunes:
Primero, para utilizar cualquier aplicación en Ethereum, los usuarios deben poseer Ether ) y asumir el riesgo de fluctuaciones de precios (.
En segundo lugar, los usuarios necesitan manejar una lógica de tarifas compleja, el precio del Gas, el límite de Gas, el bloqueo de transacciones ) y el orden del Nonce ( son conceptos demasiado complejos para los usuarios.
Finalmente, aunque muchas billeteras de blockchain o aplicaciones 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 inflexió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.
A lo largo de la historia se han propuesto diversas soluciones, que al final se han agrupado en dos rutas.
![Análisis profundo de la abstracción de cuentas en Ethereum: pasado y futuro])https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(
3. Contexto de la propuesta histórica de la abstracción de cuentas
) 3.1 Primera ruta: convertir la dirección EOA en dirección CA
El 15 de noviembre de 2015, Vitalik propuso en EIP-101 una nueva estructura de cuentas como contratos. Cambió la dirección para que solo tuviera código y espacio de almacenamiento, modificando el soporte de tarifas para ser pagado por ERC20, a través de contratos precompilados se transformó el token nativo en un saldo similar a ERC20 ### con funciones como autorización de deducción (, y se simplificaron los campos de transacción a to, startgas, data y code.
Esta propuesta puede verse como una transformación de gran salto, que cambiará drásticamente el diseño subyacente, permitiendo que cada dirección de cuenta tenga su propia lógica de "código" ), que es precisamente el efecto que EIP-7702 busca lograr (.
También puede derivar otras funciones, como:
Las transacciones utilizan más algoritmos criptográficos, que pueden especificar el método de verificación y autenticación mediante el código interno de cada dirección.
Posee características de resistencia a ataques cuánticos, ya que el código es actualizable.
Hacer que Ether tenga características funcionales consistentes con los contratos ERC20, el efecto central es lograr la autorización de deducción automática, sin necesidad de consumir la moneda nativa.
Mejora del 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 muy simple, claramente se dieron pasos demasiado grandes, y no se consideraron adecuadamente los problemas de colisión de hash en las transacciones actuales y las preocupaciones de seguridad, por lo que se ha dejado en suspenso. Sin embargo, cada uno de los conceptos positivos se ha convertido en una de las funciones centrales de los posteriores EIP4337 y EIP7702.
Después, 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 negociadora no está implementado, se utiliza el parámetro de código adjunto a la transacción para implementar la billetera del contrato. Además, se propone un nuevo código de operación PAYGAS, que además de pagar el gas, también sirve como un separador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.
Aunque no se implementó en ese momento, esto se ha convertido en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702, combinada con una estructura de transacción especial, puede llevar cierto código, permitiendo que la dirección EOA tenga capacidades de contrato en esta transacción.
EIP-7702: establecer código de cuenta EOA )2024-05-07(
Este también es el núcleo del mecanismo discutido más adelante en este artículo, propuesto por Vitalik como una alternativa a EIP-3074. Por lo tanto, EIP-3074 ha sido desechado, y se ha determinado que EIP-7702 se incluirá en la próxima bifurcación dura de ETH Prague/Electra)Pectra(, cuyos detalles se desarrollarán más adelante.
) 3.2 Segunda ruta: permitir que la dirección EOA impulse la dirección CA
EIP-3074: añadir las operaciones AUTH y AUTHCALL ###2020-10-15(
En EVM se añaden dos nuevos OpCodes AUTH y AUTHCALL, permitiendo que EOA autorice a contratos a llamar a otros contratos en lugar de utilizar la identidad de EOA a través de estos dos opcodes.
En resumen, un EOA puede enviar un mensaje firmado ) y una transacción ( a un contrato ) en el que confía, denominado Invoker (. Este contrato Invoker puede utilizar los códigos de operación AUTH y AUTHCALL para enviar transacciones en lugar de ese EOA.
EIP-4337: implementar 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 que puede 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 a la memoria de la piscina, y los bundlers empaquetan y entregan en lotes 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 contrato para su ejecución.
EIP-5189: a través de operaciones de endoso en cuentas abstractas )2022-06-29(
Esta es una optimización de la lógica de EIP4337, que enfrenta a los Bundlers maliciosos mediante el establecimiento de un mecanismo de respaldo de endorser con multas financieras para prevenir ataques de bloqueo DoS.
) 3.3 Otras propuestas que soportan la abstracción de cuentas
EIP-2718: sobreenvoltura de nuevo tipo de transacción ###2020-06-13(
Esta es una propuesta ya finalizada, que 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 el tipo de transacción mediante una codificación específica, solo es necesario ser compatible hacia atrás, no es necesario ser compatible hacia adelante. El ejemplo más común es EIP1559, que distingue las tarifas de transacción, utiliza una nueva codificación de tipo de transacción y no afecta al tipo de transacción legacy original.
EIP-3607: Prohibir la implementación de contratos por direcciones EOA )2021-06-10(
Esta es una solución complementaria en la ruta AA, destinada a prevenir conflictos entre la dirección de despliegue del contrato y la dirección EOA. Controlará el método de generación del contrato, prohibiendo al sistema desplegar código en direcciones que ya son direcciones EOA. Este riesgo en realidad es bastante bajo, dado que la dirección de Ethereum tiene 160 bits de largo; aunque existe un método para colisionar la clave privada y obtener la clave privada de la dirección del contrato designado, se estima que con la potencia de cálculo total de Bitcoin, también necesitaría un año de tiempo.
) 3.4 ¿Cómo entender el desarrollo 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 ha caído en un ciclo vicioso del desarrollo del mercado, muchos Dapps aún no son compatibles, los usuarios no quieren usar direcciones de cuenta, e incluso usar una cuenta puede tener un costo de transacción más alto en escenarios de transferencia normal, las tarifas de transacción se duplican, también depende demasiado de la compatibilidad del propio Dapp.
Por lo tanto, todavía no se ha popularizado en la red principal de Ethereum.
El costo es el criterio más importante para los usuarios, se deben reducir los costos.
Pero para reducir realmente el GAS, es necesario realizar una actualización de bifurcación suave en Ethereum, modificando el cálculo de GAS o el consumo de GAS de los códigos de operación, entre otros módulos. 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-65d1ef9656425666ee30c38bbb63e769.webp(
4. Análisis completo de EIP-7702
) 4.1 ¿Qué es EIP-7702?
Se diferencia mediante un nuevo tipo de transacción, permitiendo que una EOA tenga temporalmente funciones de contrato inteligente en una sola transacción, apoyando así transacciones por lotes, transacciones sin Gas y gestión de permisos personalizados, todo sin necesidad de introducir un nuevo opCode EVM ( que afecte la compatibilidad hacia adelante ).
Puede permitir a los usuarios obtener la mayoría de las capacidades de abstracción de cuentas sin desplegar contratos inteligentes, e incluso puede proporcionar a terceros la capacidad de iniciar transacciones en nombre del usuario, sin necesidad de que el usuario proporcione su clave privada, solo necesita firmar la información de autorización.
4.2 estructura de datos
Define un nuevo tipo de transacción 0x04, cuyo TransactionPayload es el resultado de la serialización RLP del siguiente contenido:
Es importante que se haya agregado el objeto authorization_list, que almacena el código que los firmantes desean ejecutar en su EOA. Al firmar la transacción, el usuario también firma el código del contrato que se va a ejecutar, que existe como una lista bidimensional, lo que indica que se pueden almacenar múltiples informaciones de operación en lote y realizar operaciones en lote.
En la fase inicial de la ejecución de la transacción, para cada tupla de authorization_list [chain_id, address, nonce, y_parity, r, s]:
Recuperar la dirección del firmante ) a partir de la firma r, s utilizando ecrecover. Tenga en cuenta que este es un mecanismo propio de Ethereum, por lo que esta EIP no ha cambiado el algoritmo de firma ###.
authority = ecrecover###keccak(MAGIC || rlp)[chain_id, address, nonce]((, y_parity, r, s](similar a la dirección from obtenida anteriormente de la firma, aquí se obtiene la dirección de firma parcial para esta lista)
Verificar el ID de cadena ) para evitar la reproducción de cadenas bifurcadas (.
Verificar si el código del firmante authority está vacío o ya ha delegado ).
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.
EIP-7702: un gran avance en la abstracción de cuentas de Ethereum
Análisis profundo de la historia y el futuro de la abstracción de cuentas en Ethereum
Introducción
Este artículo se divide en dos grandes secciones:
La parte superior comienza con la primera propuesta de AA de 2015, el sistema revisa el contenido principal de las propuestas de EIP hasta ahora, espera explorar el desarrollo histórico de las propuestas de AA desde una perspectiva histórica y evaluar de manera integral las ventajas y desventajas de cada opción.
La parte inferior se centra en comparar la fría reacción del mercado tras el lanzamiento de EIP4337, analizando en profundidad el EIP7702 que se incorporará en la próxima actualización de Ethereum. Una vez que esta propuesta se fusiona, cambiará por completo la forma de las aplicaciones en la cadena.
EIP-7702 tiene un significado revolucionario, exploremoslo juntos 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, en la cual la configuración sobre la abstracción de cuentas se mantiene sin cambios. El modo principal actual está pasando de EIP-4337 a la siguiente etapa "conversión voluntaria de cuentas EOA".
Después de más de un año desde el lanzamiento de EIP4337, el 1 de marzo de 2023 en WalletCon en Denver, se anunció oficialmente que el contrato central ERC-4337, diseñado e implementado por los desarrolladores de la Fundación Ethereum, ha pasado la auditoría de OpenZeppelin y se considera un hito histórico de lanzamiento oficial (. El mercado presenta un estado de contradicción en el que los usuarios lo reconocen ampliamente, pero no se utiliza de manera generalizada. En este entorno, el progreso de EIP-7702 se ha adelantado significativamente y se ha determinado que se fusionará 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, 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 disparidad 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. Se puede afirmar 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 grave problema de compatibilidad hacia adelante de la red principal. Con el uso generalizado de diversas cadenas L2 que integran AA nativo, el número de direcciones EIP4337 ha explotado en L2, donde los usuarios activos mensuales de las cadenas Base y Polygon alcanzaron 1 millón y 3 millones en julio, respectivamente, mostrando un rendimiento aceptable.
Por lo tanto, no es que el diseño de EIP4337 sea incorrecto, tiene muchas ventajas, que resumiremos sistemáticamente más tarde. La situación actual se debe a las diferencias entre la mainnet y L2, que requieren 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 de firma de la cuenta externa son, en realidad, 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 tiene derecho a "firmar la transferencia de todos los activos".
Esto está determinado por la estructura de transacciones de la cuenta de Ethereum. A partir de la estructura de transacciones se puede ver que la transacción estándar de Ethereum no tiene el campo From. En realidad, se determina la dirección From mediante la firma del usuario ) a través de los parámetros VRS (.
Esto involucra conceptos como ECDSA y funciones de umbral unidireccionales, que no se desarrollarán aquí. En resumen, la seguridad está garantizada por la criptografía, lo que también ha llevado a la difícil situación de la fusión de la propiedad de las cuentas EOA actuales.
El efecto central de EIP4337 es agregar la dirección del remitente en el campo de transacción, logrando así la separación entre la clave privada y la dirección operada.
La razón por la que la separación de la propiedad es tan importante es que el diseño de cuentas externas )EOA( generará más problemas:
Dificultad para proteger la clave privada: la pérdida de la clave privada ), ataques de hackers, o la ruptura de la criptografía ( significa la pérdida de todos los activos.
Algoritmo de firma único: la verificación de transacciones del protocolo nativo solo puede utilizar el algoritmo de firma y verificación ECDSA.
Permisos de firma demasiado altos: sin un multichain nativo ), el multichain solo se puede implementar a través de un contrato inteligente (, y una sola firma puede ejecutar cualquier operación.
Las comisiones de transacción solo se pueden pagar con Ether, no se admiten transacciones 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 restricciones dificultan el uso de Ethereum por parte de los usuarios comunes:
Primero, para utilizar cualquier aplicación en Ethereum, los usuarios deben poseer Ether ) y asumir el riesgo de fluctuaciones de precios (.
En segundo lugar, los usuarios necesitan manejar una lógica de tarifas compleja, el precio del Gas, el límite de Gas, el bloqueo de transacciones ) y el orden del Nonce ( son conceptos demasiado complejos para los usuarios.
Finalmente, aunque muchas billeteras de blockchain o aplicaciones 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 inflexió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.
A lo largo de la historia se han propuesto diversas soluciones, que al final se han agrupado en dos rutas.
![Análisis profundo de la abstracción de cuentas en Ethereum: pasado y futuro])https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(
3. Contexto de la propuesta histórica de la abstracción de cuentas
) 3.1 Primera ruta: convertir la dirección EOA en dirección CA
El 15 de noviembre de 2015, Vitalik propuso en EIP-101 una nueva estructura de cuentas como contratos. Cambió la dirección para que solo tuviera código y espacio de almacenamiento, modificando el soporte de tarifas para ser pagado por ERC20, a través de contratos precompilados se transformó el token nativo en un saldo similar a ERC20 ### con funciones como autorización de deducción (, y se simplificaron los campos de transacción a to, startgas, data y code.
Esta propuesta puede verse como una transformación de gran salto, que cambiará drásticamente el diseño subyacente, permitiendo que cada dirección de cuenta tenga su propia lógica de "código" ), que es precisamente el efecto que EIP-7702 busca lograr (.
También puede derivar otras funciones, como:
Las transacciones utilizan más algoritmos criptográficos, que pueden especificar el método de verificación y autenticación mediante el código interno de cada dirección.
Posee características de resistencia a ataques cuánticos, ya que el código es actualizable.
Hacer que Ether tenga características funcionales consistentes con los contratos ERC20, el efecto central es lograr la autorización de deducción automática, sin necesidad de consumir la moneda nativa.
Mejora del 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 muy simple, claramente se dieron pasos demasiado grandes, y no se consideraron adecuadamente los problemas de colisión de hash en las transacciones actuales y las preocupaciones de seguridad, por lo que se ha dejado en suspenso. Sin embargo, cada uno de los conceptos positivos se ha convertido en una de las funciones centrales de los posteriores EIP4337 y EIP7702.
Después, 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 negociadora no está implementado, se utiliza el parámetro de código adjunto a la transacción para implementar la billetera del contrato. Además, se propone un nuevo código de operación PAYGAS, que además de pagar el gas, también sirve como un separador entre la parte de verificación y la parte de ejecución en los parámetros de la transacción.
Aunque no se implementó en ese momento, esto se ha convertido en una de las lógicas centrales de EIP7702. Cada transacción de EIP7702, combinada con una estructura de transacción especial, puede llevar cierto código, permitiendo que la dirección EOA tenga capacidades de contrato en esta transacción.
EIP-7702: establecer código de cuenta EOA )2024-05-07(
Este también es el núcleo del mecanismo discutido más adelante en este artículo, propuesto por Vitalik como una alternativa a EIP-3074. Por lo tanto, EIP-3074 ha sido desechado, y se ha determinado que EIP-7702 se incluirá en la próxima bifurcación dura de ETH Prague/Electra)Pectra(, cuyos detalles se desarrollarán más adelante.
) 3.2 Segunda ruta: permitir que la dirección EOA impulse la dirección CA
EIP-3074: añadir las operaciones AUTH y AUTHCALL ###2020-10-15(
En EVM se añaden dos nuevos OpCodes AUTH y AUTHCALL, permitiendo que EOA autorice a contratos a llamar a otros contratos en lugar de utilizar la identidad de EOA a través de estos dos opcodes.
En resumen, un EOA puede enviar un mensaje firmado ) y una transacción ( a un contrato ) en el que confía, denominado Invoker (. Este contrato Invoker puede utilizar los códigos de operación AUTH y AUTHCALL para enviar transacciones en lugar de ese EOA.
EIP-4337: implementar 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 que puede 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 a la memoria de la piscina, y los bundlers empaquetan y entregan en lotes 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 contrato para su ejecución.
EIP-5189: a través de operaciones de endoso en cuentas abstractas )2022-06-29(
Esta es una optimización de la lógica de EIP4337, que enfrenta a los Bundlers maliciosos mediante el establecimiento de un mecanismo de respaldo de endorser con multas financieras para prevenir ataques de bloqueo DoS.
) 3.3 Otras propuestas que soportan la abstracción de cuentas
EIP-2718: sobreenvoltura de nuevo tipo de transacción ###2020-06-13(
Esta es una propuesta ya finalizada, que 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 el tipo de transacción mediante una codificación específica, solo es necesario ser compatible hacia atrás, no es necesario ser compatible hacia adelante. El ejemplo más común es EIP1559, que distingue las tarifas de transacción, utiliza una nueva codificación de tipo de transacción y no afecta al tipo de transacción legacy original.
EIP-3607: Prohibir la implementación de contratos por direcciones EOA )2021-06-10(
Esta es una solución complementaria en la ruta AA, destinada a prevenir conflictos entre la dirección de despliegue del contrato y la dirección EOA. Controlará el método de generación del contrato, prohibiendo al sistema desplegar código en direcciones que ya son direcciones EOA. Este riesgo en realidad es bastante bajo, dado que la dirección de Ethereum tiene 160 bits de largo; aunque existe un método para colisionar la clave privada y obtener la clave privada de la dirección del contrato designado, se estima que con la potencia de cálculo total de Bitcoin, también necesitaría un año de tiempo.
) 3.4 ¿Cómo entender el desarrollo 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 ha caído en un ciclo vicioso del desarrollo del mercado, muchos Dapps aún no son compatibles, los usuarios no quieren usar direcciones de cuenta, e incluso usar una cuenta puede tener un costo de transacción más alto en escenarios de transferencia normal, las tarifas de transacción se duplican, también depende demasiado de la compatibilidad del propio Dapp.
Por lo tanto, todavía no se ha popularizado en la red principal de Ethereum.
El costo es el criterio más importante para los usuarios, se deben reducir los costos.
Pero para reducir realmente el GAS, es necesario realizar una actualización de bifurcación suave en Ethereum, modificando el cálculo de GAS o el consumo de GAS de los códigos de operación, entre otros módulos. 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-65d1ef9656425666ee30c38bbb63e769.webp(
4. Análisis completo de EIP-7702
) 4.1 ¿Qué es EIP-7702?
Se diferencia mediante un nuevo tipo de transacción, permitiendo que una EOA tenga temporalmente funciones de contrato inteligente en una sola transacción, apoyando así transacciones por lotes, transacciones sin Gas y gestión de permisos personalizados, todo sin necesidad de introducir un nuevo opCode EVM ( que afecte la compatibilidad hacia adelante ).
Puede permitir a los usuarios obtener la mayoría de las capacidades de abstracción de cuentas sin desplegar contratos inteligentes, e incluso puede proporcionar a terceros la capacidad de iniciar transacciones en nombre del usuario, sin necesidad de que el usuario proporcione su clave privada, solo necesita firmar la información de autorización.
4.2 estructura de datos
Define un nuevo tipo de transacción 0x04, cuyo 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 que se haya agregado el objeto authorization_list, que almacena el código que los firmantes desean ejecutar en su EOA. Al firmar la transacción, el usuario también firma el código del contrato que se va a ejecutar, que existe como una lista bidimensional, lo que indica que se pueden almacenar múltiples informaciones de operación en lote y realizar 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
En la fase inicial de la ejecución de la transacción, para cada tupla de authorization_list [chain_id, address, nonce, y_parity, r, s]:
Recuperar la dirección del firmante ) a partir de la firma r, s utilizando ecrecover. Tenga en cuenta que este es un mecanismo propio de Ethereum, por lo que esta EIP no ha cambiado el algoritmo de firma ###. authority = ecrecover###keccak(MAGIC || rlp)[chain_id, address, nonce]((, y_parity, r, s](similar a la dirección from obtenida anteriormente de la firma, aquí se obtiene la dirección de firma parcial para esta lista)
Verificar el ID de cadena ) para evitar la reproducción de cadenas bifurcadas (.
Verificar si el código del firmante authority está vacío o ya ha delegado ).