Artículo

Una guía breve y sencilla sobre la abstracción de cuentas y EIP-4337

Escrito por Kiwi Yao, investigador @OKX Ventures

La abstracción de cuentas (AA) ha sido un tema candente recientemente en el espacio cripto por su influencia revolucionaria en la gestión de cuentas individuales en Ethereum. Al simplificar numerosos puntos débiles, esta podría ser la propuesta que reduzca la barrera de entrada para los no nativos de las criptomonedas. Estos beneficios incluyen desacoplar las fuentes de transacciones de las firmas y brindar a los usuarios más flexibilidad en la seguridad de las cuentas.

¿Quieres saber más? Aquí encontrarás todo lo que necesitas saber para comprender la AA con la propuesta EIP-4337.

¿Qué es la abstracción de cuentas?

Antes de profundizar en la AA, es importante comprender primero los tipos de cuentas en Ethereum. Estas incluyen cuentas de propiedad externa (EOA) y cuentas de contrato (CA). Las EOA están controladas por claves privadas y frases iniciales, mientras que las cuentas de contrato están controladas por contratos inteligentes. La AA se refiere al proceso de desvincular las fuentes de transacciones de las firmas y actualizar las EOA a CA. Esto dará a los contratos inteligentes control sobre las EOA y permitirá la creación de billeteras de contratos inteligentes, lo que mejorará la experiencia general de los titulares de cuentas y desbloqueará una mayor flexibilidad de gestión de cuentas.

Por qué la AA es útil

La AA es muy bien recibida por la comunidad Ethereum porque simplifica todo el proceso de administración de cuentas. Algunos beneficios incluyen ofrecer más flexibilidad a acciones rígidas on-chain y permitir mayores opciones de seguridad. Solo con estas mejoras, la AA mejora en gran medida la experiencia general de interactuar con el ecosistema Ethereum a medida que se solucionan numerosos inconvenientes y puntos débiles.

La historia de Ethereum con la AA

Antes de repasar la historia de la AA, primero comprendamos las diversas propuestas de mejora de Ethereum (EIP) que desempeñan un papel en la situación actual de la AA.

EIP-2938 implica crear cuentas de "alto nivel" de CA capaces de pagar tarifas y ejecutar transacciones. EIP-3074 introduce dos nuevos OpCodes para permitir que las EOA utilicen contratos. Estos OpCodes son AUTH y AUTHCALL, que permiten a las EOA delegar sus acciones en un contrato. En última instancia, esto permite a los desarrolladores diseñar objetos de transacción y mecanismos de verificación dentro de un marco más flexible.

EIP-4337 revela el grupo de memoria de operaciones de usuario (operaciones de usuario), que es una nueva lógica operativa que reemplaza el grupo de memoria de transacciones actual y habilita la AA.

Si bien la AA se mencionó por primera vez como parte de EIP-2938 y EIP-3074 en 2020, los cambios sugeridos finalmente quedaron en suspenso. Esto se debió a la necesidad de realizar cambios profundos en el protocolo Ethereum. Con la introducción de EIP-4337, la AA será posible sin necesidad de cambios de protocolo.

Comparación con otras soluciones de abstracción de cuentas

Aunque EIP-4337 puede parecer complejo para los principiantes de Ethereum, la solución de AA anterior, EIP-3074, implicó la introducción de dos nuevos códigos de operación. Como esto implicó cambios extensos en la capa de consenso en Ethereum, la propuesta finalmente se detuvo y quedó en suspenso.

Una inmersión profunda en EIP-4337

Core components of ERC-4337
An illustration showing the core components of ERC-4337

Fuente: OKX Ventures

Dado que EIP-4337 es la última propuesta para habilitar la AA, es importante comprender cómo lo logra y la diferencia entre EIP-4337 y sus predecesores. Aquí hay algunos términos clave:

  • UserOperation es un objeto que se realiza para que el individuo envíe una transacción.

  • El punto de entrada es un contrato que ejecuta transacciones de paquetes de operaciones de usuario.

  • Bundler es un nodo que maneja las operaciones del usuario como una transacción de bundler y agrega transacciones de punto de entrada al bloque mientras aún son válidas.

  • Los contratos de billetera son cuentas de contratos inteligentes propiedad del usuario

  • Wallet Factory es un contrato inteligente que puede crear nuevas billeteras de contratos inteligentes bajo demanda para individuos.

  • Los agregadores son contratos de ayuda en los que las cuentas confían para validar firmas agregadas. Luego, los bundlers incluyen en la lista blanca los agregadores admitidos.

  • Los paymasters son contratos encargados de poner lógica personalizada en la blockchain. Esto incluye permitir la flexibilidad de pago de gas en cualquier moneda en cualquier red.

EIP-4337 simplifica el proceso de AA con la introducción de bundler, contrato de punto de entrada, paymaster, fábrica de billeteras, agregador de firmas y operaciones de usuario.

Cuando un individuo quiere enviar una transacción, crea una operación de usuario. Una operación de usuario contiene toda la información necesaria para enviar una transacción, pero aún no está firmada por el individuo.

Luego, la operación del usuario se envía a un bundler, que es un contrato inteligente que agrupa las operaciones del usuario en una sola transacción. Luego, el bundler envía la transacción al contrato de punto de entrada que identifica y valida las operaciones del usuario asociadas con las billeteras de contratos inteligentes.

Finalmente, después de la validación, las billeteras de contratos inteligentes asociadas con las operaciones del usuario implementan la función ExecuteUserOp, que ejecuta las transacciones.

Comprender el flujo de transacciones

A continuación se muestra un ejemplo de cómo se produciría una transacción según la nueva propuesta habilitada para la AA.

Iniciar el proceso de transacción

La cuenta expresa su intención creando una operación de usuario. Una operación de usuario puede acceder a datos relacionados con la dirección del remitente, que incluye 'maxFeePerGas' y 'maxPriorityFee'. En cuanto al acceso al uso del campo de 'firma', cada instancia de acceso está determinada por la implementación de la cuenta en lugar del protocolo existente. Luego, cada operación de usuario se envía a un grupo de memoria de operaciones de usuario dedicado.

Envío de transacciones

Luego, las operaciones del usuario son manejadas por validadores, que agrupan estas operaciones del usuario en un grupo de memoria separado. Con el bundler actuando como creador de bloques, las operaciones del usuario se agregan al bloque mientras las transacciones del punto de entrada aún se consideran válidas. Incluso si el bundler no es un creador de bloques, puede lograrlo trabajando con la infraestructura de creación de bloques. Algunos ejemplos de dicha infraestructura incluyen mev-boost, proposer-builder separation, y experimental eth_sendRawTransactionConditional RPC APIs.

Identificar transacciones

Después del proceso de envío anterior, las operaciones del usuario se envían al contrato de punto de entrada, que ejecuta los paquetes de operaciones del usuario. Para aceptar las operaciones del usuario, el bundler debe hacer uso de la función validateUserOp para validar la firma de las operaciones del usuario. Después de hacerlo con éxito, los bundlers incluyen en la lista blanca el contrato de punto de entrada admitido.

Ejecutar transacciones

Finalmente, la transacción se completa mediante la billetera de contrato inteligente, que implementa la función ExecuteUserOp. Los bundlers empaquetan un conjunto de estos objetos de operación de usuario en una transacción e inician una llamada de función en el contrato inteligente handleOps EntryPoint. Luego, esta transacción se incluye en un bloque.

Comparación de billeteras cripto EOA, MPC y AA

¿Tienes curiosidad por las diferencias entre los distintos tipos de billeteras cripto? Aquí hay una tabla útil que resume las similitudes y diferencias.

billetera EOA

billetera MPC

billetera AA

Tipo de cuenta

EOA

EOA

CA

Costo de creación

Bajo

Bajo

Alto

Tarifas de gas

Bajo

Bajo

Alto

Método de pago de gas

Único

Único

Multidivisa, permite tokens de terceros y

Transacciones por lotes

Ninguno

Ninguno

Disponible

Método de firma

ECDSA

ECDSA

Varios métodos de firma

Gestión de claves privadas

Requerido

Requerido

No requerido

Recuperación de billetera

Ninguno

Ninguno

Disponible

Requisito de auditoría

Auditoría de seguridad básica

Política de autorización de firma off-chain, se necesita consideración de transparencia

Se requiere auditoría de los contratos on-chain y del pool de demanda

Seguridad

Sin estándar, baja seguridad

Posible recuperación sin conexión en dispositivos confiables

Seguridad a nivel de cadena lograda después de EIP-4337

Compatibilidad del ecosistema

Fuerte

Débil

Moderado

Eliminación del punto único de falla

Imposible

Posible

Posible

¿En qué se diferencia EIP-3074 AA de EIP-4337 AA?

EIP-3074 se suspendió porque era un EIP central y requería cambios en la capa de consenso. Fue necesario introducir dos nuevos OpCodes para permitir que las cuentas EOA utilicen el contrato. Esto viene con su propio conjunto de ventajas y desventajas al considerar la versión de AA de EIP-3074.

Ventajas

El factor más importante a favor del AA de EIP-3074 es que permite a los usuarios delegar el control de su EOA a un contrato. Esto brinda a los desarrolladores un marco flexible para desarrollar esquemas de transacciones novedosos para EOA, como el trading por lotes, el trading empaquetado y el pago flexible de gas.

Otra ventaja es que la solución AA de EIP-3074 implica el uso de contratos de invocador, que aceptan pagos en tokens distintos a ETH. Estos intermediarios ejecutan transacciones entre patrocinadores y patrocinados.

Además, la solución de AA de EIP-3074 permite que cualquier EOA actúe como una billetera de contrato inteligente sin implementar un contrato.

Desventajas

Una gran razón por la que EIP-3074 no es el preferido entre la comunidad Ethereum es que implica cambios en la capa de consenso. Esto puede ser desastroso ya que puede ser necesario un hard fork para resolver cualquier problema que surja debido a cambios en la capa de consenso.

Dado que EIP-3074 permite que las EOA tengan las características de las CA, todavía utiliza una firma ECDSA fija en el mecanismo de firma. Esto evita el uso de firmas arbitrarias.

La introducción de EIP-5003

Aunque EIP-3074 se suspendió, esto no significa que la propuesta se haya abandonado por completo. EIP-5003 presenta AUTHUSURP OpCode, que implementa código en direcciones autorizadas EIP-3074.

EIP-5003 trabaja junto con EIP-3607 para revocar la autoridad de la clave de firma original para las EOA. Por ejemplo, EOA uno ha autorizado a la dirección dos para actuar en su nombre según EIP-3074. Gracias al OpCode AUTHUSURP, la dirección dos puede configurar los códigos EOA. Esto permite efectivamente que una EOA existente se actualice a una CA y le otorga la capacidad de migrar de firmas ECDSA a un método de firma más eficiente y seguro.

Conclusión

A medida que Ethereum continúa innovando en la búsqueda de una adopción masiva, vemos que se resuelven muchos puntos débiles gracias a la introducción de la solución AA de EIP-4337. Con la AA, estamos presenciando beneficios como mayores opciones de seguridad y flexibilidad en el pago de gas que reducirán en gran medida la barrera de entrada al interactuar con el ecosistema Ethereum.

Consulta este espacio para obtener más actualizaciones sobre cómo OKX integrará EIP-4337 en nuestra billetera multicadena.

Aviso legal
Este artículo puede incluir contenido sobre productos que no están disponibles en tu región. Se proporciona solo con fines informativos generales, y no se acepta ninguna responsabilidad por ningún error de hecho u omisión que aquí se expresen. Representa las opiniones personales del autor(es) y no las de OKX. No tiene la intención de proporcionar ningún tipo de asesoramiento, por ejemplo, (i) asesoramiento o recomendaciones de inversión, (ii) una oferta o solicitud de compra, venta o holding de activos digitales, ni (iii) asesoramiento financiero, contable, legal o fiscal. Los holdings de activos digitales, incluidos stablecoins y NFT, implican un alto nivel de riesgo, pueden fluctuar considerablemente e incluso pueden perder valor. Debes considerar cuidadosamente si el trading o holding de activos digitales es adecuado para ti según tu situación financiera. Consulta a tu profesional legal, fiscal o de inversiones si tienes preguntas sobre tus circunstancias específicas. Las funciones de OKX Web3, como OKX Web3 Wallet y el mercado de NFT de OKX, están sujetas a condiciones del servicio distintas en www.okx.com.
© 2023 OKX. Este artículo se puede reproducir o distribuir en su totalidad, o pueden usarse extractos de 100 palabras o menos de este artículo, siempre que este uso no sea comercial. Cualquier reproducción o distribución del artículo completo también debe indicar de forma prominente: "Este artículo es © 2023 OKX y se utiliza con permiso". Los extractos permitidos deben citar el nombre del artículo e incluir la atribución, por ejemplo, "Nombre del artículo, [nombre del autor si corresponde], © 2023 OKX”. No se permiten trabajos derivados ni otros usos de este artículo.
Expandir
Artículos relacionados
Ver más
Ver más