Le minage du Bitcoin

Cet article a été écrit par Edouard Fillon du Comité Blockchain d’HEC Montréal, dans le cadre du Kalendrier de l’Avent. N’hésitez pas à leur rendre une petite visite sur leur Facebook ou leur LinkedIn !

Le minage des crypto-monnaies est une activité florissante à la source de la sécurisation des blockchains, ainsi que de nombreux débats dans l’écosystème crypto.

Le minage ou mining en anglais, est le processus qui permet de valider des transactions, ajouter de nouvelles informations et de créer de nouveaux jetons numériques. Les mineurs permettent ainsi à une blockchain de fonctionner sur un réseau pair à pair décentralisé.

Les fonctions du minage

Le minage remplit plusieurs fonctions, dont les principales sont :

  • Sécuriser le réseau : Plus il y a de mineurs branchés sur le réseau, plus celui-ci est sécurisé. On parle de puissance de minage distribué (appelé hashrate). En théorie, la seule façon d’annuler les transactions Bitcoin est si la majorité (51%) contrôlait le taux de hachage du réseau.
  • Émettre de nouveaux jetons : Alors que les banques centrales émettent des monnaies fiduciaires, un Bitcoin doit être extrait. C’est un concept similaire à l’extraction de l’or dans la mesure où les Bitcoins existent dans le logiciel mais ne sont pas en circulation et doivent donc être « mis à la terre ».
  • Confirmer les transactions : Une transaction n’est confirmée que lorsqu’elle est incluse dans le bloc inséré dans la Blockchain. Plus il y a de confirmations, plus un paiement est considéré comme sûr.

Un cas d’école : le minage du Bitcoin

Bitcoin est basé sur une Blockchain régulée par un réseau de nœuds (d’ordinateurs), il en existe deux types :

  • Des nœuds de validation qui communiquent avec d’autres nœuds du réseau pour documenter et synchroniser les informations.
  • Des nœuds d’exploitation qui sont chargés de prendre toutes les nouvelles transactions et de les ajouter sous forme de blocs pour constituer la blockchain.

Sur la blockchain Bitcoin, les mineurs s’affrontent pour résoudre des problèmes mathématiques complexes. Une fois qu’un mineur a trouvé la solution, il la partage avec le reste du réseau afin de pouvoir vérifier la solution et confirmer l’ajout du bloc.

Les mineurs doivent chercher un nombre pour « résoudre » le bloc. Comment cela fonctionne-t-il ?

La fonction de hash

Pour faire simple, une fonction de hachage est une série d’algorithmes que vous pouvez appliquer aux données et produire un seul « hachage » – (un hach n’est qu’un nombre). Il existe des fonctions de hachage de base et des fonctions de hachage cryptographiques, ces dernières étant utilisées dans la blockchain.

Dans chaque jeton, il y a un « compartiment » du bloc dédié à être remplie par un nombre aléatoire, également connu sous le nom de nonce (« nombre utilisé une seule fois »). Chaque mineur prend des transactions en attente d’être validées (dans ce qu’on appelle le pool de mémoire) et en construit un bloc. Une fois qu’il a haché chaque transaction, ils les organisent en paires et hash à nouveau pour former ce que nous appelons un « arbre de hachage ». Ce processus est répété jusqu’à ce qu’il obtienne un seul hash qui représente tous les hachages précédents. Fondamentalement, pour résoudre le hachage, le mineur doit, par essais et erreurs, déterminer le nombre à utiliser comme nonce, afin d’obtenir un hash du bloc commençant par un certain nombre de zéros consécutifs.

En théorie, les utilisateurs pourraient également obtenir la valeur de sortie correcte en modifiant les détails de la transaction existant dans la blockchain, c’est pourquoi une preuve de travail (proof of work) est nécessaire, et le mineur doit partager la réponse avec les autres nœuds pour qu’ils puissent vérifier. Une fois qu’un mineur a trouvé une réponse, il la partagera avec les autres nœuds pour qu’ils puissent la vérifier.

La difficulté

Le niveau de difficulté du problème est déterminé par le nombre de mineurs et la puissance de calcul du réseau. À mesure que de plus en plus de mineurs se joignent, le niveau de difficulté augmente pour compenser afin que le taux de création de blocs n’augmente pas. Cela garantit une production régulière de jetons ; actuellement, le temps moyen d’ajout d’un bloc est de 10 minutes.

Récompenses

Pour chaque bloc exploité avec succès, le mineur est récompensé en bitcoins. Pour assurer un approvisionnement régulier, le montant de la récompense diminue de moitié tous les 210 000 blocs (environ tous les quatre ans). En décembre 2019, 18 millions de bitcoins sur un total de 21 millions avaient ainsi été extraits.

L’avenir du minage

L’actualité au sujet du minage gravite actuellement sur la diminution de la récompense par 2 courant mai 2020 ; le fameux Halving. Cet évènement risque de marquer l’écosystème Bitcoin du point de vue des mineurs ainsi que des spéculateurs.

Aujourd’hui l’activité du minage bien qu’indispensable à la sécurité du réseau de certaines crypto-monnaies, reste très couteuse en équipements informatique et en énergie. Cependant, des améliorations voient le jour, telles que de nouvelles machines moins énergivores en électricité ou encore des solutions alternatives de consensus comme la preuve d’enjeux (proof of stake). Un mécanisme en cours d’implantation sur la blockchain Ethereum.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.