EIP-7702

Intermedio

¿Qué es EIP-7702?

EIP-7702 es una propuesta diseñada para mejorar las capacidades de las cuentas de propiedad externa (EOA). Las EOA son cuentas básicas en la red Ethereum que puede enviar transacciones e interactuar con contratos inteligentes. Sin embargo, carecen de ciertas funcionalidades que se encuentran en ciertas billeteras de criptomonedas, como el procesamiento por lotes de transacciones y el patrocinio del gas.
La EIP-7702 tiene como objetivo permitir temporalmente que las EOA se comporten como cuentas de contratos inteligentes dentro de una sola transacción, introduciendo así características que normalmente están reservadas para las billeteras de contratos inteligentes. EIP-7702 se creó en respuesta a algunas limitaciones y críticas de EIP-3074.

Aunque EIP-7702 no está activa actualmente, cuenta con un notable apoyo de la comunidad y muchos creen que podría reemplazar la propuesta EIP-3074. Si esto sucede, EIP-7702 podría implementarse en la actualización de Ethereum Pectra, prevista para finales de 2024.

¿Cómo funciona EIP-7702?

EIP-7702 presenta un nuevo tipo de transacción en la red Ethereum que incluye un campo especial llamado contract_code. Esto otorga a una EOA ciertas propiedades de contrato inteligente durante la transacción. Veamos cómo funciona.

Preparación de transacciones

El usuario empieza preparando una transacción, incluidos los detalles habituales como la dirección de destino, el límite de gas y cualquier dato que deba enviarse. Además de estos detalles, incluye un código especial de contrato inteligente en el campo contract_code. Este código describe las funcionalidades de los contratos inteligentes que se asignarán temporalmente a su EOA.

Autorización 

A continuación, el usuario firma la transacción. Esta firma es crucial, ya que autentica la transacción e incluye una lista de autorización. Esta lista detalla el contract_code y las condiciones en las que debe ejecutarse. Básicamente, verifica y autoriza la asignación temporal del código del contrato inteligente a la EOA.

Ejecución

Cuando la transacción se envía a Ethereum, la red la procesa asignando temporalmente el contract_code a la EOA. Durante esta fase, la transacción se procesa como si la EOA fuera un contrato inteligente, utilizando las funcionalidades proporcionadas por el contract_code.

Reversión

Una vez completada la transacción, la red Ethereum elimina automáticamente el contract_code de la EOA. La EOA vuelve a su estado original, perdiendo las capacidades temporales de contrato inteligente.

Analogía de entrega

Imagina que Bob es un repartidor con un auto estándar que solo puede llevar paquetes pequeños. Un día, Bob recibe una solicitud de entrega de un paquete más grande. Así que, en lugar de rechazar la orden, decide alquilar una caja de carga adicional para adjuntarla al auto. Entrega el paquete y devuelve la caja de carga a la tienda de alquiler, volviendo el auto a su estado original.

En esta analogía:

  • El auto estándar es la EOA.

  • La caja de carga temporal es el contract_code que proporciona capacidades adicionales.
  • El viaje de entrega es la transacción.

  • Alquilar y devolver la caja de carga representa la naturaleza temporal del contract_code, que solo está activo durante la transacción.

Ventajas de EIP-7702

Seguridad

Al eliminar automáticamente el código de contrato temporal después de la transacción, EIP-7702 reduciría el riesgo de acciones no autorizadas. Esto garantiza que las mejoras solo estén activas durante la transacción, lo que limita las posibles vulnerabilidades.

Flexibilidad

EIP-7702 permitiría varios usos, como el procesamiento por lotes de transacciones, donde se pueden combinar varias acciones en una sola transacción. También admitiría el patrocinio de gas, permitiendo que una cuenta pague las comisiones de transacción de otra cuenta.

Adopción de billeteras inteligentes

Al permitir que las EOA funcionen temporalmente como contratos inteligentes, EIP-7702 podría fomentar el uso de funciones de billetera inteligente sin los riesgos de seguridad asociados con los cambios permanentes en las EOA.

Conclusión

EIP-7702 es una propuesta que aborda las limitaciones de las EOA otorgándoles temporalmente capacidades de contrato inteligente. Esto puede mejorar la seguridad al limitar la duración de las funcionalidades de los contratos inteligentes a la duración de una sola transacción. También puede proporcionar más flexibilidad a través del lote de transacciones, el patrocinio de gas y otras características.

Aunque su futuro todavía no es seguro, el importante apoyo que recibe EIP-7702 indica una gran posibilidad de que se incluya en la próxima actualización de Ethereum Pectra, prevista para finales de 2024.