S'inscrire
S'inscrire
L'attaque des 51 % sur Bitcoin suscite parfois des inquiétudes au sein de la communauté. Ces craintes ne sont pas infondées. En effet, bien qu'aucune attaque de cette nature ne se soit produite à ce jour, nous avons déjà été témoins d'un contrôle de plus de 50 % de la puissance de calcul par la pool de minage GHash.io en 2014.
Bien que le terme d’ « attaque des 51 % » soit connu, son mécanisme et ses conséquences sont souvent mal compris. Dans cet article, nous vous proposons une explication à la fois simple et détaillée de ce qu'implique une attaque des 51 % sur Bitcoin. Nous examinons son fonctionnement, ses objectifs, ses limites, ainsi que les stratégies de prévention et de riposte face à une telle menace.
Une attaque des 51 % est un scénario dans lequel un acteur malveillant ou un groupe coordonné d’acteurs malveillants contrôle plus de la moitié de la puissance de minage du réseau Bitcoin (hashrate). Cette situation présente un risque, car elle permet à l'attaquant de manipuler la blockchain en refusant d’intégrer les blocs des autres mineurs. Lorsqu'un acteur malveillant se retrouve dans cette situation et abuse de sa position dominante pour réaliser des actions frauduleuses, on parle alors d’une attaque des 51 %.
Les objectifs d'une attaque des 51 % sur Bitcoin peuvent varier, mais ils sont généralement motivés par le profit ou la volonté de nuire au système.
Tout d'abord, un attaquant contrôlant plus de la moitié de la puissance de calcul du réseau est en mesure de réaliser ce que l'on appelle une « double dépense ». Autrement dit, il peut utiliser le même morceau de bitcoin (UTXO) dans plusieurs transactions différentes, spoliant ainsi les destinataires pour s'enrichir sur les contreparties de ces transactions.
Pour bien comprendre le processus d’une double dépense, prenons l'exemple d'un attaquant se rendant chez un boulanger pour acheter une baguette en BTC. Il réalise une transaction de paiement légitime puis récupère sa baguette.
L’attaquant va ensuite générer une seconde transaction, concurrente de celle utilisée pour l'achat de la baguette. Cette nouvelle transaction réutilise les mêmes bitcoins, mais les envoie cette fois à une adresse de réception appartenant à l'attaquant.
Normalement, la transaction initiale étant la première incluse dans un bloc, la seconde transaction (frauduleuse) ne devrait pas être confirmée. Pour parvenir à ses objectifs, l'attaquant cherchera à annuler le bloc contenant la transaction légitime en minant son propre bloc qui inclut la transaction frauduleuse. Cela créera donc deux chaînes concurrentes.
Afin de faire prévaloir sa chaîne contenant la transaction frauduleuse, l'attaquant doit miner de nouveaux blocs par-dessus le sien pour dépasser la chaîne honnête et provoquer une réorganisation des nœuds. Cette réorganisation sur plusieurs blocs est rendue possible grâce à la domination de l'attaquant sur le hashrate global. Ainsi, il peut miner une chaîne pouvant potentiellement surpasser celle produite par les autres mineurs. Si cela se produit, les nœuds accepteront la chaîne frauduleuse, car elle représente la blockchain la plus longue (avec le plus de travail accumulé).
Si ce scénario réussi, l'attaquant parvient à récupérer les bitcoins dépensés pour l'achat de la baguette sans avoir à la rendre au boulanger. En somme, il obtient sa baguette gratuitement (la baguette et l’argent de la baguette).
Mis à part cette opération de double dépense, l'attaquant pourrait également tirer avantage de sa position avec plus de 50 % du hashrate pour perturber le fonctionnement normal de Bitcoin en censurant des transactions. Puisqu’il dispose du pouvoir de n’accepter que les blocs qu’il mine lui-même tout en ayant une chaîne avec plus de travail accumulé, il peut décider de façon arbitraire de ne pas inclure certaines transactions dans la blockchain.
Il est important de comprendre que les risques associés à une attaque des 51 % sur Bitcoin se limitent principalement à ces deux conséquences : la double dépense et la censure. Contrairement aux idées reçues, une telle attaque ne permet pas de casser irrémédiablement l'innovation de Satoshi, de dépasser la limite des 21 millions de bitcoins en en créant ex nihilo, ou de voler les bitcoins d'autres utilisateurs. L'impact de cette attaque concerne uniquement les transactions futures et ne permet pas de modifier celles passées.
Dans le cas d'une double dépense, comme nous l'avons expliqué, l'attaquant peut uniquement agir sur ses propres transactions. Ainsi, dans notre exemple, l'attaquant aurait pu récupérer les bitcoins qu'il a dépensés chez le boulanger, mais seule cette transaction serait affectée.
De plus, mener une attaque des 51 % requiert une puissance de calcul colossale, rendant son coût prohibitif pour la plupart des acteurs. Ces coûts comprennent l'acquisition massive d'ordinateurs spécialisés, que l’on appelle des « ASIC » (Application-Specific Integrated Circuit), de sources d'énergie importantes, de locaux pour les héberger, et d'une main-d'œuvre pour leur maintenance. Au vu du taux de hachage actuel sur Bitcoin, une telle attaque, en plus d'être extrêmement coûteuse, pourrait se heurter à des limites physiques, telles que la capacité de production des ASIC ou la disponibilité de l'énergie sur Terre.
Par ailleurs, une attaque des 51 % n'est pas un acte ponctuel. Pour être efficace, elle doit être maintenue sur la durée, en raison du processus de confirmation des transactions. Plusieurs confirmations (généralement 6) sont requises pour qu'une transaction soit considérée comme immuable. Pour réaliser une double dépense, l'attaquant doit donc garder le contrôle sur la majorité de la puissance de calcul pendant un temps suffisant pour dépasser le nombre de confirmations attendues par les victimes.
Si l’objectif de l’attaquant est la censure, il doit maintenir sa dominance aussi longtemps qu’il souhaite censurer. Dès qu’il commence à faiblir, les blocs concurrents, qui ne censurent pas, ne pourront plus être surpassés par l’attaquant.
Cette difficulté supplémentaire liée au maintien de l'attaque dans le temps est spécifique aux cryptomonnaies fonctionnant sur un consensus par preuve de travail. Dans le cas d'une attaque des 51 % sur un système par preuve d'enjeu (comme Ethereum), il n'est pas possible de déloger naturellement l'attaquant, car le coût marginal à la multiplication des votes est établi sur la même ressource que celle octroyée en récompense de la production de blocs. Notons tout de même que la preuve d’enjeu permet de réduire la rentabilité d’une telle attaque.
Vous l’aurez compris, une attaque des 51 % sur Bitcoin est facilement détectable, complexe et onéreuse à exécuter, pour un bénéfice relativement limité pour l'attaquant. Selon la théorie des jeux, il est économiquement beaucoup plus rentable pour un mineur de participer honnêtement au réseau Bitcoin que de tenter une telle attaque. En participant de manière honnête, un mineur reçoit des récompenses en bitcoins pour chaque bloc validé, ce qui représente un revenu régulier et assez prévisible. En revanche, une attaque des 51 % exige de lourds investissements en équipement et en énergie, mais l’attaquant n’a aucune garantie de bénéfices sur cette opération. De plus, la perte de confiance résultant de l'attaque pourrait entraîner une chute de la valeur du bitcoin, diminuant ainsi la valeur d'éventuelles récompenses obtenues par l'attaquant.
C'est pourquoi il est extrêmement improbable qu'un acteur rationnel entreprenne une telle attaque. Si elle devait toutefois se produire et être maintenue sur la durée, plusieurs mécanismes de défense existent pour permettre aux utilisateurs honnêtes de contrer cette attaque.
➤ En savoir plus sur le fonctionnement de la preuve de travail.
La prévention d'une attaque des 51 % sur Bitcoin implique principalement d'augmenter et de décentraliser la puissance de calcul du réseau. Comme nous l'avons expliqué, une telle attaque nécessite de contrôler plus de 50 % de la puissance de minage. Pour y parvenir, l'attaquant a donc 2 choix :
La décentralisation du minage permet de rendre plus complexe la première option pour l’attaquant. Si une seule grosse entreprise de minage détenait 50 % de la puissance de calcul, il serait relativement facile pour une autorité, comme le gouvernement américain, de prendre le contrôle de cette entreprise. En revanche, si la puissance de minage est répartie entre des centaines d’entreprises dans différents pays, la tâche devient nettement plus complexe. La décentralisation du minage, à travers diverses entreprises, pays et individus, est donc une mesure de prévention importante.
Ensuite, augmenter la puissance de calcul rend plus difficile la seconde option. Plus le hashrate est élevé, plus il est complexe pour un attaquant de produire suffisamment de machines pour surpasser le hashrate existant.
Une autre facette importante de la prévention réside dans l’instruction des utilisateurs de Bitcoin, comme nous le faisons à travers le blog Comprendre Bitcoin. Un utilisateur qui conserve lui-même ses bitcoins (self custody) et possède son propre nœud complet est à l'abri des manipulations indues et peut choisir les règles de consensus qu'il souhaite soutenir via son activité économique.
Bien que les mineurs jouent un rôle crucial dans le système Bitcoin, ce sont finalement les utilisateurs, via leur activité économique, qui détiennent le pouvoir décisionnel. Si un acteur parvenait à maintenir durablement une attaque des 51 % avec un objectif de censure, il pourrait être délogé naturellement par le marché. En effet, les utilisateurs censurés, face à l'incapacité de voir leurs transactions confirmées, vont augmenter leurs frais de transaction. Cette augmentation des frais fonctionne comme un mécanisme permettant de contrer la censure. Cela incite les mineurs honnêtes à déployer un hashrate suffisant pour confirmer les transactions censurées et rétablir ainsi un fonctionnement normal du réseau.
Il serait également possible de procéder à des modifications par un hard fork pour rejeter les blocs de l'attaquant. Dans l'hypothèse la plus extrême, un changement de l'algorithme de preuve de travail pourrait même être envisagé pour instantanément neutraliser l'attaquant, rendant l’intégralité de sa puissance de calcul obsolète. Son investissement massif dans des machines de minage deviendrait alors inutile. Adopter une telle solution ne serait qu'une mesure temporaire, loin d'être idéale, puisqu'elle aurait pour effet de diminuer la sécurité de Bitcoin à court terme. Mais cette simple menace par les opérateurs de nœuds en soi peut suffire à dissuader un acteur malveillant de lancer une telle attaque. C’est ici un jeu de dissuasion similaire à un UASF (User Activated Soft Fork), où la majorité économique entre en jeu pour soutenir l’utilité de la monnaie.
➤ En savoir plus sur les jeux de pouvoir sur Bitcoin.
L’attaque des 51 % est souvent surestimée sur Bitcoin. Non seulement elle est très complexe à mettre en place puis à tenir dans la durée, mais les bénéfices potentiels pour l’attaquant sont également faibles et incertains. En effet, si une telle situation advenait, elle ne permettrait pas à l’attaquant de voler des bitcoins en dehors de ses transactions personnelles, ni de créer des pièces à partir de rien.
Cette attaque permet essentiellement deux choses : la double dépense (exclusivement depuis une transaction que l’attaquant a lui-même propagée) et la censure de certaines transactions. Par ailleurs, ce type d’attaque est assez facilement détectable et il existe de nombreuses manières de la contrer.
Même s’il convient de travailler à la décentralisation de la puissance de calcul pour prévenir ce type d’attaque, il ne faut pas non plus la brandir comme une fatalité qui viendrait détruire Bitcoin du jour au lendemain.