Comparación de la abstracción de cuentas multichain: diferencias clave entre ERC-4337 y AA nativo

Análisis de la abstracción de cuentas multichain: la dirección futura de la infraestructura de encriptación

Del 8 al 11 de julio de 2024, se llevará a cabo la conferencia de la comunidad de Ethereum (EthCC) en Bruselas, Bélgica, este es el evento anual más grande de Ethereum en Europa, enfocado en la tecnología y la comunidad.

En esta edición de la conferencia de la comunidad de Ethereum ( EthCC 7), más de 350 líderes de opinión de primera línea en la industria de blockchain dieron discursos, entre ellos un desarrollador invitado que presentó un discurso titulado "Revelando el futuro: Análisis de la abstracción de cuentas multichain".

Resumen de la presentación:

  • La abstracción de cuentas (AA) incluye dos puntos clave: la abstracción de firmas y la abstracción de pagos. La abstracción de firmas permite a los usuarios elegir cualquier mecanismo de verificación que prefieran, mientras que la abstracción de pagos permite utilizar múltiples opciones de pago en las transacciones. Esta flexibilidad proporciona una experiencia de usuario más segura y óptima.

  • En ERC-4337 y AA nativa, la función de punto de entrada de la fase de "verificación" es fija, mientras que en la fase de "ejecución", solo el punto de entrada en AA nativa es fijo. Las limitaciones de la verificación de transacciones y los pasos de la ejecución de transacciones tienen sus propias características y limitaciones en diferentes implementaciones.

  • Implementar ERC-4337 en cadenas compatibles con EVM tiene dos diferencias clave: las diferencias en el protocolo en el diseño de Rollup y la forma en que se calcula la dirección, lo que da lugar a detalles de desarrollo difíciles de notar al implementar ERC-4337 entre L1 y L2.

A continuación se presenta el texto completo del discurso:

Hola a todos, hoy les voy a presentar los conceptos de ERC-4337 y AA nativa, discutir las diferencias entre ellos y analizar en detalle las principales diferencias del estándar 4337 en L1 y L2.

Abstracción de cuentas Introducción

1. ¿Qué es la abstracción de cuentas?

abstracción de cuentas(AA) incluye principalmente dos puntos clave: abstracción de firma y abstracción de pago.

  • Abstracción de firmas: los usuarios pueden elegir cualquier mecanismo de verificación que les guste, y no se limitan a ciertos algoritmos de firma digital ( como ECDSA ).
  • Abstracción de pagos: los usuarios pueden utilizar múltiples opciones de pago de transacciones, como pagar con activos ERC-20 en lugar de activos nativos, o permitir que un tercero patrocine la transacción.

Esta flexibilidad proporciona una experiencia de usuario más segura y óptima. El objetivo de la abstracción de cuentas es lograr estos dos puntos clave de diversas maneras.

¿El futuro de la encriptación de infraestructuras? Análisis de la abstracción de cuentas multichain

2. ¿Qué es ERC-4337?

Actualmente, en el protocolo de Ethereum, la cuenta externa (EOA) presenta algunas limitaciones, como un método de firma fijo y un diseño de pago. ERC-4337 aborda estos problemas al introducir métodos de gestión de cuentas y procesamiento de transacciones más flexibles.

  • Estructura userOp: en ERC-4337, el usuario envía la estructura userOp al Bundler. El Bundler recopila múltiples userOp y las envía al contrato EntryPoint mediante la llamada a la función handleOps.
  • Contrato EntryPoint: Este contrato maneja las transacciones como un sistema operativo, y sus funciones principales incluyen:
    • Llamar a la función validate en el contrato de cuenta, asegurando que userOp obtenga la autorización del propietario de la cuenta.
    • Cobrar tarifas.
    • Llamar a la función execute en el contrato de cuenta para ejecutar la operación objetivo de userOp.

3. ¿Qué es el AA nativo?

En Ethereum, las cuentas se dividen en EOA y cuentas de contrato. Sin embargo, en la abstracción de cuentas nativa, cada cuenta es un contrato y el mecanismo de procesamiento de transacciones está directamente incorporado en el protocolo de la blockchain.

Diseño de AA en varias redes de blockchain:

  • Abstracción de cuentas ERC-4337: Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
  • La abstracción de cuentas nativa sigue ERC-4337: época de StarkNet & zkSync
  • Cuenta abstracta nativa con diseño de privacidad: Aztec

Si estás interesado en Aztec Native AA o EIP-3074, EIP-7702, hoy nos centraremos en la AA nativa después de ERC-4337.

Diferencias entre ERC-4337 y AA nativo

1. Rol del sistema operativo

AA OS necesita responder las siguientes preguntas:

  • ¿Quién decide el precio del Gas?
  • ¿Quién decide el orden de las transacciones? ¿Dónde está el pool de memoria?
  • ¿Quién activa la función de punto de entrada?
  • ¿Qué determina el proceso de procesamiento de transacciones?

En ERC-4337, estos roles se completan en colaboración a través del Bundler y el EntryPoint Contract.

En AA nativo, los usuarios envían sus userOps al operador/ordenador del servidor oficial, en lugar de al Bundler y EntryPoint Contract.

En StarkNet, el Secuenciador se encarga de realizar todas estas tareas.

En zkSync, la principal diferencia entre Era y otras implementaciones de AA es que el Operator necesita trabajar con el contrato del sistema bootloader(. El bootloader abre un nuevo bloque, define sus parámetros), incluidos los parámetros del bloque y otros parámetros de Gas(, y recibe transacciones del Operator para su verificación.

![¿El futuro de la infraestructura de encriptación? Análisis de la abstracción de cuentas multichain])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(

) 2. Interfaz de contrato

Debido a la existencia de tres pasos, la interfaz del contrato de cuenta es similar en diferentes implementaciones, estos puntos de entrada solo pueden ser llamados por el AA OS:

  • ERC-4337: validar la operación del usuario
  • zkSync: verificación de transacciones, pago de transacciones, ejecución de transacciones
  • StarkNet: ejecutar, validar, validar_declarar, validar_desplegar

En ERC-4337 y AA nativo, la función de punto de entrada en la fase de "verificación" es fija, mientras que en la fase de "ejecución", solo el punto de entrada en AA nativo es fijo.

3. Limitaciones en los pasos de verificación

Debido a que la verificación de transacciones no tiene límite de costo###, esencialmente, la verificación de transacciones es la llamada a funciones de vista(; un atacante puede realizar un ataque DoS en el pool de memoria, lo que puede dañar el empaquetador)EIP-4337( o el operador/ordenador) AA nativo(.

EIP-4337 define qué códigos de operación están prohibidos y cómo limitar el acceso al almacenamiento. zkSync Era ha relajado el uso de algunos OpCode:

  • La lógica del contrato solo puede acceder a su propio espacio de almacenamiento. Si la dirección del contrato de cuenta es la dirección A, puede acceder a:
    • Slot de almacenamiento perteneciente a la dirección A
    • espacio de almacenamiento perteneciente a cualquier otra dirección A
    • Almacén de ranuras keccak256 de cualquier otra dirección )A || X(: esto significa usar directamente la dirección como clave en el mapa ), por ejemplo, mapa (address => value( ), equivalente a acceder a la ranura keccak256 )A || X(. Por ejemplo, el saldo de activos en un contrato ERC-20.
  • La lógica del contrato no puede acceder a variables globales, como el número de bloque. StarkNet tampoco permite llamadas a contratos externos.

) 4. Limitaciones de los pasos de ejecución

En zkSync, ejecutar llamadas al sistema requiere confirmar la existencia de la bandera del sistema. Por ejemplo, la única forma de aumentar el nonce es interactuando con el NonceHolder, mientras que el despliegue de contratos requiere interactuar con el ContractDeployer. La bandera del sistema asegura que los desarrolladores de cuentas interactúen de manera consciente con el contrato del sistema.

En ERC-4337 y StarkNet, no hay restricciones especiales en la fase de ejecución.

5. Número aleatorio

  • En ERC-4337, el diseño del número aleatorio del punto de entrada distingue entre un valor de clave de 192 bits y un valor aleatorio de 64 bits.
  • En zkSync, el contrato del sistema NonceHolder gestiona el nonce, asegurando que sea estrictamente creciente, es decir, que se aumente en 1.
  • En StarkNet, el nonce también es estrictamente creciente, pero no hay un nonce abstracto gestionado por contratos específicos.

6. Usar la primera transacción para el despliegue

  • ERC-4337 incluye el campo initcode en la estructura userOp para desplegar el contrato de cuenta del remitente ### en su primer userOp (.
  • En StarkNet y zkSync, los usuarios deben enviar la primera transacción a un operador/ordenador para desplegar el contrato de cuenta.

) 7. diseño especial en zkSync

Si transfieres ETH directamente desde una EOA de Ethereum a zkSync, sin necesidad de desplegar un contrato de cuenta personalizado, recibirás una cuenta predeterminada con la misma dirección. Esta cuenta puede funcionar como una EOA de Ethereum y también está controlada por la clave privada de la EOA de Ethereum correspondiente.

Este tipo de cuenta es de versión None en lugar de version1. No puedes llamar a las funciones de DefaultAccount porque no ha desplegado ningún código en el espacio del núcleo.

La diferencia entre el 4337 de L1 y el 4337 de L2

En la implementación de ERC-4337 en cadenas compatibles con EVM, hay dos diferencias clave: diferencias en el protocolo y diferencias en la dirección.

1. Diferencias de protocolo

En el diseño de Rollup, L2 necesita subir datos a L1 para seguridad y liquidación. En el contexto de ERC-4337, los costos asociados con este proceso de carga, como la tarifa de seguridad de L1 y los costos de blob, deben incluirse en el Gas de prevalidación. Determinar los costos de carga apropiados en el Gas de prevalidación es un desafío importante.

2. Diferencias de dirección

El método de codificación de direcciones en la función create de zkSync ERA es diferente al de Ethereum y OP. Además, StarkNet utiliza una función hash única para el cálculo de direcciones. En el contexto de ERC-4337 en cadenas compatibles con EVM, normalmente asumimos que el cálculo de direcciones es consistente en todas las cadenas. Sin embargo, hay un detalle sutil que puede llevar a diferencias en las direcciones de contratos de cuentas entre las implementaciones de ERC-4337 en Ethereum y L2.

La cuestión clave es añadir nuevos códigos de operación en un hard fork. Por ejemplo, si la cadena L2 no soporta el hard fork de Shanghái y no se especifica la versión de EVM durante la compilación, la introducción de push0 resultará en un cambio en el bytecode, incluso si el código de Solidity es el mismo.

![¿El futuro de la encriptación de infraestructuras? Análisis de la abstracción de cuentas multichain]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(

Conclusión

Por lo tanto, aquí están algunos conceptos clave y diferencias de implementación sobre la abstracción de cuentas. Podemos ver que, aunque las implementaciones de la abstracción de cuentas en diferentes cadenas tienen un objetivo común, existen muchas diferencias en los detalles específicos. Estas diferencias reflejan las consideraciones únicas de cada cadena en términos de diseño y optimización, y también brindan a desarrolladores y usuarios más opciones. En el futuro, con el continuo desarrollo de la tecnología, esperamos ver más implementaciones innovadoras de la abstracción de cuentas que ofrezcan una mejor experiencia de usuario y funciones más potentes al ecosistema de blockchain.

![¿El futuro de la infraestructura encriptación? Análisis de la abstracción de cuentas de múltiples cadenas])https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(

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
  • 5
  • Compartir
Comentar
0/400
MaticHoleFillervip
· 07-22 02:32
El pato aún no se ha unido a la cadena.
Ver originalesResponder0
TokenUnlockervip
· 07-22 02:32
AA nativo invencible en todo el mundo
Ver originalesResponder0
Anon4461vip
· 07-22 02:29
aa la infraestructura es la verdadera gran tendencia
Ver originalesResponder0
RooftopReservervip
· 07-22 02:25
¿Herramienta de cosecha de tontos de la nueva tecnología AA?
Ver originalesResponder0
WagmiWarriorvip
· 07-22 02:13
No hagas cosas innecesarias, solo asegúrate de que la infraestructura esté bien.
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)