Qu’est-ce que la hashrate et la difficulté d’exploitation minière ?

Que vous soyez nouveau dans le monde de Bitcoin et que vous souhaitiez approfondir son concept ou que vous soyez un utilisateur expérimenté et que vous cherchiez à construire votre première plate-forme minière, vous devez savoir comment l’exploitation minière est réalisée et quelles sont les exigences pour y parvenir.

La terminologie utilisée pour décrire le processus minier peut prêter à confusion pour certains. Il y a donc beaucoup d’idées fausses sur ce processus, surtout lorsqu’il s’agit d’utilisateurs inexpérimentés. Aujourd’hui, nous allons vous expliquer la logique simple de l’exploitation minière et vous parler de la seule façon dont les nouveaux bitcoins entrent dans le réseau. Allons-y tout de suite !

La preuve de travail

Beaucoup des technologies utilisées par Bitcoin n’étaient ni nouvelles ni révolutionnaires au moment de son lancement. Avant 2008, il y avait eu plusieurs tentatives de création d’argent sur Internet, comme le E-gold. Cependant, ils ont soit besoin d’une entité centralisée pour contrôler le processus, soit ils sont vulnérables à la double dépense – une situation où un acteur malveillant effectue deux transactions à une adresse différente sur le même montant d’argent en même temps. Dans le cas d’une attaque à double dépense, un véritable réseau peer-to-peer ne serait pas en mesure de distinguer quelle transaction est arrivée en premier et approuverait les deux. En conséquence, il n’existait aucun moyen durable de transférer de l’argent sur Internet de manière décentralisée.

La beauté du Bitcoin était qu’il offrait un système qui appliquait le mécanisme d’horodatage pour rendre impossible les doubles dépenses. Enfin, on a présenté au monde un système automatisé qui place toutes les transactions dans le registre par ordre chronologique, de sorte que la première transaction qui est parvenue au réseau est considérée valide et toutes les autres pour les mêmes fonds sont rejetées. Pour éviter que la liste des transactions ne soit modifiée par les pirates, un mécanisme de preuve de travail (PoW) a été introduit. PoW exige des utilisateurs qu’ils consacrent du temps et de la puissance de traitement à la création de nouveaux blocs pour le réseau afin qu’aucun attaquant (ou groupe d’attaquants) ne puisse créer une blockchain qui soit plus longue que celle d’origine. Seule la chaîne la plus longue étant acceptée par le réseau, les utilisateurs peuvent être sûrs que leur argent est en sécurité.

PoW et l’exploitation minière

En termes simples, PoW est le moyen de s’assurer que chaque nouveau bloc a nécessité du temps et des efforts (puissance de calcul) pour sa création. Cela empêche les gens de créer autant de blocs qu’ils le souhaitent, car il y a tellement de puissance de calcul dans le monde (même si nous faisons soudainement un grand bond technologique et que la puissance de calcul des CPU augmente encore plus,). Par conséquent, la chaîne la plus rapide et donc la plus valide n’est que celle qui a utilisé la majeure partie de la puissance de traitement, c’est-à-dire le plus grand nombre d’unités centrales.

PoW est basé sur le hachage de Bitcoin. Le hachage est une fonction cryptographique unidirectionnelle (ce qui signifie qu’il est extrêmement difficile d’inverser le résultat) qui convertit une entrée en une chaîne avec un nombre fixe de symboles. Dans le cas de Bitcoin, l’algorithme de hachage SHA-256 est utilisé. Une fois qu’un bloc est créé et rempli, toutes les transactions sont exécutées par SHA-256 et le résultat est placé au début du bloc suivant. Ce mécanisme de chaînage garantit que les blocs précédents de la chaîne sont intacts, car la modification d’une transaction unique produira une chaîne de symboles entièrement différente qui rendra un bloc invalide.

L’exploitation minière et la difficulté

Exploiter du bitcoin signifie essentiellement créer un nouveau bloc et obtenir une récompense pour cela, qui est actuellement de 12,5 BTC pour chaque bloc qui est extrait environ toutes les 10 minutes. N’importe qui peut se joindre au processus et l’abandonner à tout moment. Un seul mineur (nœud) peut générer un seul bloc et, malgré l’idée erronée répandue, celui qui va extraire un bloc dépend beaucoup du hasard, plutôt que de la puissance de calcul que les utilisateurs possèdent.

Une entête de bloc est une partie cruciale du processus d’exploitation minière. Il inclut une version du noyau Bitcoin, un timestamp (heure de création), un hash d’un bloc précédent, une racine Merkle (hash des hashes des transactions du bloc précédent), une difficulté cible et une nonce. Une cible de difficulté est un nombre écrit au format 256 bits pour correspondre à la longueur du hachage SHA-256. Avec le nonce, il est utilisé par les mineurs pour générer de nouveaux blocs.

Pour extraire un bloc, les mineurs lancent la fonction de hachage dans l’en-tête de bloc d’un bloc existant et le comparent à la cible de difficulté. Si le hachage est inférieur ou égal à la cible de difficulté, un bloc est créé et le mineur qui a produit le hachage approprié reçoit la récompense. Le hachage est déterministe, ce qui signifie qu’un hachage ne serait pas différent pour le même ensemble de données. C’est là que le nonce entre en jeu. Les mineurs continuent d’augmenter le nonce pour obtenir le hachage approprié. Plus le nombre cible est bas, plus il est difficile d’obtenir un hachage qui correspond à l’exigence.

Difficultés d’exploitation minière et hashrate

À ce stade de la lecture, vous vous demandez probablement qui change la difficulté du réseau et pourquoi. Pour comprendre les raisons de l’ajustement des difficultés, nous devons d’abord comprendre le concept de hashrate.

Nous savons déjà que pour créer un bloc, un mineur doit hacher l’en-tête d’un dernier bloc jusqu’à ce qu’il obtienne une valeur inférieure au nombre cible. Pour ce faire, un mineur a besoin d’une machine équipée de CPU(s) capable de le faire. Un certain nombre d’opérations de hachage qu’un ordinateur est capable d’effectuer en une seconde est appelé hashrate.

Rappelez-vous que l’exploitation minière est plus une loterie qu’une course, donc le hashrate plus élevé ne signifie pas qu’un mineur donné va créer chaque bloc. Cependant, plus un mineur peut effectuer d’opérations, meilleures sont ses chances de trouver un hachage approprié plus rapidement que les autres. Le hashrate est exprimé en hashes par seconde. Le plus souvent, la puissance de traitement des plates-formes minières est mesurée en méga hashes (MH, un million de hashes), en giga hashes (GH, un milliard de hashes) et en Tera hashes (TH, un billion de hashes).

Aujourd’hui, l’exploitation minière est devenue une activité rentable pour les grandes entreprises qui disposent d’un grand nombre de CPU hautes performances et d’une électricité bon marché. Ces géants utilisent des milliers de hashes Tera chaque jour, se battant pour le droit de fabriquer de nouveaux blocs et donc d’obtenir de nouveaux Bitcoins. Cependant, à la naissance du Bitcoin, les utilisateurs utilisaient leurs ordinateurs personnels et portables et réussissaient encore à exploiter des Bitcoins pendant un bon moment. Comment était-ce possible ?

Le bitcoin est conçu pour maintenir une certaine difficulté d’extraction de sorte qu’il faut en moyenne 10 minutes pour produire un bloc. Si les mineurs sont aux prises avec une difficulté cible fixée trop bas, le réseau l’augmente et vice versa. Le protocole pour cela s’appelle le reciblage par difficulté. Une fois que 2016 blocs sont minés (ce qui prend environ deux semaines), le réseau passe par leurs en-têtes pour analyser les horodatages. Si le réseau se déplaçait trop vite, le nombre cible de difficulté dans le bloc suivant sera plus bas, si le réseau a pris plus de temps que prévu, le nombre sera plus élevé. C’est pourquoi, même si Intel ou AMD commencent soudainement à produire des processeurs avec un débit de production élevé, il faudra très peu de temps à Bitcoin pour s’adapter au rythme et revenir à la formule classique de production en un bloc en dix minutes. Une nouvelle difficulté est un multiplicateur de l’ancienne difficulté et un quotient de 20160 minutes & nombre de minutes passées sur les derniers 2016 blocs.