Attaque 51%

Attaque 51%

Une attaque à 51 % est un vecteur d’attaque dans les réseaux basés sur la preuve de travail. Un attaquant réunit alors plus de la moitié de la puissance de calcul (hash power) du réseau – et peut ainsi modifier la blockchain à sa guise.

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

Une attaque à 51% est un vecteur d’attaque dans les réseaux basés sur la proof-of-work. Les attaquants tentent d’obtenir au moins 51% du taux de hachage. Avec la majorité du taux de hachage du réseau, l’attaquant serait ainsi en mesure d’effectuer des doubles dépenses ou d’annuler des transactions.

Ce qu’il faut savoir sur la définition de l’attaque à 51% :

  • Un vecteur d’attaque est une stratégie d’attaque d’un réseau.
  • Un réseau basé sur la preuve de travail est par exemple Bitcoin.
  • Ce vecteur d’attaque tire son nom des 51 pour cent du taux de hachage, nécessaires pour que l’attaque réussisse.
  • Le taux de hachage du réseau se compose de la puissance de calcul de tous les ordinateurs mineurs. En d’autres termes, les ordinateurs essaient de résoudre le puzzle de la preuve de travail pour le prochain bloc.
  • L’attaque à 51% s’appelle aussi l’attaque par la majorité (en anglais : majority attack).
  • Un double spend est une transaction par laquelle le même argent peut être dépensé plusieurs fois par la même personne.

Les attaquants potentiels qui contrôlent au moins 51 % du hashrate produisent à long terme plus de blocs que le reste du réseau et peuvent ainsi dicter l’histoire des transactions. Au moment où ils envoient une nouvelle version de la blockchain au réseau, certaines transactions peuvent être annulées sur l’ancienne version. Les pirates pourraient ainsi effectuer des doubles dépenses ciblées. Plus l’avance relative du taux de hachage par rapport au reste du réseau est importante, plus l’attaque est sûre. En outre, les attaquants qui réussissent peuvent censurer les transactions sur le réseau.

Comment fonctionne une attaque de 51% ?

Dans une attaque à 51%, un mineur ou une association de mineurs prend en charge plus de 51% de la puissance de calcul totale.

Imaginons cette situation à l’aide d’un exemple concret : Eve veut acheter un produit d’Alice et escroquer Alice de l’argent. Dans ce qui suit, Eve est donc l’attaquante de l’attaque des 51%.

Alice ne sait pas ce qui l’attend et communique à Eve son adresse de réception Bitcoin. Eve construit alors une transaction TX1 pour Alice et l’envoie au réseau. En parallèle, Eve a cependant construit une autre transaction TX2 avec la même somme d’argent à elle-même.

Dès qu’Eve a envoyé TX1 au réseau Bitcoin, elle utilise ses propres ordinateurs de minage et extrait un bloc qui ne contient que TX2 au lieu de TX1. Si Eve dispose avec ses ordinateurs de minage de bien plus de la moitié du hashrate, elle trouvera probablement le prochain bloc avant le reste du réseau Bitcoin. Ainsi, seul son bloc construit est valable, de même que le TX2 qu’il contient. En revanche, le bloc initial contenant TX1 n’est pas valable. Alice n’a donc jamais reçu son argent. Si Alice a déjà donné le produit à Eve, Eve a le produit et son argent. Alice se retrouve sans rien.

Mais Eve pourrait être encore plus méchante en laissant ses mineurs fonctionner en arrière-plan. Alice voit que TX1 a déjà été validé par deux blocs et expédie le produit. Ce n’est que maintenant qu’Eve publie sa propre version de la blockchain. Si Eve a eu un taux de hachage nettement plus élevé que le reste du réseau, elle va probablement miner la blockchain la plus longue. Il existe ainsi une nouvelle histoire des transactions. Par convention, la blockchain la plus longue est la version valide.

Quelles peuvent être les conséquences d’une attaque de 51% ?

Double dépense

Le principal avantage de l’attaquant d’une attaque majoritaire est la possibilité de faire un double spend. On peut toutefois se demander si une telle attaque en vaut vraiment la peine.

Imaginons le scénario suivant : Alice vend sa maison à Eve. Dès qu’Eve révèle sa version de la blockchain au réseau, la version avec TX2 au lieu de TX1, Alice s’en apercevrait. Il serait frappant que la transaction d’Eve à Alice ne soit plus dans la blockchain. Il s’agit ici d’un cas juridique et Alice pourrait porter plainte contre Eve pour escroquerie.

Peut-être qu’un double don en ligne pourrait rapporter des bénéfices ? On transfère une somme importante à un Exchange et on l’échange contre une autre crypto-monnaie dès qu’elle est disponible sur l’Exchange. Ensuite, on envoie une nouvelle version de la blockchain que l’on a soi-même évitée au préalable et pour laquelle la transaction vers l’Exchange n’a jamais eu lieu. Cette fraude serait là aussi directement remarquée par l’Exchange. L’attaquant devrait également être conscient du fait que l’on est enregistré sur la plupart des Exchanges avec des données personnelles. Ainsi, l’Exchange peut également prendre des mesures juridiques dans ce cas.

L’intérêt d’une telle attaque dépend de la crypto-monnaie. Des attaques à 51% ont déjà été menées avec succès contre certains altcoins. Pour le bitcoin, une telle attaque est plutôt improbable.

Censure de la blockchain

En plus de la double dépense, les attaquants potentiels pourraient également censurer le réseau avec un taux de hachage suffisant. Pour cela, ils auraient besoin d’une nette avance en termes de taux de hachage et devraient la maintenir pendant longtemps. Les pirates peuvent alors décider quelles transactions seront incluses dans la blockchain et lesquelles ne le seront pas. Les attaquants pourraient également exclure d’autres mineurs du minage.

Les limites de l’attaque à 51%

Malgré cette position puissante sur le double spending et la possible censure de la blockchain, les attaquants du 51% ne sont pas tout-puissants. En effet, les règles du réseau ne peuvent pas être modifiées. De plus, une telle attaque comporte toujours des risques.

Même avec 51 % du hashrate, Eve ne peut pas créer de nouveaux bitcoins à partir d’une mince couche d’air. Elle ne peut pas décider de recevoir soudainement 100 BTC par bloc en récompense. Elle n’a pas la possibilité d’emballer des transactions de double don dans ses propres blocs. Elle n’a pas non plus accès à l’argent des autres participants du réseau.

Même si Eve peut décider quelles transactions seront finalement placées dans des blocs, elle ne peut pas empêcher les autres participants du réseau d’envoyer des transactions.

Si les autres participants décident de s’opposer activement à l’attaque, l’attaquant ne peut pas les forcer à se rendre sur sa chaîne de blocs. Les participants honnêtes remarqueraient une attaque de 51% et pourraient neutraliser l’attaque. Pour cela, le premier bloc de la blockchain malveillante est déclaré faux. Par conséquent, tous les blocs suivants deviennent également invalides. L’attaquant aurait payé en vain les frais de son attaque.

Tout compte fait, une attaque à 51% permet à l’attaquant d’effectuer des doubles dépenses et de censurer des transactions. La manipulation arbitraire de l’ensemble des règles n’est pas possible. Les attaquants pourraient tenter une seule fois un double spend – mais grâce à la transparence de la blockchain, ils se feraient ensuite remarquer.

Qui pourrait lancer une attaque de 51% ?

Cela nous amène à la question de savoir qui pourrait être l’attaquant. Bitcoin est une construction basée sur la théorie des jeux. Les bitcoins, qui sont une récompense pour la validation des blocs, sont une incitation pour les mineurs à être honnêtes. Cette incitation économique est également pertinente pour l’attaque des 51%.

Celui qui exécute une attaque à 51% prend un risque considérable. Les attaquants doivent investir du hashrate pour une version erronée de la blockchain. Cela coûte en tout cas de l’énergie et donc de l’argent. Si le reste du réseau se défend contre l’attaque, ces coûts énergétiques sont dépensés en vain. De plus, les attaquants n’obtiendraient pas le blockreward. Au lieu d’attaquer le réseau et d’échouer, ils auraient pu miner honnêtement. Ainsi, le coût d’opportunité du minage figure également sur le calcul des coûts.

L’incitation est donc que les mineurs orientés vers l’égoïsme agissent honnêtement. C’est l’une des innovations du bitcoin.

On pourrait toutefois imaginer des agresseurs irrationnels qui n’agiraient pas pour des intérêts économiques. Il pourrait s’agir par exemple d’un écosystème cryptographique concurrent qui tenterait de prendre le contrôle. Ainsi, certaines transactions pourraient par exemple être considérées comme non valables et ne pas être intégrées dans la blockchain.

Même dans ce cas, la communauté Bitcoin dispose encore d’un frein d’urgence : grâce à un Hard Fork, le réseau peut se débarrasser de l’agresseur et retrouver son indépendance.

Comment se manifeste une attaque de 51% ?

Une attaque à 51% est un événement frappant et disruptif qui ne peut en aucun cas passer inaperçu. La blockchain se réorganiserait en cas d’attaque à 51%.

De temps en temps, dans les systèmes basés sur la preuve de travail comme Bitcoin, il peut arriver que deux mineurs trouvent un nouveau bloc en même temps. Appelons ces blocs bloc A et bloc B. Une moitié du réseau obtient le bloc A en premier, l’autre le bloc B. Le réseau est divisé pendant une courte période. Si la moitié avec le bloc B trouve en premier un nouveau bloc (bloc B+1), elle le communique à l’ensemble du réseau. La moitié avec le bloc A reconnaît qu’il existe une nouvelle version valide de la blockchain et se réorganise. Cet événement s’appelle aussi une chaîne-réorg,la réorganisation de la chaîne de blocs.

Comme le montre l’exemple ci-dessus, il peut arriver par hasard que deux mineurs trouvent un bloc en même temps. La taille de la Chain-Reorg serait alors d’un bloc. Un tel événement se produit souvent dans le système Bitcoin. Il ne désorganise toutefois pas le réseau, mais crée un nouveau consensus (le dernier bloc valide de la chaîne de blocs est le bloc B+1).

Revenons à notre exemple : Non seulement le bloc A et le bloc B ont été trouvés en même temps, mais un mineur trouve également le bloc A+1 et un autre le bloc B+1 en même temps. Les chaînes de blocs sont ainsi séparées par deux maillons, ou blocs. Si une réorg de chaîne se produit maintenant, elle est donc de deux blocs. La probabilité que cet événement se produise est nettement plus faible.

Plus la Chain-Reorg est grande, moins elle a de chances de se produire et plus elle est visible. Même une attaque à 51 % provoquerait un chain reorg. Celui-ci serait remarqué par tous les exploitants de nœuds complets et les mineurs honnêtes. De cette manière, l’attaque à 51% serait démasquée et la communauté Bitcoin pourrait décider de prendre des mesures.

Quelle est la probabilité d’une attaque à 51% ?

Jusqu’à présent, il n’y a pas encore eu d’attaque à 51% sur le réseau Bitcoin. Même s’il s’agit d’un vecteur d’attaque connu et possible, l’attaque n’est pas très probable. L’attaque ne vaudrait pas la peine d’être menée pour en tirer profit et est très risquée. Le taux de hachage du réseau dans le bitcoin est si élevé que le réseau est robuste contre les attaques. Il en va autrement pour de nombreux altcoins.

La probabilité de contrôler le réseau avec une attaque de 51% augmente avec le taux de hachage relatif de l’attaquant. En d’autres termes : la même attaque est possible avec moins de 51%, mais la probabilité n’est pas du côté de l’attaquant. A long terme, l’attaque majoritaire n’a de sens que si l’attaquant contrôle effectivement la majorité du hashrate.

Les illustrations ci-dessus présentent la probabilité de réussite, à gauche en fonction du taux de hachage relatif de l’attaquant (en supposant six confirmations d’une transaction) et à droite en fonction du nombre de confirmations (en supposant un taux de hachage relatif de 26 % du côté de l’attaquant).

Comment puis-je me protéger contre une attaque de 51% ?

Comme nous l’avons déjà mentionné, il est peu probable qu’une telle attaque ait lieu. Toutefois, il peut être utile de savoir comment rendre une attaque à 51% aussi difficile que possible pour un attaquant.

Après avoir reçu une transaction, on peut simplement attendre quelques blocs. On rend ainsi l’attaque plus difficile. Une transaction en bitcoins est très sûre à partir d’environ six confirmations. Le nombre de confirmations à attendre pour Altcoins dépend du taux de hachage du réseau.

Une autre approche consiste à exploiter son propre full node. Celui qui n’utilise qu’un client dit léger, c’est-à-dire un logiciel qui ne stocke pas lui-même la blockchain complète, est particulièrement vulnérable à l’attaque des 51%. Pour les petits avoirs, l’effort d’exploiter son propre full node n’en vaut pas la peine. Mais pour les montants élevés, un full node apporte une sécurité supplémentaire.

Attaques à 51% connues

Le bitcoin n’a pas encore subi d’attaque à 51%. Il en va autrement pour certains altcoins.

Au milieu de l’année 2018, le site Crypto51.app a gagné en popularité dans le monde de la cryptographie. Ce service permettait de louer Hashrate pour lancer une attaque à 51% sur n’importe quel réseau.

L’ancien réseau ZENcash (aujourd’hui HoriZen) a également été victime d’une attaque à 51%. La blockchain avait alors été réorganisée à plusieurs reprises. La plus grande réorganisation faisait 38 blocs. Et l’attaquant a ainsi réussi à escroquer le réseau de plus d’un demi-million de dollars américains. Les coûts estimés de l’attaque s’élèvent à 30 000 dollars américains. Ici, l’attaque a donc été très rentable.

Bitcoin Gold et Verge ont également déjà été victimes d’attaques à 51%, confirmant que ce vecteur d’attaque est réel et dangereux.

Termes associés

  • Application Specific Integrated Circuit (ASIC).
  • Nombre de bitcoins.
  • Taux de hachage.
  • ASIC Resistance
  • Bitcoin.
Token Boost

Commencez à trader dès maintenant

Investissez dans les cryptos et trader vos devises numériques sur les différentes plateformes.

Laisser un commentaire

Crypto logo

Token Boost, votre e-magazine français 100% crypto & DeFi.

Contact

54, impasse Toussaint, Lorainville