- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
Le « hard fork » non annoncé d'Ethereum visait à empêcher la perturbation qu'il a provoquée.
Un hard fork qui a divisé la chaîne Ethereum en deux a été activé volontairement, remettant en question la coordination des clients d'Ethereum.

À retenir :
- La majeure partie de l'écosystème DeFi d'Ethereum s'est éteinte plus tôt dans la journée après qu'un bug latent dans le code Ethereum a divisé l'historique des transactions du réseau en deux.
- La scission résulte d'un changement de code qui a été inséré subrepticement dans une mise à jour précédente de Geth ; certains opérateurs de nœuds Ethereum ont ignoré la mise à jour, qui, ironiquement, était censée empêcher la scission même qui s'est produite.
- Les nœuds qui n’ont pas été mis à niveau avaient l’impression que la mise à jour était mineure et ne savaient pas qu’elle incluait une modification de la conception du consensus d’Ethereum.
- Une autopsie Une information publiée aujourd'hui par Geth indique que le bug a été déclenché intentionnellement. Ce cas constitue peut-être le plus grand défi d'Ethereum depuis le fork de la DAO en 2016, et il soulève des questions sur la décentralisation souvent vantée d'Ethereum et sur l'efficacité de la coordination des développeurs dans Ethereum 2.0.
D'abord, c'était un problème apparent avec Infura, les serveurs gérés par ConsenSys qui KEEP la majorité des applications Finance décentralisées (DeFi) synchronisées avec le réseau Ethereum .
Infuraest descendu autour de8h00 UTC mercredi, et avec elle, certaines des applications Ethereum les plus populaires comme Metamask, MakerDAO, Uniswap, Compound et MyCrypto, entre autres. Peu après, Binance arrêt des échanges Ethereum Après avoir constaté des transactions conflictuelles sur son nœud Ethereum , d'autres plateformes d'échange ont suspendu leurs échanges, et le véritable problème est devenu évident : un bug dans le client Go Ethereum (Geth), dont le code sous-tend 80 % des applications d'Ethereum, avait divisé la blockchain Ethereum en deux.
Sur le même sujet : Les développeurs Ethereum retardent le hard fork de Berlin pour apaiser les inquiétudes concernant la centralisation des clients.
Les deux historiques de transactions contradictoires ont obligé les utilisateurs d'Ethereum à interagir temporairement avec différentes versions de la blockchain Ethereum . Au-delà des retards, cela a mis en péril les fonds des utilisateurs en bloquant la plupart des applications DeFi d'Ethereum pendant quelques heures.
Infura a résolu le problème, tout comme d'autres fournisseurs de services affectés par ce problème, en mettant à jour leurs nœuds. Ces acteurs utilisaient une ancienne version de Geth, qui contenait un bug que les développeurs Ethereum ont discrètement corrigé lors d'une mise à jour récente – une mise à jour qu'Infura et Blockchair, entre autres, ont ignorée.
Outre ces deux fournisseurs de services, d'autres utilisateurs Ethereum et fournisseurs de portefeuilles ont également été touchés car ils n'ont T mis à jour leur code, ont déclaré les développeurs à CoinDesk.
Le fiascoa des critiques qui le contestent La décentralisation perçue d'Ethereum, tandis que les parties prenantes se demandent pourquoi le changement a été poussé en Secret sans coordination entre Geth et les autres équipes de développement.
Pour certains, la scission est le défi le plus urgent pour Ethereum depuis le tristement célèbre piratage de DAO de 2016.
In my opinion, today’s consensus failure in #Ethereum🦄 shouldn’t be underestimated and should be considered as the most serious issue Ethereum has faced since the DAO debacle 4 years ago. An investigation is in order.
— Nikita Zhavoronkov (@nikzh) November 11, 2020
La scission de la chaîne Ethereum : comment cela s'est produit
Dans un article qui vient d'être publiéautopsie, Péter Szilágyi, chef d'équipe chez Ethereum, a écrit qu'un fork "a été (délibérément) déclenché sur le réseau Ethereum ".
Un représentant deOptimism, un projet de mise à l'échelle Ethereum , récemment publiéque le projet a délibérément déclenché le bug corrigé par la mise à jour Geth, déclenchant ainsi le fork.
Lorsque le fork s'est produit, il a créé deux versions du registre des transactions Ethereum : une avec les transactions des clients Geth mis à jour et une avec les transactions des anciens clients Geth (comme Infura).
« Le correctif a été déployé il y a plusieurs mois et c'est seulement aujourd'hui qu'une transaction qui a provoqué cette scission est arrivée », a déclaré Nikitia Zhavoronkov, le développeur principal de Blockchair, un explorateur de blocs Ethereum qui a été affecté par le fork, à CoinDesk dans un message direct.
Sur le même sujet : Ethereum a-t-il Guides quelque chose de l’attaque DAO de 55 millions de dollars ?
Pensant que la mise à jour était « un changement mineur du code », Blockchair ne s'est T donné la peine de la mettre à jour car ça ne vaudrait T la peineL'interruption de leurs services. Mais plus que mineur, les développeurs ont apparemment apporté une modification discrète au mécanisme de consensus de Geth dans la mise à jour.
« L’équipe Geth a effectivement changé le consensusmise en œuvre dans la version v1.9.17, cependant, l'équipe n'a créé aucune nouvelle règle que la communauté Ethereum ne connaissait T ou n'acceptait pas », écrit Szilágyi dans le message, affirmant que ces règles ont été définies dans un Proposition d'amélioration Ethereumil y a trois ans.
« Si vous ne considérez T l'introduction accidentelle d'un bug comme une « mise à niveau consensuelle », alors vous ne devriez pas non plus considérer la correction dudit bug quelques mois plus tard comme une « mise à niveau consensuelle » », a-t-il soutenu.
Une autre autopsieUn rapport publié par la Fondation Ethereum le 12 novembre indique que l'exploit s'est produit « au bloc 11234873, transaction 0x57f7f9 », ajoutant que la chaîne minoritaire pour les nœuds désynchronisés était longue d'environ 30 blocs.
Un appel à la transparence
Ironiquement, le fork a été causé par le bug de consensus que la mise à jour de Geth cherchait à résoudre.
Le programme de primes Ethereumrécemment reconnuJohn Yang, nouveau venu dans la communauté open source d'Ethereum, pour avoir découvert cette vulnérabilité et une autre. Martin Swende, développeur de Geth et expert en sécurité Ethereum. tweeté les modifications apportées à la mise à jour corrigent les problèmes révélés, laissant entendre que la débâcle est un « rappel pour KEEP votre/vos nœud(s) à jour ! »
Swende continue dedire dans le fil de tweetLes développeurs n'ont pas annoncé ce changement majeur pour éviter d'attirer l'attention sur la faille. Szilágyi a expliqué que la correction « silencieuse » du bug avait entraîné moins de perturbations.
According to this not only did ETH have one of its worst bugs ever but the devs botched the disclosure of it and didn’t even mention it to likely the largest operator of ETH full nodes. https://t.co/Ksasw6haHT
— Matt Corallo (@TheBlueMatt) November 11, 2020
Pourtant, d’autres acteurs Ethereum se demandent pourquoi le bug n’a pas pu être divulgué en privé avec les équipes qui construisent sur Geth.
« Chaque projet majeur avec lequel l'équipe de développement est en contact étroit devrait avoir un contact de sécurité qui peut aider à gérer et coordonner une mise à niveau en douceur, et nous devrions travailler ensemble », a déclaré Matt Luongo, le fondateur de Thesis, à CoinDesk.
« Lorsque les forks sont des surprises, quiconque a construit sur Ethereum comme nous l’avons fait pourrait perdre de l’argent », a-t-il poursuivi.
La thèse construit leKeep Network, qui émet du tBTC, une forme de tokenisationBitcoin pour la blockchain Ethereum . Luongo a déclaré que le fork mettait en danger les fonds des utilisateurs de tBTC, mais pas à cause de la division de la chaîne, qui a été résolue après qu'Infura et d'autres ont mis à jour leurs clients Geth.
En raison de cette interruption, les utilisateurs qui staking Ethereum sur Keep Network ne pouvaient T se coordonner avec la chaîne principale Ethereum ; ils risquaient donc de voir une partie de leurs mises « supprimées » pour non-respect de leurs obligations fiduciaires. Thesis a indiqué à CoinDesk qu'aucun Bitcoin servant de garantie aux jetons tBTC n'avait jamais été menacé.
De plus, le cas de Thesis n’est ONE exemple de la perturbation que la fourche a créée pour quiconque a essayé d’utiliser la « chaîne minoritaire » pendant la scission.
Malgré les problèmes causés par la scission, les prix de l'éther, la Cryptomonnaie native de la blockchain Ethereum , ont augmenté de 4,6 % mercredi après l'annonce de la nouvelle, ce qui suggère que les traders voient peu de menace systémique ou à long terme liée à ce problème.
Ramasser les morceaux
Zhavoronkov a déclaré que le problème n'était pas intentionnel, mais que « si [Geth] savait qu'une telle chose pouvait arriver, ils auraient dû préparer un guide pour les opérateurs de nœuds ». Luongo a partagé des frustrations similaires, affirmant que l'équipe de Geth est composée de « bons développeurs », mais qu'elle manque d'« expérience dans la gestion d'infrastructures » et qu'elle est « sous-financée ».
Les commentaires mettent l'accent sur la frustration de certains acteurs Ethereum quant à la raison pour laquelle Geth a gardé Secret le changement de consensus. Plus précisément, pourquoi Infura, pilier de l'écosystème Finance décentralisé d'Ethereum, entre autres, n'a-t-il pas eu connaissance d'un bug perturbant le consensus dans le code d'Ethereum ? avant ça a été déclenché ?
We’ve had to discretely fix bugs in Monero (on several occasions) for fear of them being exploited if the fix is made public, and this is exactly how we’ve gone about it, eg. in this instance in 2017.https://t.co/lnxhtZDZEz
— Riccardo Spagni (@fluffypony) November 11, 2020
« Il s'agit BIT' une zone grise qui nécessite une analyse au cas par cas », explique Szilágyi dans son article. « Nous sommes tous d'accord sur le fait que la transparence est primordiale et que nous devons nous efforcer d'y parvenir autant que possible, mais il est également important d'examiner tous les détails avant que des têtes ne tombent. »
Dans le cas d' Ethereum, il faut beaucoup de temps (des semaines, voire des mois) pour que les opérateurs de nœuds mettent à jour, même en cas de hard fork programmé. Mettre en avant le fait qu'une version contient des correctifs importants pour les problèmes de consensus ou de déni de service comporte toujours le risque que quelqu'un tente de devancer les responsables de la mise à jour et paralyse le réseau. La sécurité par l'obscurité n'est certainement pas un objectif à atteindre, mais retarder une attaque potentielle suffisamment pour immuniser la plupart des opérateurs de nœuds peut valoir le coup de pouce temporaire porté à la transparence », a-t-il poursuivi.
En fin de compte, l’équipe de Geth a estimé qu’il y avait trop de risques à divulguer la vulnérabilité, et a donc décidé que diffuser la mise à jour subrepticement présentait le moins de risques.
« Nous pensons que cela a effectivement fonctionné », affirme Szilágyi. Même si la mise à jour « a pris une tournure inattendue avec la coupure du réseau hier », l'équipe de Geth estime toujours que garder le problème secret « était la bonne décision ».
Alors Ethereum s'approche de sa plus grande mise à niveau jamais réalisée dans ETH 2.0, le cas pourrait être une étude critique de la coordination client pour l'écosystème Ethereum .
« Le plus important ici, à mon avis, c'est que les personnes qui ont pris cette décision soient transparentes quant à leur raisonnement, reconnaissent leurs erreurs et progressent », a déclaré Luongo. «Monero a bien géré les bugs de consensus par le passé, tout comme Bitcoin et Zcash. Les exemples sont nombreux, et s'il est toujours délicat de coordonner les activités d'un secteur, se priver de toute forme de coordination est extrêmement dangereux. »
« J'espère que ce fork conduira à des relations plus étroites et à une nouvelle réflexion sur la manière dont les projets sur Ethereum interagissent avec le développement client. »
Mise à jour 00:36 UTC 12 novembre– Cet article a été mis à jour pour mieux faire comprendre que le « hard fork » n'était pas un changement de code délibéré, mais une division de chaîne déclenchée par le bug de consensus que les développeurs Ethereum ont discrètement corrigé dans la version Geth v1.9.17.
Mise à jour 21h02 UTC 12 novembre- Cet article a été mis à jour pour inclure des informations provenant d'une étude post-mortem de la fondation Ethererum concernant la scission.
Colin Harper, Blockspace Media
Colin writes about Bitcoin. Formerly, he worked at CoinDesk as a tech reporter and Luxor Technology Corp. as head of research. Now, he is the Editor-in-Chief of Blockspace Media, and he also freelances for CoinDesk, Forbes and Bitcoin Magazine. He holds bitcoin.
