ActualitésCryptoEthereum reporte le testnet Hoodi de Glamsterdam après qu'un risque pour les contrats existants a été signalé par des chercheurs en sécurité

Ethereum reporte le testnet Hoodi de Glamsterdam après qu'un risque pour les contrats existants a été signalé par des chercheurs en sécurité

Auteur: Coindesk·

Points clés

  • •Les développeurs d'Ethereum ont annulé l'activation du testnet Hoodi pour Glamsterdam, prévue le 26 octobre, après que l'analyse de ChainSecurity a soulevé des inquiétudes concernant les règles de gaz proposées.
  • •Selon l'EIP-8037 et l'EIP-8038, les remboursements de gaz liés à l'annulation de changements d'état pourraient laisser aux contrats suffisamment de gaz pour achever des routines de gestion d'échec, transformant des erreurs censées être temporaires en enregistrements permanents sur la chaîne.
  • •ChainSecurity a estimé que la création d'un nouvel emplacement de stockage pourrait coûter 110 020 de gaz selon les propositions, contre 22 100 actuellement, pouvant amener des opérations par ailleurs valides à dépasser les budgets de gaz existants.
  • •Aucune date de remplacement n'a été fixée pour le test Hoodi, l'augmentation prévue de la limite de gaz à 200 millions ou l'activation sur le mainnet, dans l'attente d'une enquête qui sera examinée lors des prochaines réunions All Core Devs.
  • •Glamsterdam avait déjà achevé son activation sur le testnet Sepolia le 6 octobre et comprend un nouveau système de sélection des constructeurs de blocs ainsi que des changements destinés à prendre en charge des blocs plus volumineux.
Ethereum reporte le testnet Hoodi de Glamsterdam après qu'un risque pour les contrats existants a été signalé par des chercheurs en sécurité

Ethereum reporte le testnet Hoodi de Glamsterdam après qu'un risque pour les contrats existants a été signalé par des chercheurs en sécurité

Les développeurs ont annulé l'activation prévue lundi après que ChainSecurity a montré comment les règles de gaz proposées pourraient permettre aux smart contracts d'enregistrer de manière permanente des opérations ayant échoué.

Les développeurs d'Ethereum ont reporté la mise à niveau Glamsterdam sur le réseau de test Hoodi après que des chercheurs en sécurité ont découvert que les changements proposés dans la comptabilité du gaz pourraient modifier la manière dont les smart contracts existants gèrent les transactions ayant échoué — permettant dans certains cas que des erreurs soient enregistrées de façon permanente sur la chaîne.

La mise à niveau devait s'activer le lundi 26 octobre à 17:42:48 UTC. Le report a été décidé lors de la réunion All Core Devs Execution de jeudi, au cours de laquelle les développeurs ont convenu d'étudier d'abord comment les changements proposés interagissent avec les contrats déjà en fonctionnement sur le réseau principal d'Ethereum. Aucune date de remplacement n'a été annoncée pour le test Hoodi ni pour l'augmentation prévue de la limite de gaz à 200 millions, et le calendrier de la mise à niveau sur le mainnet reste non confirmé.

Hoodi est l'un des réseaux de test publics d'Ethereum — des environnements où les mises à niveau à venir fonctionnent avec le même logiciel client que le mainnet avant que des fonds réels ne soient engagés. Révéler des interactions involontaires comme celle-ci est précisément le type de problème que l'étape de répétition générale est censée détecter avant qu'un changement n'atteigne le réseau principal.

Ce que les chercheurs ont découvert

La préoccupation porte sur l'EIP-8037, qui modifie la manière dont Ethereum facture la création de nouveaux enregistrements dans sa base d'état. La proposition vise à limiter la croissance de cette base de données à mesure que le réseau augmente le nombre de transactions qu'il peut traiter.

La société de sécurité ChainSecurity a publié une analyse des propositions le 13 octobre, montrant que ce changement, combiné à l'EIP-8038, pourrait modifier la manière dont les contrats réagissent lorsqu'un contrat qu'ils appellent vient à manquer de gaz — la ressource utilisée pour rémunérer les opérateurs du réseau pour leurs calculs.

Certains smart contracts sont conçus pour intercepter une opération ayant échoué et poursuivre le traitement. Ils peuvent enregistrer qu'une tentative a échoué, désactiver les tentatives suivantes ou passer à une autre étape. Les développeurs s'appuient parfois sur le fait que le gaz restant est trop faible pour que ces actions s'achèvent, provoquant ainsi l'annulation de l'ensemble de la transaction.

Glamsterdam modifie ce calcul. Selon les règles proposées, le gaz utilisé pour créer certains enregistrements peut être restitué lorsque ces changements sont annulés. Il peut ainsi rester à un contrat suffisamment de gaz pour achever une routine de gestion d'échec qui aurait auparavant manqué de gaz et été annulée — ce qui signifie qu'une erreur censée être temporaire par le développeur pourrait devenir permanente Comme les contrats déployés ne peuvent généralement pas être réécrits après coup, de tels changements de comportement doivent être résolus au niveau du protocole lui-même plutôt que dans le code applicatif.

ChainSecurity a également identifié un risque dans la direction opposée. Elle a calculé que la création d'un nouvel emplacement de stockage — l'unité de base des données on-chain d'un contrat — pourrait nécessiter 110 020 de gaz une fois une allocation distincte épuisée, contre 22 100 selon les règles actuelles. Un contrat opérant dans un budget de gaz existant pourrait donc échouer alors qu'il exécute une opération par ailleurs valide.

Les conclusions concernent la manière dont les logiciels existants se comporteraient selon les règles proposées. ChainSecurity a démontré les mécanismes, mais n'a pas établi publiquement qu'un protocole majeur en production soit exploitable. Le mainnet d'Ethereum n'a pas de date d'activation confirmée pour Glamsterdam, et les conclusions n'indiquent pas que des contrats existants soient actuellement exploités via les changements proposés.

Où en est Glamsterdam

Glamsterdam apporte plusieurs changements à Ethereum, notamment un nouveau système de sélection des constructeurs de blocs et des améliorations destinées à permettre au réseau de traiter des blocs plus volumineux. La mise à niveau a achevé son activation sur le testnet Sepolia le 6 octobre. Hoodi devait constituer la prochaine répétition publique, accompagnée d'une augmentation prévue de la limite de gaz du testnet à 200 millions — une étape qui a également été reportée.

Aucune date de remplacement n'ayant été fixée, le calendrier dépend désormais de l'enquête convenue sur la manière dont les propositions interagissent avec les contrats déployés. Toute nouvelle date d'activation pour Hoodi ou pour le mainnet sera arrêtée lors des prochaines réunions All Core Devs — la même enceinte où le report de cette semaine a été décidé.

Cet article est basé sur un reportage publié pour la première fois par CoinDesk : Ethereum delays Glamsterdam test after security devs flag risk to existing contracts. L'analyse complète de ChainSecurity est disponible ici.