Le 18 septembre, quelques heures avant le début de la conférence devcon 2 de la Fondation Ethereum, le blog d'Ethereum postait une alerte de sécurité de type DOS. Elle prenait sa source dans une vulnérabilité découverte dans le blockchain Ethereum, au niveau du block 2283416, et était jugée comme hautement probable et sévère.
Ethereum est une plateforme de blockchain ouverte qui permet aux individus de construire des applications décentralisées, aussi connues sous le nom de DAPPs, grâce à l'usage de couches distribuées. Dans un tel système distribué, les transactions sont enregistrées à travers tous les noeuds du réseau, amenant une plus grande transparence par rapport à un système fermé.
Le bug a provoqué une erreur "out of memory" dans les clients Go Ethereum 1.4.11, appelé Geth, stoppant le ming des autres blocs. Parity, le client Ethereum écrit en Rust, n'était pas affecté sur la même période. Pendant l'absence de Geth, il était recommandé aux mineurs d'ether de passer sur le client Parity.
La transaction qui a exposé la vulnérabilité contenait un message qui incluait le libellé “Fahrt nach Hause” écrit en allemand, ce qui signifie "Rentre chez toi". Quelques contributeurs reddit perçurent ce message comme ciblant les participants au devcon 2. La capture d'écran ci-dessous montre le comportement de la vulnérabilité, en aboutissant à un time out avec le message suivant “fatal error: out of memory”.
Source image : http://pastebin.com/Q77E74G2 via https://www.reddit.com/user/DeviateFish
Alex Van de Sande, UX designer chez Ethereum Foundation et lead de l'équipe Mist Wallet, a tweeté l'image suivante montrant la salle média de la devcon 2 transformée en “war room” où les développeurs Ethereum travaillaient sur la résolution du bug.
Le patch, nommé “From Shanghai, with love (1.4.12)” (Bons Baisers de Shanghai) fut construit, testé et mis à disposition sur GitHub en quelques heures. Cette réponse fut saluée par la communauté Ethereum, dont l'utilisateur reddit actuallymentor : “Je pense que les non développeurs ne comprennent pas à quel point il est extraordinaire d'avoir une réponse aussi rapide des dévs. C'est ce qui met Ethereum à part dans mon esprit. Oui, c'est open source, mais possède aussi une visée professionnelle et engagée. Merci pour l'amour de Shanghai, nous vous aimons aussi”.
Une fois le problème publiquement annoncé, quelques plateformes arrêtèrent les échanges Ethereum, dont Kraken, mais le service reprit rapidement après la publication du patch. Le prix de l'ether chuta à 12,36$ le 18 septembre pour remonter à 13$ le 19. Une fois le bug réglé, Van de Sande annonça que “la somme totale de la vulnérabilité fut un retard de 30 minutes sur le planning des présentations sur la devcon 2”.
Devcon est la conférence annuelle de la Fondation Ethereum qui rassemble les équipes de développement et la communauté pour parler de leurs recherches, des difficultés actuelles et des plans à venir. Dans cette édition, les sujets clé étaient la montée en charge, les états des canaux, le stockage et la sécurité.