Format d’objet EVM (EFO) Analyse de mise à niveau complète

auteur:Dragan Rakita,Traduction paradigme: bon ouba, Bitt Chain Vision World

EOF (format d’objet EVM)

EOF (Format d’objet EVM) est un ensemble de petits EIP conçus pour améliorer l’EVM.Il présente un nouveau format de code d’octets pour se préparer à l’avenir de l’EVM.

Avantage d’EOF

La valeur de l’EOF est difficile à expliquer car ce n’est pas une seule chose, et parce qu’elle a été retardée dans la fourche et de nombreuses années de développement et de recherche, et l’évolution des différentes versions, l’explication devient plus compliquée.

Le but de cet article est de résumer ces avantages et de les expliquer en une phrase:

Avantages:

  1. EOF permet le changement de tarification du gaz du code de fonctionnement

    • Si le prix du gaz change, le bytecode traditionnel peut être différent.

  2. Retirer l’observation du gaz

    • Cela signifie retirer le code de fonctionnement du gaz et la limite de gaz dans l’appel / delegateCall / StaticCall.

  3. Permettez à L2 de changer de gaz en fonction de son cas d’utilisation

    • Par exemple, le coût élevé du fonctionnement du hachage dans ZK L2.

    • EIP-7667: augmenter le coût du gaz des fonctions de hachage.

  4. Réduire la taille du code d’octet et réduire l’utilisation du gaz

    • Les données précoces indiquent que la taille du code / code d’initialisation et la quantité d’utilisation du gaz diminue:

    • Le déploiement d’UNISWAP-V3 a diminué de 6,5% et le code de déploiement.

    • Déployez uniswapv3factory pour utiliser environ 14% de l’essence moins, appelez RunTest pour utiliser environ 9% de gaz en moins.

    • Le déploiement ENS DnsRegistrar diminue d’environ 6% de code d’initialisation et environ 1,5% du code de déploiement.

    • ENS appelle Proviandclaim: utilisez environ 10% de gaz en moins.

  5. Autoriser la conversion de bytecode et améliorable

    • L’observation du code de suppression signifie supprimer le PC, Create / Create2, Extcodehash, Extcodesize, ExtcodeCopy, Codesize et CodeCopy Operation Code.

    • Si le code est modifié, le contrat traditionnel ne pourra pas s’exécuter.

    • Cela nous permettra de modifier les bytecodes EOF lors de l’introduction de Verkle à l’avenir.

  6. EOF Activer le code d’exploitation

    • Ouvrez la possibilité d’ouvrir Swapn, DUPN et Exchange.

    • Cela offre plus de liberté pour la solidité de la taille de la pile et résout la profondeur de la pile dans la solidité.

  7. Supprimer l’analyse cible de saut coûteuse

    • Dans Reth, les résultats de l’analyse sont conservés avec ByteCode, mais d’autres clients sont différents.Supprimez l’analyse cible de saut avant l’exécution du contrat améliore la vitesse.

    • Avec la suppression de l’analyse, nous pouvons augmenter la taille maximale des bytecodes à l’avenir.

  8. L’analyse statique devient plus facile

    • Les sous-programmes pour les flux de contrôle obligatoires et plus structurels rendent le test flou plus efficace et peuvent réaliser une analyse statique du temps linéaire.

    • La séparation des données et du code est plus facile à raisonner.

  9. Eof bytecode peut être compilé en bytecode plus rapide

    • EOF BYTECODE peut être compilé dans un code machine.

  10. EVM de preuve future

    • La version et la structure du code d’octets lui permettent d’être une évolutivité.Ceci est particulièrement utile pour L2 et la normalisation.

    • Un exemple est EIP-7701: l’abstraction du compte local avec EOF a ajouté une nouvelle partie de tête.

  11. Expansion de l’espace d’adressage

    • Le nouveau code d’exploitation EXT * Call est rempli de zéro en exigeant que le champ d’adresse se prépare à une future expansion d’adresse.Lorsque Ethereum décide d’étendre l’espace d’adressage, l’EOF a été préparé pour ces changements.

    Intégré à l’EVM actuel

    Pour les développeurs, un problème important est l’effort, les coûts de test et le coût de maintien de ces codes d’exploitation requis pour les modifications.

    Le nouveau code d’opération ne sera pas en conflit avec le code d’exploitation traditionnel, et la vérification de l’EOF ne touchera pas le code opérationnel abandonné.

    Le codage et le décodage d’EOF peuvent être flous.La vérification est une nouvelle chose.

    Créez une transaction pour les bytecode EOF, similaire à EOFCreate mais nécessite une vérification avant l’exécution.

    La plupart des codes de fonctionnement sont très simples:

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

      • Il a le même plan que l’appel abandonné, mais supprime les champs de sortie GAS_limit et de mémoire.

      • Avant l’introduction de retourataload (dans une fourche très tôt), la sortie de mémoire du code de fonctionnement de l’appel doit être définie avant d’exécuter le code de fonctionnement de l’appel.Cela ne permet pas la sortie dynamique.

    • Eofcreate et retour

      • Il s’agit du nouveau contenu de l’EOF et nécessite un traitement spécial.

    • Exchange (0xe8), swapn (0xe7), dupn (0xe6), datacopy (0xd3), dataSize (0xd2), dataloadn (0xd1), dataload (0xd0), Rjumpi (0xe1), rjump) v (0xe2), retourDataload

      • La logique est simple, dont la plupart doivent être implémentées par 10 à 20 lignes.Il n’y a pas beaucoup de bords qui doivent être couverts.

    • Callf (0xe3), retf (0xe4) et Jumpf (0xe5)

      • La pile de sous-programme et la vérification de la pile sont nécessaires, et la complexité nécessite environ 20 à 30 lignes.

      • Il a besoin d’un développeur pendant environ 2-3 mois.Les travaux de test ont commencé.À l’heure actuelle, il y a environ 2 000 tests de vérification manuscrits et les tests d’état sont également en cours.

    Le changement est concentré dans l’EVM, donc l’intégration du reste du client dépend de l’architecture du client et de l’emplacement du code d’octets.

    Extcodesize et extcodehash doivent savoir si le compte est EOF et renvoyer la valeur pré-définie (taille 0XEF00 et hachage), ce qui peut légèrement modifier la méthode d’intégration du client.Une idée consiste à enregistrer le logo IS_EOF dans un formulaire de compte normal pour sauter le code d’octet pour charger le code d’octet lors de l’appel d’un code d’exploitation de type Extcode.

    Effet sur L2

    Le plus gros problème est la raison pour laquelle L2 n’implémente pas ces changements?Faut-il arrêter les améliorations EVM sur Ethereum L1?

    La réalité est que L2 n’est pas prêt, pas seulement cela, ils n’ont pas de plate-forme pour aider à intégrer ces innovations.Le contrôle de la version du code contribue à construire une plate-forme qui peut être utilisée par L2. ).

    Plus important encore, l’EOF n’est pas seulement un format, il nécessite également le support du langage (Solidity / Vyper / Huff), et il nécessite le support de la chaîne d’outils.Il faut un écosystème pour l’utiliser.

    Inconvénients: les bytecodes traditionnels existent toujours

    C’est un problème courant.Les occupations traditionnelles existeront éternellement.Avec le bytecode d’un format alternatif, à l’avenir, nous pouvons passer et supprimer le code d’octets traditionnel lorsque l’état expire.

    Résumer

    L’EOF n’est pas la prochaine chose éblouissante.Il est nécessaire pour le développement ultérieur et la preuve future de l’EVM.

  • Related Posts

    Une mort pré-provocatrice: l’argent et la nature humaine derrière la fausse mort de Jeffy

    Jessy, vision de Bitchain Meme in the Currency Circle a publié un nouveau récit: la piste de la mort. Le 6 mai, une nécrologie de la mort de Zerebro Jeffy…

    Binance retirée des étagères mais a grimpé en flèche. Trading extrême du concessionnaire alpaca

    Jessy, vision de Bitchain Selon le bon sens, un jeton est retiré de l’échange, qui est une nouvelle négative majeure. Cependant, cette règle n’a pas été parfaitement reproduite le 2…

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    You Missed

    Cette fois, les investisseurs de détail Ethereum ont vaincu les institutions

    • By jakiro
    • mai 15, 2025
    • 0 views
    Cette fois, les investisseurs de détail Ethereum ont vaincu les institutions

    Sans banque: reconstruire le mécanisme de circulation des produits et de la monnaie d’Ethereum

    • By jakiro
    • mai 15, 2025
    • 0 views
    Sans banque: reconstruire le mécanisme de circulation des produits et de la monnaie d’Ethereum

    9 Expériences d’investissement importantes de Buffett

    • By jakiro
    • mai 15, 2025
    • 0 views
    9 Expériences d’investissement importantes de Buffett

    Wall Street Journal: Pourquoi Buffett a-t-il pris sa retraite?Qui est le prochain successeur?

    • By jakiro
    • mai 15, 2025
    • 1 views
    Wall Street Journal: Pourquoi Buffett a-t-il pris sa retraite?Qui est le prochain successeur?

    Les pets de Fartcoin retentissaient par Wall Street

    • By jakiro
    • mai 14, 2025
    • 5 views
    Les pets de Fartcoin retentissaient par Wall Street

    Huit instructions narratives et projets connexes qui méritent d’être prêts

    • By jakiro
    • mai 14, 2025
    • 7 views
    Huit instructions narratives et projets connexes qui méritent d’être prêts
    Home
    News
    School
    Search