L’incident de GHash.IO
En juin 2014, le mining pool GHash.IO a réuni 55 % du taux de hachage, ou « hashrate », de Bitcoin en 24 heures. Le concept d’attaque à 51 % était, jusqu’à ce moment, purement hypothétique, concernant principalement le réseau Bitcoin, mais tout à coup cette crainte était devenue réalité. Bien qu’un mois plus tard, la participation au réseau de GHash.IO était tombée aux alentours de 38 %, le risque qu’un mineur ou qu’un mining pool prenne de nouveau le contrôle demeurait. Dans ce cas précis, GHash.IO s’est engagé à se tenir volontairement à l’écart.
Dans la plupart des cas, les attaques à 51 % ne rencontrent aucun succès, ou pas pour très longtemps. Pour être exact, l’incident de GHash.IO n’était pas vraiment une attaque à 51 % puisque le groupe de mineurs n’a pas essayé de différer des blocs ou d’effectuer des doubles-dépenses sur le réseau. Malgré tout, d’autres attaques à 51 % ont eu lieu depuis, sur des plus petits réseaux, dont Ethereum Classic. À ce jour, Bitcoin reste sécurisé grâce à son important volume et l’accord de toute la communauté Bitcoin de préserver le réseau à tout prix.
Dans la plupart des cas, les attaques à 51 % ne rencontrent aucun succès, ou pas pour très longtemps.
Que se passe-t-il lors d’une attaque à 51 % sur un réseau blockchain ?
En temps normal, les bitcoins sont générés pendant le mining par les ordinateurs. Les nodes de mining sont des ordinateurs en compétition les uns contre les autres pour trouver des hashs valides en entrant différentes combinaisons de hachage. L’objectif de chaque node est d’être le premier mineur à valider un nouveau bloc. Lorsqu’un mineur trouve une combinaison de hachage valide, le bloc nouvellement miné est alors ajouté à la blockchain et approuvé comme légitime par le réseau.
On appelle « consensus » l’accord des nodes concernant les critères de légitimité d’un bloc. La majorité des nodes doit donc s’entendre sur les critères de validité d’un nouveau bloc. Si différents mineurs valident différents blocs en même temps, les nodes font confiance à la plus longue blockchain et y ajoutent le bloc.
Plus de 50 %
Toutefois, si une entité du réseau contrôle plus de 50 % de la puissance de calcul, en théorie elle pourrait tenter de sélectionner le bloc actuel et commencer à miner et à différer les blocs validés. Une fois mise en place, cette blockchain concurrente dépasserait alors la blockchain initiale, effaçant toutes les transactions qui ont eu lieu depuis le fork et, par conséquent, sabotant l’immuabilité du réseau. Cette entité pourrait également refuser de valider les blocs minés pas d’autres participants du réseau, s’assurant ainsi que la concurrence ne reçoit jamais une part équitable, et pourrait mettre sur liste noire certaines adresses Bitcoin.
Une véritable attaque à 51 % peut avoir lieu en quelques étapes seulement. Tout d’abord, l’entité ou la personne qui souhaite attaquer le réseau doit disposer d’une puissance de hachage suffisante pour réussir à miner des blocs en secret sur une copie de la blockchain du réseau. Cette blockchain secrète évolue en parallèle de l’originale. Par conséquent, la clé pour réaliser une attaque à 51 % est d’acquérir la puissance de hachage d’un réseau, d’où la nécessité de rendre cette opération aussi coûteuse que possible. Si un acteur malveillant ne peut pas payer pour prendre le contrôle d’un réseau, alors une attaque à 51 % ne peut pas se produire.
La prévention des attaques à 51 %
Dans son whitepaper, Satoshi Nakamoto a décrit la nature des frais de transaction du réseau Bitcoin comme une incitation pour les nodes à rester honnêtes. En veillant à ce qu’aucun mineur, groupe de mineurs ou mining pool ne contrôle plus de 50 % de la puissance de calcul du réseau Bitcoin, il est peu probable qu’un mineur ou un groupe voulant attaquer le réseau puisse copier la plus longue blockchain validée existante. Un tel exploit nécessiterait une quantité incroyable de matériel et d’énergie. En outre, l’auteur potentiel de l’attaque aurait besoin d’une bonne dose de chance en raison du caractère aléatoire du processus de mining.
Il semble peu probable qu’une attaque à 51 % ait lieu sur le réseau Bitcoin, en raison de sa taille et de son taux de hachage. Selon une estimation, le coût d’une attaque à 51 % sur le réseau Bitcoin s’élèverait à un peu plus de 15 milliards de dollars américains. Cependant, de nombreux altcoins sont menacés. Il suffit de louer un équipement de mining suffisamment puissant qui n’a pas besoin d’être gardé chez soi et d’avoir un apport initial relativement important. C’est ainsi qu’Ethereum Classic a été piraté et que les hackers ont volé plus d’un million de dollars de sa cryptomonnaie native. Le taux de hachage global du réseau n’équivaut tout simplement pas à celui de Bitcoin.
La proof-of-stake
Néanmoins, même pour les plus petits réseaux blockchain, il reste crucial de faire en sorte qu’il soit le plus difficile possible pour un mineur de devenir l’acteur majoritaire. Tous les réseaux proof-of-work encouragent les mineurs à optimiser leur équipement en permanence, sans quoi, ils commenceraient à prendre du retard sur tous les autres participants du réseau et ne recevraient aucune récompense de bloc.
Dans cette optique, certains partisans de la proof-of-stake (« PoS ») estiment que cette dernière est un mécanisme de consensus plus sécurisé que la proof-of-work en ce qui concerne le risque d’attaque à 51 %. Il est vrai que, dans sa forme la plus élémentaire, la PoS incite au contrôle par les utilisateurs les plus riches, mais dans la plupart des cas, les réseaux ont dépassé cette structure pour adopter des alternatives plus décentralisées, tels que la Delegated-Proof-of-Stake (DPoS) ; que nous avons mentionné dans le cours 7.