Vous avez peut-être raté une excellente occasion de devenir millionnaire Ethereum!
Un bug majeur, classé sous le titre «manipulation du solde du compte Ethereum», permettait d'accéder à un approvisionnement illimité d'éthers dans votre portefeuille en suivant une série d'étapes impliquant une exécution intelligente du contrat avec une transaction défectueuse ou un portefeuille d'adresses défectueux. Mais l'opportunité a disparu, car le bug est maintenant corrigé.
Comment s'est déroulé le drame?
Une fintech néerlandaise appelée VI Company a identifié et signalé la vulnérabilité de Coinbase en décembre de l'année dernière. Le plus grand échange de crypto-monnaie des États-Unis a rapidement pris des mesures, mais il a fallu près d'un mois pour corriger le bogue d'ici la fin du mois de janvier. (Voir aussi Coinbase: qu'est-ce que c'est et comment l'utilisez-vous?)
La société VI a été récompensée par l'échange de Coinbase avec un montant de prime de 10 000 $ pour son rapport sincère sur le problème, et le problème a été rendu public.
Comment le bogue a-t-il permis un approvisionnement illimité en ETH?
Ethereum utilise des contrats intelligents comme partie intégrante de son réseau. La vulnérabilité existait lors du transfert de fonds via des contrats intelligents dans le scénario suivant.
Supposons qu'un utilisateur utilise des contrats intelligents pour distribuer des éthers sur un ensemble de portefeuilles multiples. Cet exercice standard entraînerait de multiples transactions sur le réseau Ethereum. Si une de ces transactions intermédiaires échoue, toutes les autres transactions antérieures seront également annulées en raison du mécanisme de fonctionnement des contrats intelligents. (Voir aussi, Ethereum Smart Contracts Vulnerable to Hacks: 4 millions de dollars en Ether at Risk.)
Cependant, le problème se produit sur le compte Coinbase où ces transactions ne seront pas annulées. Cela a permis à une personne d'ajouter un nombre infini d'éthers à son équilibre. Bien que la recherche de l'adresse du portefeuille Coinbase révèle qu'elle n'est créditée d'aucun éthers, le portefeuille Coinbase de la personne affichera les jetons.
Essentiellement, un utilisateur pourrait utiliser un contrat intelligent pour lancer un transfert de fonds qui est réparti sur des centaines de transactions. Si l'utilisateur définit intentionnellement une transaction défectueuse à la fin, toutes les précédentes seront annulées, créditant son portefeuille du montant cumulé de jetons.
HackerOne répertorie les étapes suivantes par VI Company pour reproduire le problème:
- Configurer un contrat intelligent avec quelques portefeuilles Coinbase valides et un dernier portefeuille défectueux qui lève toujours une exception lors de la réception de fonds contrat intelligent Transférer les fonds appropriés au contrat intelligent Sans quitter le portefeuille de contrat intelligent, commencez à exécuter le contrat intelligent. Il ajoutera la quantité définie d'éther aux portefeuilles Coinbase. Étant donné que la transaction complète échouera au dernier portefeuille, toutes les transactions antérieures seront inversées, mais elles ne seront pas inversées sur le compte Coinbase.La personne qui exécute cette procédure peut maintenant retirer ou transférer les éthers souhaités vers un autre portefeuille.
Bien qu'il n'y ait pas encore de rapport sur de grosses violations ou une mauvaise utilisation en raison de ce bug, Coinbase a confirmé la «perte accidentelle». Dans une note de synthèse, Coinbase mentionne: «Le problème a été résolu en modifiant la logique de gestion des contrats. L'analyse du problème n'a indiqué que des pertes accidentelles pour Coinbase et aucune tentative d'exploitation. »(Voir également, Bitcoin peut-il être piraté?)
