Desarrolladores de Ethereum proponen nuevo tipo de transacción con EIP-7702

La propuesta detalla un nuevo tipo de transacción que mejora temporalmente las cuentas propiedad externa.

Un cubo azul se transforma en un mecanismo de engranaje complejo que representa las actualizaciones de cuenta Ethereum

Compartir este artículo

Un grupo de destacados desarrolladores de Ethereum, incluido Vitalik Buterin, ha propuesto un nuevo tipo de transacción (EIP-7702) para mejorar la funcionalidad y seguridad de las cuentas propiedad externa (EOAs). La propuesta busca abordar problemas comunes como la agrupación de transacciones, el patrocinio y la deescalada de privilegios.

Según el borrador del EIP-7702, el nuevo tipo de transacción «agrega un campo contract_code y una firma, y convierte la cuenta firmante (no necesariamente la misma que tx.origin) en una cartera de contrato inteligente durante la duración de esa transacción.» La propuesta pretende ofrecer una funcionalidad similar al EIP-3074.

La motivación detrás del EIP-7702 es proporcionar mejoras funcionales a corto plazo a las EOAs, aumentando la usabilidad de las aplicaciones y, en algunos casos, permitiendo una mayor seguridad. La propuesta detalla tres aplicaciones particulares: agrupación, patrocinio y deescalada de privilegios.

Mientras que el EIP-3074 resuelve estos casos de uso, los autores del EIP-7702 creen que tiene preocupaciones de compatibilidad futura. Afirman que el EIP-3074 «introduce dos opcodes, AUTH y AUTHCALL, que no tendrían uso en un mundo de ‘abstracción de cuenta final’ donde eventualmente todos los usuarios estén utilizando carteras de contrato inteligente.»

Además, argumentan que el EIP-3074 «conduce al desarrollo de un ecosistema de ‘contrato invocador’ que sería separado del ecosistema de la ‘cartera de contrato inteligente’ ecosistema, llevando a una posible fragmentación de esfuerzos.»

La especificación del EIP-7702 detalla el formato de carga útil de la transacción y el proceso de ejecución de la transacción, que involucra establecer el código del contrato de la cuenta firmante temporalmente y revertirlo a vacío al final de la transacción.

Los autores proporcionan una justificación de cómo el EIP-7702 puede convertir los casos de uso del EIP-3074, indicando que «requiere relativamente poco trabajo para convertir un flujo de trabajo EIP-3074 existente.»

También argumentan que el EIP-7702 está diseñado para ser compatible con futuras abstracciones de cuenta, evitando la creación de ecosistemas de código separados y la necesidad de nuevos opcodes que podrían volverse obsoletos.

A pesar de los beneficios potenciales, los autores reconocen que el EIP-7702 rompe el invariante de que el saldo de una cuenta solo puede disminuir como resultado de transacciones originadas desde esa cuenta, lo que puede tener consecuencias para el diseño del mempool y otros EIPs.

Como con cualquier propuesta que requiera que los usuarios firmen código de contrato, los autores enfatizan la importancia de que las carteras de los usuarios sean cautelosas sobre qué código de contrato firman, destacando las consideraciones de seguridad compartidas con el EIP-3074.

Compartir este artículo

Cargando...