Les estimations de gaz d'Ethereum (ETH) corrigées : explication de la solution et du problème - U.Today
Découvrez comment une nouvelle proposition d'un développeur de Geth vise à corriger les estimations de gaz défaillantes dans Ethereum, améliorant ainsi le succès des transactions et la fiabilité des portefeuilles.

Problèmes d'estimation de gaz sur Ethereum
Les transactions sur Ethereum peuvent sembler réussies, mais un problème sous-jacent pourrait se cacher en coulisses. Un développeur de Geth a proposé une solution pour l'estimation de gaz du client, en réponse à la demande de tirage #36084 sur GitHub. Ce correctif aborde un problème dans l'estimateur actuel, qui pourrait entraîner des limites de gaz incorrectes en raison d'appels internes échoués (lorsqu'un contrat intelligent appelle un autre contrat intelligent) qui sont ignorés. Bien que la transaction puisse toujours être complétée, il n'y a aucune garantie que l'action souhaitée par l'utilisateur ait réellement eu lieu.
Mécanisme des appels internes échoués
Le problème réside dans un mécanisme où un contrat intelligent appelle un autre contrat intelligent, attrape une erreur, puis procède à un remboursement, enregistre l'échec ou saute complètement un élément. Techniquement, la transaction a réussi, mais le résultat est différent pour l'utilisateur. Cela pourrait potentiellement entraîner des portefeuilles suggérant une limite de gaz suffisante pour terminer la transaction, mais pas assez pour accomplir le travail à l'intérieur.
Proposition de mise à jour
Le développeur a également noté que l'EIP-8037 pourrait rendre ce comportement plus courant, puisque le gaz retourné d'une exécution interne échouée peut aider à financer le fallback. Selon la demande de tirage, le changement inclut une définition plus stricte du succès pour les estimations de gaz. Cette version de Geth améliorerait la manière dont elle traite les échecs internes, en comptant les appels internes échoués et les créations de contrats, au lieu de vérifier uniquement si la transaction se termine.
Même si la transaction se termine, l'estimation serait rejetée si elle produit plus d'échecs internes qu'une exécution de référence avec une limite de gaz plus élevée.
Néanmoins, le développeur a souligné qu'un appel interne échoué ne devrait pas faire grimper indéfiniment l'estimation. L'exécution de référence permet à l'estimateur de conserver les échecs existants sans permettre d'autres causés par un gaz insuffisant. La proposition introduit également une référence distincte pour Amsterdam, empêchant les augmentations inutiles faites uniquement pour accéder au réservoir de gaz d'état.
Résultats des tests
Le développeur a déclaré avoir rejoué 432 transactions sur le mainnet avec le nouvel ensemble de règles de la mise à jour Amsterdam, et que le changement proposé a corrigé 64 des 67 cas. La limite de gaz a augmenté de 4 %. De plus, 254 estimations supplémentaires n'ont pas été affectées en raison de l'absence du problème, avec 3 cas restant indétectés.
Impact sur les investisseurs
Pour les investisseurs réguliers, le changement proposé devrait améliorer la fiabilité des estimations de portefeuille et réduire les transactions qui se terminent sans livrer le résultat prévu, malgré l'introduction de limites de gaz plus élevées dans certains cas. Heureusement, il n'y a pas de lien prouvé entre des limites de gaz plus élevées et des frais plus élevés.