3 façons radicales de détruire Ethereum 2.0
Peur sur Ethereum 2 ? – Ethereum est en passe de connaître l’une des plus importantes mises à jour de son histoire avec le déploiement de sa version 2.0. Cependant, le passage du proof of work (PoW) au proof of stake (PoS) ne sera pas une démarche dénuée de risque. Des chercheurs font le point sur la situation.
La grande mise à jour d’Ethereum
Le réseau Ethereum, tel qu’on le connaît, assure le fonctionnement de son consensus via un mécanisme de proof of work, similaire à celui de Bitcoin. Toutefois, dès son lancement les développeurs, dont le co-fondateur Vitalik Buterin, ont identifié des limites à ce modèle. Ainsi, dès 2016, la communauté de développeurs d’Ethereum prévoit une transition du proof of work vers le proof of stake.
Depuis, les choses ont bien évolué. Après plusieurs années de développement, le passage au PoS n’a jamais été aussi proche. En pratique, celui-ci est prévu par les développeurs pour le premier trimestre 2022. Malheureusement, certains chercheurs commencent à pointer du doigt cette transition en mettant en évidence plusieurs vecteurs d’attaque.
Ethereum 2.0 : le proof of stake à risque ?
Le 19 octobre dernier, Caspar Schwarz-Schilling, Barnabé Monnot, Aditya Asgaonkar de la Fondation Ethereum, Joachim Neu, Ertem Nusret Tas et David Tse de l’Université de Stanford ont publié un papier scientifique intitulé « Three Attacks on Proof-of-Stake Ethereum ».
Comme son nom l’indique, cette publication met en évidence 3 vecteurs d’attaque qui pourraient mettre en danger Ethereum 2.0.
Une attaque reorg
Le premier vecteur d’attaque permettrait d’effectuer une attaque par réorganisation, sans nécessairement disposer d’importantes ressources.
« La stratégie montre qu’un proposant de bloc qui contrôle un seul membre du comité sur le même slot peut effectuer avec succès une réorganisation de la chaîne. »
La publication
Cette attaque se déroulerait en 4 étapes :
- Au début d’un slot n+1, l’attaquant créerait un bloc de manière privée basée sur le bloc précédent n. Le bloc étant privé, les validateurs honnêtes ne le verraient pas et attesteraient que la tête de la chaîne est le bloc n ;
- Au début du slot suivant (n+2), un validateur honnête proposerait un bloc n+2. Au même moment, l’attaquant publierait son bloc privé et l’attesterait pour le slot n+2. De ce fait, les 2 blocs seraient en conflit, car ils partageraient le même bloc parent ;
- Comme le bloc de l’attaquant disposerait de son attestation et qu’il aurait plus de poids par son antériorité, les validateurs honnêtes le considéreraient comme étant la tête de la chaîne ;
- Au début du slot n+3, un nouveau validateur honnête proposerait un bloc n+3, pointant vers le bloc n+1 comme parent (celui de l’attaquant). Cela rendrait orphelin le bloc n + 2, amènant l’attaque reorg à sa conclusion.
Notons tout de même que l’ensemble de cette attaque ne peut être réalisée que si le réseau ne présente aucune latence, ce qui est très peu probable. Le papier conclut qu’il s’agit d’un « problème non trivial, mais réalisable en pratique ».
Malheureusement, l’ensemble des actions décrites ci-dessus ne seraient pas considérées comme frauduleuses et n’entraîneraient de ce fait aucune pénalité (slashing), laissant libre cours à l’attaquant de réitérer autant de fois qu’il le souhaite jusqu’à complétion.
>> Jouez la sécurité en investissant sur des devises cryptos de référence avec Swissborg <<
Une attaque d’équilibrage
Le second vecteur d’attaque identifié est une attaque dite d’équilibrage. L’objectif de celle-ci est de bloquer le mécanisme de consensus d’Ethereum 2.0.
En pratique, cette attaque comporte 2 grandes étapes :
- Les proposant malveillants de bloc proposeraient 2 chaînes concurrentes, baptisées Gauche et Droite ;
- Les proposants voteraient malicieusement pour les 2 chaînes afin d’orienter le vote des validateurs honnêtes. Les attaquants s’assureraient de maintenir une égalité entre les 2 chaînes afin de maintenir le système à égalité et bloquer le consensus.
Comme les validateurs n’arriveraient pas à s’accorder sur la chaîne à choisir, le consensus serait bloqué jusqu’à résolution.
Une fois de plus, cette attaque nécessite une préparation ainsi qu’un timing parfait. Bien qu’elle soit possible en pratique, il n’est pas dit qu’il soit possible de la réaliser en conditions réelles, avec les plusieurs milliers de validateurs que compte le réseau.
Une fois de plus, ces actions ne seraient pas susceptibles d’être punies par le réseau. Cela laisse à nouveau le loisir à l’attaquant de persévérer jusqu’à ce que l’attaque prenne.
Une combinaison des 2 premières attaques
L’attaque ultime consisterait à combiner les 2 attaques présentées précédemment.
« En combinant les idées de ces deux attaques, nous décrivons maintenant une attaque dans laquelle l’adversaire peut exécuter une réorganisation à longue portée avec un enjeu infiniment faible et sans contrôle du délai du réseau. »
La publication
Heureusement, cette publication est arrivée plusieurs mois avant la transition vers le Proof of Stake. Ainsi, les développeurs peuvent désormais prendre en compte ces risques afin de, pourquoi pas, publier un nouveau hard fork qui apporterait des correctifs permettant de mitiger les risques d’attaques.
Récemment, le réseau Ethereum 2.0 a connu son premier hard fork avec le déploiement de la mise à jour Altair. Première d’une longue série, celle-ci pourrait bien être suivie d’une autre, suite aux révélations de cette publication.
Contrairement aux apparences, le train de Bitcoin et des cryptomonnaies est encore en gare et n’attends plus que vous ! Préparez-vous à embarquer avec Swissborg qui vous offre 100 euros en cryptomonnaies pour toute nouvelle inscription. (lien affilié, pour un dépôt minimum de 50€)