Qu’est-ce qu’une attaque 51% sur la blockchain et quelles sont ses conséquences ?

attaque 51

Une attaque 51% en cryptographie se produit lorsqu’un individu ou un groupe contrôle 51% ou plus de la puissance de hachage (de validation) d’un réseau blockchain. Cet individu / groupe peut donc utiliser ce pouvoir pour créer des transactions invalides ou refuser des transactions légitimes.

Une attaque 51% réussie permet aux mineurs / validateurs de cette majorité de prendre le contrôle des données de la blockchain d’une cryptomonnaie pour en tirer un gain financier.

La décentralisation d’une blockchain

Les protocoles blockchain sont essentiellement une forme de gouvernance.

Une blockchain régit un registre de données, par exemple des données de transactions, comme la blockchain peut régir ces données pour nous, nous n’avons plus besoin d’une tierce partie pour le faire, comme un gouvernement ou une banque. C’est ce qui rend les blockchains décentralisées.

Le protocole de la blockchain Bitcoin est basé sur la démocratie, ce qui signifie que la majorité des participants (mineurs / validateurs) du réseau décidera quelle version de ce registre de données (la blockchain) représente la vérité.

Donc pour qu’une blockchain puisse fonctionner correctement, il faut que les participants soient d’accord sur ce qui est valide, ce qui ne l’est pas et sur l’état du registre. On demande à la majorité du réseau de participants de parvenir au même consensus.

Mais que se passe-t-il si cette majorité est une seule et unique entité ayant l’avantage d’avoir plus de puissance de calcul et qu’elle utilise son pouvoir pour une activité malveillante ?

Comment fonctionne une attaque 51% sur la blockchain ?

Le processus de minage

Lorsqu’un propriétaire de BTC signe une transaction, celle-ci est placée dans une pool de transactions non confirmées. Les validateurs sélectionnent les transactions dans ces pools pour former un bloc de transactions.

Afin d’ajouter ce bloc de transactions à la blockchain, ils doivent trouver une solution à un problème mathématique très difficile grâce à leur matériel de minage (ASICs, cartes graphiques…), c’est cette pratique qu’on appelle minage.

Plus un validateur dispose de puissance de calcul, plus il a des chances de trouver une solution avant les autres validateurs. Lorsqu’un validateur trouve une solution, celle-ci est diffusée aux autres validateurs.

Les étapes d’une attaque à 51%

Lorsqu’un mineur trouve une solution, celle-ci est censée être diffusée à tous les autres mineurs afin qu’ils puissent la vérifier, après quoi le bloc est ajouté à la blockchain (les mineurs parviennent à un consensus). Cependant, un mineur corrompu peut créer un rejeton de la blockchain en ne diffusant pas les solutions de ses blocs au reste du réseau.

Attaque51-Début

Deux versions peuvent donc exister en même temps, une version qui est suivie par les mineurs non corrompus et une autre qui est suivie par le mineur corrompu. Le mineur corrompu travaille maintenant sur sa propre version de la blockchain et ne la diffuse pas au reste du réseau.

Maintenant, le mineur corrompu dépense tous ses BTC sur la version véridique de la blockchain, celle sur laquelle tous les autres mineurs travaillent. Sur la blockchain véridique, ses BTC sont désormais dépensés. Et pendant ce temps, il n’inclut pas ces transactions-là sur sa version isolée de la blockchain. Sur sa version « secrète » de la blockchain, il a toujours ces BTC.

Attaque51-Dépense

Pendant ce temps, il continue de vérifier des blocs tout seul sur sa version de la blockchain. C’est là que les problèmes commencent.

La blockchain est programmée pour suivre un modèle de gouvernance démocratique, c’est-à-dire, la majorité. La blockchain le fait en suivant toujours la chaîne la plus longue, après tout, la majorité des validateurs ajoutent des blocs à leur version de la blockchain plus rapidement que le reste du réseau (chaîne la plus longue = majorité). Le validateur corrompu va maintenant essayer d’ajouter des blocs à sa blockchain plus rapidement que les autres validateurs n’ajoutent de blocs à leur blockchain (la vraie).

Attaque51-Puissancedecalcul

Dès que le mineur corrompu crée une blockchain plus longue, il diffuse soudainement cette version de la blockchain au reste du réseau. Le reste du réseau détecte alors que cette version (la corrompue) de la blockchain est en fait plus longue que celle sur laquelle ils travaillaient (la vrai), et le protocole les oblige à passer sur cette chaîne.

Attaque51-Blockchainprivée

La blockchain corrompue est maintenant considérée comme la blockchain véridique et toutes les transactions qui ne sont pas incluses dans cette chaîne seront immédiatement annulées.

L’attaquant a déjà dépensé ses Bitcoins, mais cette transaction n’était pas incluse dans sa version de la blockchain (la chaîne qui est maintenant véridique), il a donc à nouveau le contrôle de ses Bitcoins. Il est capable de les dépenser à nouveau.

Attaque51-Doubledépense

Il s’agit d’une attaque par double dépense. Elle est communément appelée attaque 51% car le mineur malveillant aura besoin de plus de puissance de hachage que le reste du réseau combiné (donc 51% de la puissance de hachage) afin d’ajouter plus rapidement des blocs à sa version de la blockchain, ce qui lui permettra finalement de construire une chaîne plus longue.

Comment le bitcoin est-il protégé contre ces attaques 51% ?

En réalité, ces attaques sont extrêmement difficiles à bloquer, mais ces attaques sont encore plus difficiles à réaliser. Plus la puissance de hachage consacrée à une chaîne est importante, plus elle est sécurisée. Étant donné qu’il y a des centaines de milliers de validateurs sur la blockchain Bitcoin, un validateur malveillant devrait dépenser d’énormes sommes d’argent en matériel de minage et d’électricité pour rivaliser avec le reste du réseau.

L’attaque 51% ne s’est jamais produite sur la blockchain Bitcoin dans toute son histoire, mais elle s’est produite plusieurs fois sur d’autres blockchains PoW auparavant.

Exemples d’attaques 51% :

  • Bitcoin Gold, 2018 : Bitcoin Gold, une cryptomonnaie initialement basée sur le protocole bitcoin, a subi une attaque qui a conduit à un vol de plus de 18 millions de dollars sur les échanges de cryptomonnaies
  • Ethereum Classic, 2019 : ce fork basé sur la blockchain Ethereum a subi une attaque 51% qui a entraîné le vol d’environ 1,1 million de dollars en 2019

Il existe d’innombrables autres arguments contre la réalisation d’une attaque à 51%. Par exemple, le risque de se faire prendre et d’être poursuivi en justice, mais aussi les coûts d’électricité, la location d’espace et de stockage pour tout le matériel de minage, le fait de couvrir ses traces et de blanchir l’argent.

Une telle opération demande tout simplement beaucoup trop d’efforts pour ce qu’elle apportera à l’attaquant en retour, du moins dans le cas des grandes blockchains comme Bitcoin.

Conclusion sur les attaques 51%

En fin de compte, vous devez vous rappeler que derrière tous les algorithmes et le matériel, il y a toujours des humains qui contrôlent tout, avec leurs propres motivations et désirs économiques. Si une attaque 51% est réussie sur le réseau Bitcoin, la valeur par bitcoin diminuerait considérablement, ce qui signifie que les fonds et le matériel de minage de l’attaquant diminueraient également de valeur, une incitation financière sans intérêt pour un attaquant avec autant de puissance.