Qu’est-ce qu’une attaque des 51 % ?

Une attaque à 51% est une vulnérabilité de blockchain PoW qui permet à un attaquant de prendre le contrôle de la confirmation de la transaction et de la génération de blocs.

Que donne la possession de 51% de la puissance du réseau ?

Avec 51 % de puissance à leur disposition, les attaquants peuvent :

  • ne pas permettre à d’autres mineurs (validateurs) de trouver des blocs (selfish mining)
  • voler des pièces auprès de prestataires de services, d’échanges ou d’échangeurs (double spend)
  • bifurquer la blockchain principale, divisant le réseau en deux chaînes concurrentes
  • empêcher la confirmation des transactions ou des blocages
  • pendant l’attaque, collectez toutes les récompenses de bloc et les frais de transaction

Une attaque est plus grave si les attaquants contrôlent significativement plus de 51% du réseau. Car ils peuvent :

  • voler tous les contrats tels que les canaux de dépôt-challenge-verify et de statut / Lightning Network, si les attaquants étaient leurs participants
  • réduire et manipuler la complexité du réseau
  • voler des pièces qui ne sont pas datées par le bloc genesis (en annulant les anciens blocs et en recevant à nouveau des récompenses pour ces blocs)
  • supprimer les contrats ou l’historique des transactions (en annulant les anciens blocs et en modifiant la liste des transactions incluses).

Une attaque à 51 % à elle seule empêche les attaquants de :

  • obtenir votre clé privée ou falsifier une signature
  • obtenir les pièces reçues à la suite d’un mauvais travail du contrat
  • envoyer, geler, mettre en jeu ou brûler vos pièces (sauf pour les techniques mentionnées ci-dessus)
  • gérer les décisions des détenteurs de nœuds complets (validateurs)

Combien de ressources faudra-t-il pour mener à bien une attaque à 51 % ?

Un pool de minage malveillant peut embaucher des ressources supplémentaires et lancer une attaque sur la crypto-monnaie sélectionnée. Sur la base des données du service 51crypto, les auteurs de l’étude « Étudier les types d’attaques sur la blockchain » ont dressé un tableau de six crypto-monnaies et indiqué le coût de l’attaque par heure (coût).

Données reçues en avril 2019. Comme vous pouvez le voir, pour attaquer Bitcoin, vous devez dépenser 486 000 $ par heure. Il ne coûte que 15 000 dollars de l’heure pour attaquer Dash (avec une capitalisation boursière de 2,3 milliards de dollars).

Qu’est-ce que l’exploitation (selfish mining) ?

Une stratégie qui permet aux mineurs d’augmenter leurs profits en cachant des blocs au réseau public. Les mineurs n’envoient pas un bloc au réseau à chaque fois après la génération, mais continuent à extraire de nouveaux blocs en plus des blocs qu’ils ont trouvés par eux-mêmes. Tant que les concurrents exploitent des blocs plus anciens, le mineur égoïste gagne en avantage.

Il y a une course tacite entre la chaîne publique des « mineurs honnêtes » et la chaîne privée des « mineurs égoïstes ». Les attaquants doivent disposer d’une puissance de traitement suffisante pour rendre la chaîne secrète plus longue que la chaîne publique.

Dès que la blockchain privée devient plus longue que la blockchain publique, les attaquants la libèrent sur le réseau afin de recevoir des récompenses pour la recherche de blocs et des commissions d’utilisateur. Si la puissance d’un réseau privé est de 25 % ou plus de la puissance de l’ensemble du réseau, les mineurs égoïstes continueront à gagner la course à la chaîne jusqu’à ce qu’ils soient supplantés par un autre mineur égoïste ou une minorité défavorisée.

Dans les blockchains travaillant sur l’algorithme Proof-of-Work (PoW), ce n’est pas la chaîne la plus longue qui compte, mais la plus “sauvegardée”.

La chaîne la plus longue ne représente la majorité de la puissance de calcul que s’il n’y a pas de monopole sur le réseau (51% ou plus de la puissance). Si c’est le cas, alors la chaîne la plus longue peut ne pas représenter la volonté de la plupart des mineurs.

Comment se passe un (double spend) de crypto-monnaie ?

Imaginons que l’attaquant dispose d’une puissance de calcul importante. Il paie un produit ou un service auprès d’un fournisseur, il accepte un montant important en crypto-monnaie et la transaction est presque terminée. La transaction est envoyée à la blockchain générale et après trois confirmations, les parties à la transaction se disent au revoir.

Lorsque le méchant est convaincu que la victime ne le trouvera pas, il se « rend » les pièces à lui-même. Pour ce faire, l’attaquant, après avoir envoyé de l’argent, ramène la blockchain à un état antérieur.

Autre option, plus furtive : l’attaquant exploite une blockchain parallèle à la manière d’un minage égoïste. Là, au lieu d’une transaction honnête, une transaction à double dépense a été incluse. Une telle transaction envoie les mêmes pièces à une adresse différente appartenant au fraudeur. Il reste à « alimenter » la chaîne valide d’une partie alternative des blocs (avec le bon PoW), dans l’attente que le réseau les accepte.

Ainsi, le réseau “exclura” la transaction correcte de l’historique. Le fournisseur regarde dans le portefeuille et voit qu’il a perdu ses pièces et qu’il n’y a aucune preuve de la transaction. Il n’a même pas pris de captures d’écran du portefeuille, n’a pas copié l’ID de transaction lorsqu’il a reçu les pièces.

En théorie, si une transaction a une ou plusieurs confirmations, la double dépense est exclue. Beaucoup de gens ne savent pas quoi faire lorsqu’une transaction « disparaît » du portefeuille Bitcoin.

Grâce à de tels “systèmes”, les pièces sont de temps en temps remises dans le portefeuille de l’attaquant et vous pouvez les dépenser deux fois, trois fois, etc. Les doubles dépenses fréquentes entraînent la menace de retrait de la crypto-monnaie des échanges sur les bourses affectées par les doubles dépenses. De plus, les crypto-monnaies attaquées perdent leur capitalisation boursière après l’attaque. Par exemple, la crypto-monnaie Verge a été attaquée en mai 2018 et a perdu plus de 95% de sa valeur depuis lors.

Hard fork après une attaque à 51% comme méthode de création d’un nouvel actif

Avec une attaque à 51%, vous pouvez créer une nouvelle crypto-monnaie. L’algorithme de consensus PoW a été conçu pour prouver l’intégrité de la chaîne, pas pour empêcher les fourches.

Supposons que les attaquants minent secrètement quelques blocs, puis les « déposent » sur le réseau principal. S’il n’y a pas de soutien communautaire derrière l’attaquant, une minorité honnête des 49% restants rejettera une telle chaîne. Mais quelques blocs secrètement trouvés permettent à l’attaquant de se détacher du réseau et de continuer à exploiter sa propre chaîne, tandis que le reste des mineurs continue l’ancienne. C’est ainsi qu’apparaissent deux actifs, l’un connu de tous, l’autre nouveau.

Tant qu’il y aura suffisamment de mineurs pour faire fonctionner la blockchain, même les nouvelles blockchains formées à la suite du hard fork ne feront pas de mal significatif.

Est-il possible d’exécuter une attaque à 51% sans avoir 51% de la puissance ?

Le célèbre gourou du bitcoin Andreas Antonopoulos estime que le réseau bitcoin ne risque plus d’être attaqué à 51% en raison des ressources que les mineurs dépensent pour maintenir le réseau. Andreas dit qu’il ne sert à rien d’attaquer Bitcoin en 2019, ce sera trop coûteux même pour les gouvernements. Mais vous pouvez attaquer des altcoins moins puissants, précise Andreas.

Pour mener une attaque sur une blockchain, un attaquant n’a pas toujours besoin d’avoir 51% ou plus de puissance de calcul. La probabilité de succès est calculée en fonction du temps d’attaque et de la puissance de calcul.

Même si l’attaquant contrôle 40 % du réseau, il pourra mener une attaque sur deux blocs avec un taux de réussite de 40 %.

Mais les mineurs ne sont qu’une petite partie du modèle de sécurité de la blockchain. Après 10 ans, nous avons vu de vrais exemples d’attaques et il s’est avéré que la menace était grandement exagérée.

Exemples d’attaques à 51% de l’histoire des crypto-monnaies

Une attaque à 51% n’est pas irréalisable. Le pool de minage Ghash.io pendant une courte période en juillet 2014 avait plus de 50% de la puissance de traitement de Bitcoin. Cela a conduit le pool à tenter volontairement de réduire sa part du réseau. Le communiqué indique qu’à l’avenir, il n’atteindra pas 40% de la production totale.

En août 2016, un groupe de hackers de 51 crews a piraté les projets blockchain Krypton et Shift. Grâce à une série de doubles dépenses, ils ont réussi à retirer environ 20 000 jetons Krypton.

En mai 2018, un groupe de pirates malveillants a pris le contrôle de 51% du réseau altcoin Bitcoin Gold, leur permettant de voler 18 millions de dollars en crypto-monnaie à Bittrex, Binance, Bitinka, Bithumb et Bitfinex. Bittrex a accusé les développeurs de négligence et leur a demandé une compensation, faute de quoi la bourse a promis de fermer la négociation de BTG. Les développeurs ont répondu qu’il s’agissait d’un type de menace connu. L’échange Bittrex n’a pas pris les précautions nécessaires et est lui-même responsable de ce qui s’est passé.

En juin 2018, Monacoin, Zencash, Verge et Litecoin Cash ont été touchés par une attaque à 51%. Cela a entraîné des pertes de plusieurs millions de dollars. À la suite de l’attaque, certaines bourses ont perdu environ 90 000 dollars à Monacoin, 500 000 dollars à ZenCash et 1,7 million de dollars à Verge.

En novembre 2018, à la suite d’une attaque à 51% sur Aurum Coin, plus de 500 000 $ ont été volés à l’échange Cryptopia.

En mai 2019, deux grands pools miniers ont mené une attaque à 51% sur le réseau Bitcoin Cash. Selon eux, ils ont empêché le vol de pièces SegWit non sécurisées, qui étaient stockées dans des adresses, d’où elles pouvaient être retirées par n’importe qui. Ces pièces sont restées sur le réseau après la séparation de Bitcoin en 2017, mais ont été bloquées par les développeurs. Jusqu’à ce qu’ils soient accidentellement déverrouillés par un hard fork en mai 2019.

Notez cet article
Lisez-nous sur:
Cryptomonde
Ajouter un commentaire