Formato de objeto EVM (EFO) Análisis de actualización integral

autor:Dragan Rakita,Traducción del paradigma: Good OUBA, Bitt Chain Vision World

EOF (formato de objeto EVM)

EOF (formato de objeto EVM) es un conjunto de pequeños EIP diseñados para mejorar EVM.Presenta un nuevo formato de código de byte para prepararse para el futuro de EVM.

La ventaja de EOF

El valor de EOF es difícil de explicar porque no es una sola cosa, y porque se ha retrasado en la bifurcación y muchos años de desarrollo e investigación, y la evolución de diferentes versiones, la explicación se vuelve más complicada.

El propósito de este artículo es resumir estas ventajas y explicarlas en una oración:

Ventajas:

  1. EOF permite el cambio de precios de gas del código operativo

    • Si el precio del gas cambia, el bytecodo tradicional puede ser diferente.

  2. Eliminar la observación de gas

    • Esto significa eliminar el código de operación de gas y el límite de gas en la llamada/delegatecall/staticcall.

  3. Permitir que L2 cambie de gas según su caso de uso

    • Por ejemplo, el alto costo de la operación hash en ZK L2.

    • EIP-7667: Aumente el costo de gas de las funciones hash.

  4. Reduzca el tamaño del código de byte y reduzca el uso de gas

    • Los datos tempranos indican que el tamaño del código/código de inicialización y la cantidad de uso de gas disminuyen:

    • El despliegue de UNISWAP-V3 disminuyó en un 6.5%y el código de implementación.

    • Implemente UNISWAP3Factory para usar aproximadamente el 14%de menos gas, llame a Runtest para usar aproximadamente un 9%menos de gas.

    • La implementación de ENS DNSGISTRAR disminuye en aproximadamente un 6%del código de inicialización y aproximadamente el 1.5%del código de implementación.

    • Ens llama a las provincias: use aproximadamente un 10%menos de gas.

  5. Permitir la conversión de Bytecode y actualizar

    • Observación del código de eliminación significa eliminar la PC, Crear/Create2, ExtCodeHash, ExtCodesize, ExtCodeCopy, CodeSize y CodeCopy Operation Code.

    • Si se cambia el código, el contrato tradicional no podrá ejecutarse.

    • Esto nos permitirá modificar el Bytecode EOF al introducir Verkle en el futuro.

  6. EOF habilita el número de código operativo inmediatamente

    • Abra la posibilidad de abrir Swapn, Dupn e Exchange.

    • Esto proporciona más libertad para la solidez al tamaño de la pila, y resuelve la profundidad de la pila en solidez.

  7. Eliminar el análisis de objetivos de salto costoso

    • En Reth, los resultados del análisis se conservan con Bytecode, pero otros clientes son diferentes.Elimine el análisis del objetivo de salto antes de que la ejecución del contrato mejore la velocidad.

    • Con la eliminación del análisis, podemos aumentar el tamaño máximo de código de byto en el futuro.

  8. El análisis estático se vuelve más fácil

    • Los sub -programas para flujos de control obligatorios y más estructurales hacen que la prueba difusa sea más efectiva y puede lograr un análisis estático del tiempo lineal.

    • La separación de datos y código es más fácil de razonar.

  9. EOF Bytecode se puede compilar en Bytecode más rápido

    • EOF ByTecode se puede compilar en un código de máquina.

  10. Prueba futura EVM

    • La versión y la estructura del código de byte permiten que sea escalabilidad.Esto es especialmente útil para L2 y la estandarización.

    • Un ejemplo es EIP-7701: la abstracción de la cuenta local con EOF ha agregado una nueva parte de cabeza.

  11. Dirección de expansión del espacio

    • El nuevo código operativo de llamadas ext*se llena con cero al requerir el campo de dirección para prepararse para la expansión de la dirección futura.Cuando Ethereum decide expandir el espacio de direcciones, EOF se ha preparado para estos cambios.

    Integrado con EVM actual

    Para los desarrolladores, un problema importante es el esfuerzo, los costos de prueba y el costo de mantener estos códigos operativos requeridos para los cambios.

    El nuevo código de operación no entrará en conflicto con el código operativo tradicional, y la verificación de EOF no tocará el código operativo abandonado.

    La codificación y decodificación de EOF puede ser borrosa.La verificación es algo nuevo.

    Cree una transacción para el Bytecode EOF, similar a EOFCreate, pero requiere verificación antes de la ejecución.

    La mayoría de los códigos de funcionamiento son muy simples:

    • ExtCall (0xf8), ExtDelegateCall (0xf9), ExtstaticCall (0xfb)

      • Tiene el mismo plan que la llamada abandonada, pero elimina los campos de salida de Gas_Limit y Memoria.

      • Antes de la introducción de ReturnAtaload (en una bifurcación muy temprana), la salida de memoria del código de funcionamiento de la llamada debe establecerse antes de ejecutar el código de operación de llamadas.Esto no permite la salida dinámica.

    • Eofcreate y returncontract

      • Es el nuevo contenido de EOF y requiere un tratamiento especial.

    • Intercambio (0xe8), swapn (0xe7), dupn (0xe6), dataCopy (0xd3), dataSize (0xd2), dataLoadn (0xd1), dataLoad (0xd0), rjumpi (0xe1), rjump) v (0xe2), returndataload

      • La lógica es simple, la mayoría de los cuales solo deben ser implementados por 10-20 líneas.No hay muchos bordes que necesiten estar cubiertos.

    • Callf (0xe3), Retf (0xe4) y Jumpf (0xe5)

      • Se requiere la pila de subrutina y la verificación de la pila, y la complejidad requiere aproximadamente 20-30 líneas.

      • Necesita un desarrollador durante aproximadamente 2-3 meses.El trabajo de prueba ha comenzado.En la actualidad, hay alrededor de 2,000 pruebas de verificación escritas a mano, y la prueba de estado también está en marcha.

    El cambio se concentra en el EVM, por lo que la integración del resto del cliente depende de la arquitectura del cliente y la ubicación del código de byte.

    ExtCodeSize y ExtCodehash deben saber si la cuenta es EOF y devuelve el valor pre -definido (tamaño 0xef00 y hash), que puede cambiar ligeramente el método de integración del cliente.Una idea es guardar el logotipo de IS_EOF en un formulario de cuenta normal para saltar el código de byte para cargar el código de byte al llamar a cualquier código de operación de tipo Extcode.

    Efecto sobre L2

    El mayor problema es ¿por qué L2 no implementa estos cambios?¿Deberíamos detener las mejoras EVM en Ethereum L1?

    La realidad es que L2 no está listo, no solo eso, no tienen plataforma para ayudar a integrar estas innovaciones.El control de versiones de Byte Code ayuda a construir una plataforma que puede ser utilizada por L2. ).

    Más importante aún, EOF no es solo un formato, sino que también requiere el soporte del lenguaje (solidez/vyper/huff), y requiere el soporte de la cadena de herramientas para usar.Requiere un ecosistema para usarlo.

    Desventajas: todavía existen bytes tradicionales

    Este es un problema común.Las bytas tradicionales existirán para siempre.Con el código de byte de un formato alternativo, en el futuro, podemos hacer la transición y eliminar el código de byte tradicional cuando el estado expira.

    Resumir

    EOF no es la próxima cosa deslumbrante.Es necesario para el desarrollo adicional y la prueba futura de EVM.

  • Related Posts

    Una muerte preprovocativa: el dinero y la naturaleza humana detrás de la muerte falsa de Jeffy

    Jessy, Bittain Vision El meme en el círculo de divisas ha lanzado una nueva narración: la canción de la muerte. El 6 de mayo, se liberó un obituario de la…

    Binance retirado de los estantes pero se disparó. Comercio extremo del concesionario de Alpaca

    Jessy, Bittain Vision Según el sentido común, se elimina un token del intercambio, lo cual es una gran noticia negativa. Sin embargo, esta regla no se ha reproducido perfectamente el…

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    You Missed

    Esta vez, los inversores minoristas de Ethereum derrotaron a las instituciones

    • Por jakiro
    • mayo 15, 2025
    • 0 views
    Esta vez, los inversores minoristas de Ethereum derrotaron a las instituciones

    Bankless: Reconstrucción del mecanismo de circulación de productos y moneda de Ethereum

    • Por jakiro
    • mayo 15, 2025
    • 0 views
    Bankless: Reconstrucción del mecanismo de circulación de productos y moneda de Ethereum

    9 Experiencias importantes de inversión de Buffett

    • Por jakiro
    • mayo 15, 2025
    • 0 views
    9 Experiencias importantes de inversión de Buffett

    Wall Street Journal: ¿Por qué se retiró Buffett?¿Quién es el próximo sucesor?

    • Por jakiro
    • mayo 15, 2025
    • 1 views
    Wall Street Journal: ¿Por qué se retiró Buffett?¿Quién es el próximo sucesor?

    Los pedos de Fartcoin resonaron a través de Wall Street

    • Por jakiro
    • mayo 14, 2025
    • 3 views
    Los pedos de Fartcoin resonaron a través de Wall Street

    Ocho instrucciones narrativas y proyectos relacionados que vale la pena prestar atención a

    • Por jakiro
    • mayo 14, 2025
    • 5 views
    Ocho instrucciones narrativas y proyectos relacionados que vale la pena prestar atención a
    Home
    News
    School
    Search