Le minage a une fonction bien spécifique dans le protocole Bitcoin : garantir la sécurité du réseau en fournissant les incitations économiques nécessaires à des acteurs afin qu’ils participent de manière honnête. Mais pourquoi parle-t’on de minage et en quoi ce système permet à la blockchain Bitcoin de ne s’être jamais faite pirater en 10 ans ?

Une analogie avec l’or

gold ingots isolated on white background

Le terme minage est utilisé afin de maintenir une référence qu’on utilise fréquemment entre le Bitcoin et les métaux précieux. De même qu’un mineur d’or gagne des pépites avec son travail, les mineurs de Bitcoin gagnent des bitcoins avec leurs machines.

Dans le monde du Bitcoin, les mineurs ont une double fonction essentielle :

  1. garantir l’immuabilité de la Blockchain
  2. participer à la création monétaire

Cet article adresse uniquement le minage par preuve de travail ou ‘’proof of work’’. Les autres formes de minage seront abordées dans un autre article.

Un rôle de création monétaire

Afin que le système puisse fonctionner sans friction, Satoshi Nakamoto a défini des paramètres précis qui assurent le bon comportement des acteurs du réseau. Cela passe par une architecture axée sur la sécurité ainsi que des incitations et pénalités économiques.

Parmi les règles du protocole, on peut lire :

  1. Une inflation monétaire de 50 BTC par bloc de transaction pour commencer.  Elle est divisée par deux tous les 210 000 blocs (soit environ 4 ans). Par extrapolation, la dernière fraction de BTC sera minée aux alentour de 2140 et il existera 21 millions de BTC au total.
  2. Les blocs de transactions sont minés en moyenne toutes les dix minutes via un système de Preuve de Travail. Pour contrôler l’inflation et s’assurer qu’un bloc soit miné en moyenne toutes les dix minutes, la difficulté de minage est réajustée tous les 2016 blocs, soit environs 2 semaines.

Ces règles strictes font de Bitcoin le précurseur de tous les cryptoactifs et un phénomène qui a mis en avant la techologie blockchain. Nous pensons qu’il restera pendant longtemps la référence du secteur et le proposons à l’achat et à la vente sur notre plateforme en ligne.

protocole bitcoin

Une compétition féroce

Ce sont donc les mineurs qui sont responsables de la création de nouveaux bitcoins, via les machines qu’ils utilisent. L’opération de minage est une compétition entre tous les mineurs : ils cherchent à implémenter le prochain bloc de la blockchain Bitcoin avant tous les autres mineurs. Le premier à ajouter le bloc à la blockchain se voit récompenser par l’inflation du réseau et les frais de transactions du bloc. Soit 12,5 BTC plus les frais actuellement. Il diffuse alors son bloc afin que tous les mineurs soient à jour et recommence l’opération pour le bloc suivant.

mining farm

Comme dit précédemment, la difficulté de minage est réajustée automatiquement en fonction du nombre de mineurs en concurrence les uns avec les autres. De quelques ordinateurs répartis dans le monde en 2009, le minage est aujourd’hui une véritable industrie, avec des entreprises faisant fonctionner des réseaux de machines de plus en plus puissantes.

Une garantie de l’immuabilité de la Blockchain

Garantir la sécurité dans un système décentralisé ouvert à tous n’est pas une tâche facile. L’absence de barrière à l’entrée a pour conséquence que des acteurs bienveillants comme des acteurs malveillants peuvent faire tourner le logiciel Bitcoin et participer aux activités de minage.

Le problème principal à résoudre ici est le suivant : comment garantir que toutes les nodes ont le même contenu, et notamment les mêmes transactions, sachant que chaque node est sous le contrôle d’un individu différent ? La solution est d’utiliser un système cryptographique de hachage, qui rend très simple le fait de vérifier l’intégrité des données, mais extrêmement difficile de les corrompre.  

Ce système garantit le principe suivant : afin de modifier ne serait-ce qu’une seule transaction sur la Blockchain, il est nécessaire de régénérer un nouveau hash pour chaque bloc ajouté depuis le moment de la transaction à modifier. Ce coût est absolument prohibitif, estimé sur la blockchain Bitcoin à plusieurs milliards d’euros.

Blockchain Security

Techniquement, cela fonctionne comment ?

Pour participer au processus de minage, il faut faire tourner un noeud Bitcoin et dédier de la puissance de calcul aux opérations de minage.

Des frais de transaction ? Effectivement. Les blocs Bitcoin ont une capacité limitée à environ 1,8Mo. Cela signifie que si plus de 1,8Mo de transactions sont passés toutes les 10 minutes alors le réseau est congestionné. L’utilisateur peut alors ajouter des frais à sa transaction afin d’inciter les mineurs à l’inclure plus rapidement. En général, les mineurs vont ainsi choisir dans la Mempool les transactions qui les rémunèrent le mieux. La Mempool est l’espace où se situent les transactions en attente de validation.

Cela passe par l’utilisation de fonctions de hashage.  Un hash est une empreinte numérique unique, résultat d’une fonction de hashage qui transforme une entrée de n’importe quel nombre de caractères en une suite de caractères unique à taille fixe :

Fonction de hachage

Il existe plusieurs type de fonction de hashage. Sur bitcoin c’est aujourd’hui SHA256, créé par la NSA, qui est utilisé.

Le moindre changement, même mineur, sur la chaîne de caractères initiale se répercute de manière extrêmement visible sur le résultat de l’algorithme : le hash du document modifié est totalement différent du hash du document original.

La fonction de hachage

Sur Bitcoin, tout est répertorié sous la forme de hash.

Ainsi, 00000000000000000030810306e1c3ddc77b36e19a921960dc1c9e542ece233c est le hash du bloc 555749 et 356fd1ede1d274537522d3104cda03e052e54e25661f44b93deb4fc4f5edfa12 est le hash d’une des transactions incluses dans ce bloc. Vous comprendrez plus tard pourquoi le hash du bloc commence par autant de zéros.

Les mineurs doivent traiter l’intégralité des informations contenues dans le bloc de transactions qu’ils souhaitent ajouter, c’est-à-dire:

Un exemple de hash résultant est : dcc77bf22b508e438be3d6dfe1ab634b27d9c772ab6934bc7410d0486c83d6b6.

Le hash a une taille fixe de 256 bits. Sa valeur nominale est totalement aléatoire. Comme nous l’avons vu, le hash du bloc 555749 est 00000000000000000030810306e1c3ddc77b36e19a921960dc1c9e542ece233c. En hexadécimal, plus le hash commence par un nombre de zéros plus la valeur est petite.

Pour obtenir un tel hash, il n’y a pas d’autre solution que de faire des quantités astronomiques d’essais. C’est à ça que sert la puissance de calcul dépensée et c’est de cette manière que la difficultée est réajustée sur Bitcoin. Pour comparaison, le hash du bloc n°0 est le suivant 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. Il commence par moins de zéros car la difficulté était bien moins élevée. Satoshi Nakamoto était le seul mineur de la chaîne.

Le Nonce est un chiffre arbitraire qui est changé à chaque nouvel essai et permet d’obtenir un nouveau hash pour un bloc qui contient les même transactions. Une fois tous les essais de nonce passé, il existe un extra-Nonce qui peut être incrémenté, avec en prime le timestamp qui change toutes les secondes. Ce système permet de supporter une charge très importante de puissance de calcul sur le réseau tout en assurant que les blocs soient minés en moyenne toutes les dix minutes.

bitcoin hash

Une fois le hash trouvé, le bloc est poussé sur le réseau. Si celui-ci est cohérent avec l’historique de la blockchain et respecte les règles du protocole, alors il est ajouté et le réseau se synchronise dessus. Sinon, le bloc est rejeté par le réseau.



Pourquoi une attaque sur le réseau Bitcoin est improbable ?

Un attaquant qui chercherait, par exemple, à dépenser deux fois des bitcoins qui lui appartiennent doit d’abord dépenser une puissance de calcul très importante avant de pousser ce bloc sur le réseau. Le bloc, ne respectant pas les règles, serait alors rejeté. L’attaquant aurait donc dépensé de l’argent pour rien. Il est perdant. Si il avait poussé un bloc honnête il aurait récupéré 12.5 BTC plus les frais de transaction.

De plus, si un attaquant souhaite revenir plusieurs blocs en arrière, le hash de chaque bloc étant inclus dans le bloc qui le suit (d’où le nom “chaîne de blocs”), il devra alors recalculer l’intégralité des hash pour que l’information reste cohérente pour les noeuds qu’il cherche à tromper. C’est une tâche d’autant plus compliquée pour chaque bloc que l’on cherche à remonter.

En résumé, la preuve de travail, utilisée dans les activités de minage sur Bitcoin, est un système extrêmement robuste, non seulement pour garantir l’intégrité du réseau Bitcoin et de toutes ses transactions, mais également pour y stocker des données dans une logique de notarisation de l’information. C’est à ce jour le mécanisme le plus sécurisé pour faire fonctionner un système d’échanges décentralisé.

Don't miss out!
Devenez un investisseur averti !

Vous avez aimé ce contenu ? Inscrivez-vous à notre newsletter et recevez un condensé de l'actualité décryptée par nos experts !

Invalid email address
Votre email est en sécurité, vous pourrez vous désinscrire à tout moment.
partages
Bitnami