Se espera que la bifurcación dura Fusaka de Ethereum tenga lugar en el tercer o cuarto trimestre de este año, según un funcionario de la Fundación Ethereum.

En un post publicado el 28 de abril en X, el codirector ejecutivo de la Fundación Ethereum, Tomasz Kajetan Stańczak, afirmó que el objetivo de la organización es desplegar la actualización de la red Ethereum Fusaka en el tercer o cuarto trimestre de 2025. Aún no se ha decidido el calendario exacto de despliegue.

Los comentarios se producen en medio de controversias sobre la próxima implementación de la actualización del EVM Object Format (EOF) para la Ethereum Virtual Machine (EVM). Como señaló Stańczak, se espera que EOF forme parte de la actualización de la red Fusaka.

Fuente: Tomasz Kajetan Stańczak

El EVM es el software que ejecuta los contratos inteligentes de Ethereum. EOF implementaría una serie de cambios en el protocolo, conocidos como propuestas de mejora de Ethereum (EIP), con profundas implicaciones en su funcionamiento. EOF introduce un formato contenedor extensible y versionado para el bytecode del contrato inteligente que se verifica una vez en el momento de la implementación, separando el código y los datos para ganar en eficiencia.

Envolver, sellar una vez, enviar

El bytecode es un conjunto compacto de instrucciones de bajo nivel. Los contratos inteligentes Solidity deben compilarse en bytecode antes de que el EVM pueda ejecutarlos.

EOF define un módulo contenedor para el bytecode de los contratos inteligentes, sustituyendo los actuales blobs de bytecode de forma libre por una estructura mejor definida. Estos objetos estarían compuestos por:

  • Un encabezado que comienza con el valor hexadecimal 0xEF00, seguido de un número de versión de un byte para garantizar la capacidad de actualización.

  • Una tabla de secciones que proporciona metadatos sobre el contenido del contenedor. Cada entrada contiene un byte para el tipo de entrada y dos bytes para su tamaño.

  • Secciones con el contenido real, con al menos una sección de código y todas las secciones de datos necesarias (se podrían agregar más tipos de secciones a través de EIP futuros).

Esta estructura agiliza el funcionamiento de EVM, permitiendo una mayor eficiencia y una menor sobrecarga de procesamiento. Esta actualización tendría como resultado un entorno de desarrollo más limpio y contratos inteligentes desplegados más fáciles de entender.

¡No JUMP, pero sí RJUMP!

EIP-4200, una de las propuesta de mejora de Ethereum EOF, proporciona una alternativa a las instrucciones JUMP y JUMPI, que permiten al programa mover la ejecución a cualquier desplazamiento arbitrario de bytes. Este tipo de cadena de ejecución conduce a bugs difíciles de detectar (que el valor JUMP sea erróneo en algunos casos puede no ser fácil de predecir) y facilita esconder malware en blobs de datos y mover el puntero de ejecución allí.

Esta práctica se conoce como salto dinámico, y el EIP-4750 (en revisión) propone desautorizar el JUMP/JUMPI dinámico dentro de los contratos inteligentes EOF, rechazándolos por completo durante una fase posterior del despliegue de EOF. En su forma actual, este EIP las sustituye por llamadas a funciones de llamada (CALLF) y de retorno de función (RETF). Estas nuevas instrucciones garantizarían que los destinos estén codificados en el código de bytes, pero los contratos inteligentes anteriores a la EOF no se verían afectados.

Los desarrolladores que opten por utilizar JUMP o JUMPI tras la actualización tendrán que someter su bytecode a una validación en tiempo de despliegue, que garantice que nunca puedan saltar a datos o en medio de otra instrucción. Esta verificación tendría lugar a través de las reglas de validación de código de EIP-3670, además de la tabla de saltos (EIP-3690), por lo que se comprueba cada destino.

Como alternativa a estas funciones, EOF implementa RJUMP y RJUMPI, que requieren que el destino esté codificado en el código de bytes. Aún así, no todo el mundo está de acuerdo con la implementación de EOF.

EOF tiene sus detractores

EOF es la implementación de 12 propuestas de mejora de Ethereum con profundas implicaciones para la forma de trabajar de los desarrolladores de contratos inteligentes. Sus partidarios argumentan que es eficiente, más elegante y permite actualizaciones más sencillas en el futuro.

Sin embargo, sus detractores sostienen que está sobredimensionado e introduce más complejidad en un sistema ya de por sí complejo como Ethereum. El desarrollador de Ethereum Pascal Caversaccio se lamentaba en un post de Ethereum Magicians del 13 de marzo de que "EOF es extremadamente complejo", ya que añade dos nuevas semánticas y elimina y añade más de una docena de opcodes. Además, argumentó que no es necesario.

Dijo que todas las ventajas podrían introducirse en "actualizaciones más parciales y menos invasivas". Añadió que también habría que mantener el EVM heredado, "«probablemente indefinidamente".

Caversaccio también explicó que EOF requeriría una actualización de las herramientas, lo que entrañaría el riesgo de introducir nuevas vulnerabilidades debido a su gran superficie de ataque. Además, dijo, "los contratos EVM se complican mucho más debido a las cabeceras", mientras que actualmente los contratos vacíos pesan sólo 15 bytes. Otro desarrollador planteó otra cuestión en el hilo:

"Tal vez como un punto meta, parece haber desacuerdo sobre si los grandes cambios EVM son deseables en general. Una máquina virtual estable, en la que se pueda invertir con confianza para crear herramientas y aplicaciones excelentes, es mucho más valiosa".

Caversaccio parece estar en buena compañía en su oposición a EOF. Una encuesta realizada en la plataforma de encuestas de Ethereum ETHPulse muestra que 39 votantes con un total de casi 17.745 Ether (ETH) se oponen a la actualización. Sólo siete holders de menos de 300 ETH votaron a favor.

Smart Contracts, Developers
Grupo de aprobación de implementación de EOF de Ethereum. Fuente: ETHPulse

Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión.