Accueil🇫🇷Chercher

Attaque des 51 %

Une attaque des 51 % est une attaque qui cible les blockchains dites « Ă  preuve de travail Â» (en anglais PoW, Proof of Work) ou « Ă  preuve d'enjeu Â» (en anglais PoS, Proof of Stake).

Elle est Ă©galement connue sous le nom de l'attaque Goldfinger[1].

Le but de cette attaque est de bloquer les validations des transactions d'utilisateurs de cryptomonnaies ou, avec assez de puissance de calcul, de réitérer la transaction : c'est ce qu'on appelle la double dépense, c'est-à-dire utiliser l'équivalent de deux fois le solde de son porte-feuille sans pour autant posséder la somme dépensée. Le mécanisme consiste à modifier l’historique de la blockchain[2] - [3].

Problème

La crĂ©ation de Bitcoins (et en gĂ©nĂ©ral la validation des blockchains) se fait grâce aux mineurs. Pour ĂŞtre quasi sĂ»rs de toucher des bitcoins (ou une autre monnaie cryptographique), les mineurs se regroupent et forment des coopĂ©ratives ou pools, de façon Ă  avoir plus de puissance, en mutualisant les coĂ»ts, les efforts, mais aussi les gains. Toutefois, si une coopĂ©rative devient trop importante par rapport aux autres, cela peut permettre une attaque des 51 %.

En effet, le principe de la sécurité des crypto-monnaies repose sur le fait que le calcul est distribué entre tous les nœuds, et en l'absence d'organe central de régulation, la blockchain ne peut être validée que suivant une méthode de consensus. Si un seul mineur (un seul nœud) introduit une erreur ou pirate la blockchain, la masse des autres mineurs va automatiquement corriger cette erreur ou ce piratage. Cette blockchain incorrecte ne correspondant pas à la majorité des autres blockchains minées par les autres nœuds, ce bloc va devenir orphelin, et ne sera pas intégré au registre général.

Mais si une coopĂ©rative regroupe plus de 50 % des capacitĂ©s de minage, il devient en thĂ©orie possible de pirater la blockchain : plus de la moitiĂ© des mineurs validant le bloc corrompu, c'est celui-ci qui devient le bloc « officiel », car l'algorithme de contrĂ´le distribuĂ© le verra comme majoritaire. Cela autorisera la modification de la blockchain. Ainsi, avec plus de 50 % des capacitĂ©s de minage, il est plus facile de modifier la blockchain et de la faire plus longue que celle reçue, de façon que les nĹ“uds du rĂ©seau la choisissent comme Ă©tant la plus lĂ©gitime.

La double dépense

Dans le cas d'une crypto-monnaie, le hack de la double dépense consiste à effacer les transactions : le hacker prend deux comptes A et B qui lui appartiennent, il prend des unités de crypto-monnaies depuis le compte A, et les envoie sur un compte B (A est donc débité, et B est crédité), puis, en manipulant la blockchain, il efface la transaction. (Pour refuser une transaction, il suffit de ne pas l'inclure dans les blocs minés et attendre qu'une blockchain plus longue que la blockchain courante arrive pour la remplacer. Ce qui fera disparaître la transaction[2]). Une fois la transaction effacée dans le registre, c'est comme si le compte A n'avait jamais été débité, alors que le compte B a bien été crédité malgré tout. On engendre ainsi (ex nihilo) des unités de crypto-monnaie qu'il suffit alors de changer (en dollars ou dans une autre crypto-monnaie) pour récupérer les bénéfices de l'opération, idéalement avant la chute du cours de la cryptomonnaie piratée.

Si l'opération de double dépense est très fastidieuse « à la main », des programmes permettent de réaliser cette opération de manière très rapide et automatisée.

RĂ©alisation

Corrompre une coopération ou un groupe de coopérations

51 % signifie que pour exĂ©cuter cette attaque, un hacker ou un groupe d'individus qui minent (aussi appelĂ© un mining pool (en)) puissent dĂ©tenir 51 % de la puissance totale de calcul du minage. On parle donc ici de regrouper la puissance de calcul existante sous une mĂŞme bannière (un mĂŞme pool).

Créer une nouvelle capacité de minage

Une autre possibilité pour obtenir la capacité de modifier la blockchain est de créer ex nihilo une capacité de minage qui dépasse la capacité « déjà en place ». Autrement dit, créer une nouvelle ferme de serveurs informatiques spécialisés dans le minage et augmenter sa capacité jusqu'à dépasser l'existant (si une capacité 'X' mine déjà une blockchain, créer une ferme de capacité 'X+1', pour que cette capacité 'X+1' représente plus de 50% de la capacité totale finale 'X+X+1').

Dans le cas d'une blockchain ayant des capacités de minage importantes (telle le Bitcoin, mais cela peut être une chaine de traçabilité alimentaire par exemple), une telle approche est inenvisageable pour une entreprise privée, qui agit (normalement) comme une entité économique rationnelle. Ce n'est cependant pas hors de la portée d'un état souverain ou d'un état voyou, qui a les budgets nécessaires et peut avoir les motivations pour, par exemple « casser » une cryptomonnaie bien implantée[1].

A l'inverse, sur des blockchains ayant une faible capacité de minage déjà installée, cette attaque est facilement réalisable. Dans le cas des crypto-monnaies, il est même possible de simplement louer des serveurs de minage, et réussir cette attaque[4] - [5], éventuellement en utilisant une faille dans les protocoles de sécurité[6].

Finalité

Différentes approches pourraient être envisagées pour justifier une attaque des 51 %.

Frauder les registres

Dans le cas d'une utilisation d'une blockchain privée par exemple pour la traçabilité alimentaire (voir Blockchain#Gouvernance et Blockchain#Applications), cette attaque peut être réalisée pour masquer des transactions et ainsi effacer des traces, ou falsifier les informations contenues dans la blockchain.

Dans le cas d'une cryptomonnaie, cela permettrait la double dépense (acheter quelque chose, puis effacer cette transaction des registres, donc annuler l'achat comme s'il n'avait jamais eu lieu). Cette approche n'est pas forcément pertinente dans le cas des cryptomonnaies, car la chute de la valeur entrainerait une destruction de la valeur ainsi fraudée si le hacker n'a pas converti à temps ses unités. Aucun des mineurs ou des pools minant des cryptomonnaies n'a intérêt à réaliser cette attaque, car si elle est découverte, les investissements effectués pour monter les serveurs de minages seraient perdus. Le risque serait donc externe aux mineurs et aux utilisateurs réguliers de la crypto-monnaie.

Casser la confiance dans une blockchain pour la rendre caduque

Dans l'hypothèse où un État souverain[7] ou une agence gouvernementale comme la National Security Agency ou une coalition comme l’Organisation des pays exportateurs de pétrole veut casser une blockchain car elle porterait atteinte à sa souveraineté, elle pourrait utiliser cette attaque, et une fois la blockchain corrompue, afficher publiquement cette attaque. Sous réserve que la blockchain ne soit pas organisée pour être capable d'annuler l'attaque[8], le résultat serait sa caducité.

Conséquences

Dans le cas d'une cryptomonnaie

Une telle attaque ferait chuter la valeur de la monnaie, dans le cas où les hackers décideraient de bloquer des transactions ou s’octroyer des unités de crypto-monnaies[3] - [9].

En effet, la crypto-monnaie ne pouvant plus être utilisée pour les transactions (le piratage l'a invalidée), personne ne voudra l'acheter et sa valeur, qui, par nature est décentralisée et non régulée par une banque centrale, va chuter. Cette chute, en raison de la diminution du nombre d'acheteurs alors que les vendeurs sont au moins aussi nombreux qu'en temps normal, voire plus nombreux, pouvant entraîner des « paniques », à l'instar des krachs boursiers[6].

Cependant, le système des crypto-monnaies est conçu pour ĂŞtre rĂ©siliant aux attaques. Dans le cas d'un piratage, ou d'une attaque des 51 %, le système va purement et simplement annuler les transactions, appliquer des patchs, et revenir en arrière dans le temps pour annuler l'attaque[6] - [8]. Cela n'est cependant possible qu'Ă  partir du moment oĂą la fraude a Ă©tĂ© dĂ©tectĂ©e.

Coûts estimés

DiffĂ©rentes mĂ©thodes existent pour quantifier le coĂ»t d'une attaque des 51 %, mais les fourchettes obtenues restent dans les mĂŞmes ordres de grandeur (pour les exemples testĂ©s sur le Bitcoin[1]) :

  • Prendre les coĂ»ts totaux de minage (serveurs, Ă©lectricitĂ©, maintenance, etc.) pour miner une quantitĂ© de blockchain et extrapoler pour atteindre la barre des 51 %.
  • Extrapoler le gain annuel des mineurs (personne n'investissant Ă  perte, les opĂ©rateurs agissant comme des agents Ă©conomiques rationnels, on considère que les investissements maximum seront infĂ©rieurs ou Ă©gaux au gain maximum). Ce calcul n’inclut pas forcĂ©ment les gains potentiellement dĂ©multipliĂ©s sur des crypto-monnaies de faible importance[5].

Bitcoin

Diverses estimations ont été réalisées pour le Bitcoin :

  • 878 millions de dollars en mai 2014[7]
  • 300 millions de dollars en janvier 2015[1]
  • 1 milliard de $ de matĂ©riel, et 500 000 $ par heure de fonctionnement en Ă©lectricitĂ©, en mai 2018[4]

Jean-Paul Delahaye propose de le comparer au budget des États (plus de 400 milliards d'euros pour l'État français par exemple), ou des agences gouvernementales (plus de 45 milliards de dollars pour la NSA)[1].

Exemples

2014 : GHash.io (en)

En janvier 2014, une des plus grandes coopératives (GHash.io (en)) de mineurs a atteint 42 % de toute la puissance minière de Bitcoin. La communauté Bitcoin a réagi rapidement pour avertir via les réseaux sociaux de ce danger et ainsi prendre des mesures. À la suite de cela, un grand nombre de mineurs ont décidé de quitter GHash.io et d'aller dans d'autres coopératives moins puissantes.

Grâce Ă  ce mouvement, la puissance de GHash.io a chutĂ© de % pour atteindre un niveau de 38 %[10] - [11].

2018 : Verge[6]

Deux attaques successives, exploitant d'une part l'attaque des 51 % et d'autre part une faille dans le système de sĂ©curitĂ© (Scrypt), ont permis de dĂ©rober l'Ă©quivalent de 1,1 million puis 1,54 million de dollars si on reprend la valeur du XVG au cours de l'Ă©poque[6].

2018 : Bitcoin Gold [5]

17 Ă  18 millions de dollars ont Ă©tĂ© dĂ©robĂ©s sur une plateforme d'Ă©change par une attaque des 51 %[5], sans utilisation de faille dans les scripts. La valeur du Bitcoin Gold a chutĂ© de 20 % Ă  l'annonce de cette attaque avant de remonter lĂ©gèrement, sans toutefois retrouver sa valeur initiale, mĂŞme après trois mois[12].

Références

  1. « L'attaque Goldfinger d'une blockchain - Scilogs.fr :Complexités », sur www.scilogs.fr (consulté le )
  2. « [Bitcoin] L'attaque aux cinquante et un pourcents | Nexus Coding », sur nexus-coding.blogspot.ch (consulté le )
  3. « Combien ça coûterait une attaque 51 % ? – blogchain café », sur blogchaincafe.com (consulté le )
  4. « Quels seraient les coûts d'attaques des 51% menées contre différentes crypto-monnaies ? - Crypto-France », Crypto-France,‎ (lire en ligne, consulté le )
  5. « Bitcoin Gold : une attaque double dépense fait perdre plusieurs millions de dollars à des plateformes d'échange - Crypto-France », Crypto-France,‎ (lire en ligne, consulté le )
  6. « Verge (XVG) : la monnaie numérique anonyme aurait succombé à une nouvelle attaque des 51% - Crypto-France », Crypto-France,‎ (lire en ligne, consulté le )
  7. http://randomwalker.info/teaching/spring-2014-privacy-technologies/state-attack.pdf
  8. https://en.bitcoin.it/wiki/Contingency_plans
  9. « Piratages, escroqueries, systèmes de ponzi... depuis ses débuts, l'écosystème Bitcoin est la cible de nombreuses attaques - Crypto-France », Crypto-France,‎ (lire en ligne, consulté le )
  10. « Une dangereuse suprématie », sur Bitcoin.fr, (consulté le )
  11. Adli, « Ghash.io proche des 50 % - Le Coin Coin », sur Le Coin Coin, (consulté le )
  12. « Bitcoin Gold (BTG) prix, graphiques, cap. marché, et autres indicateurs | CoinMarketCap », sur coinmarketcap.com (consulté le )
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.