Qu'est-ce que 51% d'attaque?

Sep 09

Introduction

Les crypto-monnaies basées sur la blockchain font l'objet de la soi-disant attaque de 51%: lorsque plus de la moitié de la puissance de calcul d'un réseau de crypto-monnaie est contrôlée par une organisation ou un groupe d'individus, il devient possible de mener des transactions conflictuelles ou des dommages malveillants.

Une attaque de 51% est une attaque potentielle (ou une attaque sur un autre réseau blockchain), de sorte qu'une organisation peut contrôler la majeure partie du taux de hachage. Une telle situation peut entraîner une défaillance du réseau. En d'autres termes, un attaquant avec un taux de hachage de 51% a suffisamment de pouvoir pour exclure ou réorganiser délibérément des transactions.

Quels sont les risques d'une attaque à 51% ?

Une attaque à 51% permet à un attaquant d'annuler des transactions effectuées au moment du contrôle, ce qui est susceptible d'entraîner le problème de la double dépense. Une attaque majoritaire réussie permettra également à un attaquant d'empêcher la confirmation de certaines ou de toutes les transactions (également connu sous le nom de déni de service), ou d'empêcher l'extraction de certains ou de tous les autres mineurs, conduisant au soi-disant monopole minier.

D'autre part, l'attaque majoritaire ne permettra pas à un attaquant d'inverser les transactions d'autres personnes ou d'empêcher la distribution des transactions sur le réseau. Changer la récompense d'un bloc, créer des pièces depuis les airs ou voler des pièces qu'un attaquant n'a jamais eues est également un scénario incroyable. Une attaque de 51% ne peut être effectuée que dans des chaînes de blocs avec un consensus d'algorithme.

Qu'est-ce que la preuve de travail?

La preuve de travail (POW) est le premier algorithme de consensus décentralisé réussi dans la blockchain. PoW est utilisé dans, (Ethereum prévoit de passer à la preuve de participation), ,,, et de nombreuses autres plates-formes.

Preuve de travail en détails

Tout d'abord, les utilisateurs s'envoient des pièces. Ensuite, toutes les transactions forment des blocs et sont enregistrées dans une blockchain ou dans un registre dit décentralisé.

Toutes les transactions sont confirmées à l'aide de calculs mathématiques complexes, dont l'exactitude peut être vérifiée par tout utilisateur du réseau. Les mineurs s'occupent de la formation d'un nouveau bloc et de la confirmation de la transaction. Si un mineur a réussi à résoudre le problème, un nouveau bloc est formé: l'ensemble suivant de transactions y est placé et elles sont considérées comme confirmées. 

Pourquoi quelqu'un attaquerait le réseau?

Le plus grand danger pour le système est la double dépense. Ainsi, un attaquant qui possède 51% de la puissance peut créer une blockchain alternative cachée et l'utiliser pour confirmer ses propres transactions. Par exemple, la confirmation d'une transaction dans le réseau Bitcoin nécessite six blocs de transaction ouverts. En conséquence, un attaquant doit créer six blocs. Puis il retire ses fonds sur la blockchain principale. Par exemple, transfère sur un autre compte ou paie l'achat et ouvre sa propre chaîne de blocs, provoquant un conflit dans le système. Si les deux mineurs ont trouvé la bonne solution pour un bloc, un réseau est ramifié, où les deux solutions ont le droit d'exister et sont incluses dans le bloc de transactions suivant.

Les 49% restants de la capacité du réseau confirment le débit des fonds du compte. Cependant, comme l'attaquant a un pouvoir de contrôle, le système reconnaît que son réseau est fidèle, dans lequel il n'a pas encore débité les fonds, et il rejettera la transaction confirmée par d'autres mineurs car le bloc de l'attaquant est plus complexe. En conséquence, le système affichera le solde avant la transaction et l'attaquant pourra dépenser de l'argent plusieurs fois de plus, mais à chaque fois, le coût des pièces diminuera.

Un double retrait de fonds est possible avec moins de contrôle de la capacité, mais une concentration de 51% garantit à 100% que le bloc de l'attaquant sera reconnu comme le bon bloc.

Ayant entre les mains 51% de la capacité du système, l'attaquant devient pratiquement le propriétaire de la blockchain, peut générer indépendamment des blocs, confirmer et rejeter des transactions. Ayant saisi le système, il peut également arrêter son travail en refusant de confirmer toutes les transactions.

Comment l'attaque de 51% affecte les utilisateurs de crypto-monnaie

Une attaque de 51% a quatre types de conséquences, qui peuvent parfois être très dangereuses pour les victimes du réseau:

L'un d'eux est l'exploitation minière égoïste lorsque les attaquants profitent de leur majorité pour recevoir des récompenses. Si un bloc est exploité simultanément, les mineurs doivent voter sur le bloc qu'ils choisissent. Le gagnant a plus de chances pour le bloc suivant. Étant donné que la majeure partie du réseau doit prendre une décision à ce sujet, un attaquant peut utiliser sa capacité à exploiter ses propres blocs et à continuer à extraire en étant au sommet, sans attendre l'approbation du réseau.

Deuxièmement, un attaquant qui a une majorité de 51% sur le réseau peut décider d'annuler des transactions. Il peut détruire tout le réseau sans accepter de transactions sur l'un des blocs que l'attaquant extrait égoïstement.

La troisième conséquence est un problème que chaque blockchain est le plus préoccupé et cherche à éviter à tout prix. Vous le savez déjà car il s'agit de dépenses doubles, ce qui signifie dépenser la même pièce sur plusieurs transactions en même temps. Étant donné que la nature décentralisée de la blockchain empêche les coûts doubles, un attaquant avec 51% a l'autorité centrale pour cela, car d'autres mineurs sont compromis. Les coûts doubles continus porteront la valeur d'une crypto-monnaie à zéro. Ce dernier se produit lorsque l'attaquant crée un fork dur sur la blockchain. La raison en est peut-être l'utilisation de coûts doubles lors de la séparation des chaînes.

Alternativement, une autre raison pourrait être la lutte avec d'autres mineurs qui ont peut-être réussi à créer un bloc. Dans ce cas, l'attaquant peut briser la chaîne de ce nouveau bloc.

Historique des attaques de 51%

En 2014, le Ghash.io pool a pris le contrôle de 55% du réseau Bitcoin. Malgré le fait qu'il ne s'agissait pas d'une attaque planifiée et que le pool a volontairement accepté de réduire les indicateurs de puissance et promis de ne pas dépasser 40% du seuil, le taux de Bitcoin a chuté d'un quart du coût.

En 2016, Krypton et Shift, deux crypto-monnaies opérant sur la base d'Ethereum, ont été attaquées par un groupe de pirates se faisant appeler “Team 51”. En conséquence, les fraudeurs ont réussi à double débit et à voler 22 000 pièces via Bittrex.

Le cas le plus précédent s'est produit avec la crypto-monnaie Verge, mais cette attaque a été possible en raison d'une erreur dans le code. La crypto-monnaie anonyme a fonctionné à la fois sur plusieurs algorithmes qui ont dû changer avec la création de chaque nouveau bloc. Cependant, le code a un bogue en raison duquel les attaquants ont envoyé des blocs avec un faux horodatage au réseau.

Les blocs ont été générés et envoyés toutes les secondes, au lieu de toutes les 30 secondes. L'attaque a duré trois heures. Les pirates ont réussi à capturer 99% des blocs. Selon les données officielles fournies par les développeurs, il était possible de retirer frauduleusement 250 000 jetons du système. Cependant, selon les utilisateurs, le chiffre réel atteint près de 4 millions.

Combien ça va coûter?

Une attaque de 51% sur les chaînes de blocs de crypto-monnaies populaires nécessite de gros investissements. Selon le site Web Crypto51, 1 heure d'attaque à 51% sur le réseau Bitcoin coûtera 355 883 $, sur le réseau Ethereum - 98 572 $ et sur la blockchain Ethereum Classic – 4 534 $. Le coût de l'attaque dépend de la puissance de calcul du réseau.

Des scientifiques de l'Institut indien de technologie ont mené une étude des chaînes de blocs de différentes crypto-monnaies et ont conclu que la blockchain bitcoin est le réseau décentralisé le plus sécurisé. Selon les chercheurs, une attaque de 51% sur la blockchain BTC ne rapportera pas de profit, car le réseau est protégé des doubles dépenses. Un attaquant ne pourra ajouter ou supprimer que des informations de transaction des blocs, tandis que les pièces resteront dans les portefeuilles des utilisateurs.

Protection contre une attaque de 51%

À l'heure actuelle, pour protéger une crypto-monnaie de l'attaque, il faut augmenter la popularité et la puissance du réseau, respectivement, pour offrir de nouvelles idées et attirer de nouveaux publics.

Tant que l'exploitation minière reste rentable et qu'il y a un grand nombre d'utilisateurs sur le réseau, il est extrêmement difficile d'attaquer le système. Dès que le bénéfice de l'exploitation minière devient inférieur au coût d'achat et d'entretien de l'équipement, les mineurs retireront leur pouvoir du système et le réseau deviendra vulnérable.

Une autre solution est l'algorithme de point de vente. Malgré le fait que la possibilité théorique d'attaque existe, ce n'est absolument pas rentable. Pour prendre en charge 51% du réseau, vous devez acquérir 51% de tous les jetons système, ce qui est même plusieurs fois plus élevé que le coût de l'équipement informatique. De plus, ce n'est pas un fait que les développeurs ne le remarqueront pas à temps et ne prendront pas de mesures rapides pour neutraliser l'attaque.

Comment refuser l'attaque?

Si une attaque de 51% est détectée à temps, les développeurs peuvent utiliser hardforks.

Hard fork est un changement fondamental dans le code de crypto-monnaie, après quoi la connexion avec l'ancien logiciel sera complètement rompue. Pendant la fourche dure se produit la création d'une nouvelle crypto-monnaie et la scission du réseau.

Pour les détenteurs de pièces, la fourche dure n'est pas essentielle, car à l'avenir, ils auront la possibilité de transférer l'épargne vers un nouveau système. Cependant, pour l'attaquant, une telle solution signifie perdre la valeur du butin.