Ethereum est une plateforme technologique ouverte sur laquelle les développeurs créent et distribuent des applications décentralisées basées sur la technologie des contrats intelligents. L’actif natif d’Ethereum, l’Ether, est utilisé pour payer les transactions effectuées sur le réseau. Ce coût est calculé en gaz mais payé en Ether. Elle a mis en place un système pour inciter les mineurs de crypto-monnaies à contribuer à la sauvegarde du réseau. La méthode d’Ethereum pour l’extraction de PoW (preuve de travail), connue sous le nom d’Ethash, sert de base à l’ensemble du protocole.
Lors du minage par preuve de travail, les données de l’en-tête d’un bloc sont utilisées comme données d’entrée et sont hachées de manière répétée à l’aide d’une méthode de hachage cryptographique. Cela produit une sortie de longueur fixe qui reflète la valeur de hachage. Les mineurs hachent les variantes des données d’entrée en utilisant un nouveau numéro de séquence chaque fois que les données sont soumises au processus.
Comment cela fonctionne-t-il ?
Ethash est une version modifiée qui élimine le coût de calcul qui existait dans sa version précédente, Dagger-Hashimoto. Il utilise un grand ensemble de données qui est produit régulièrement et qui s’étend progressivement dans le temps. Il est suffisamment petit pour tenir dans la VRAM d’un GPU contemporain.
Avec Ethash, la valeur de hachage produite par le processus doit être inférieure à un seuil donné. C’est ce qu’on appelle la difficulté, et cela implique que le réseau Ethereum augmente et diminue le seuil pour gérer la vitesse à laquelle les blocs sont extraits. Si le rythme auquel les blocs sont trouvés augmente, le réseau augmente automatiquement le niveau de difficulté, en abaissant le seuil du réseau de sorte que le nombre de hachages valides pouvant être trouvés diminue.
Si le taux de blocs découverts diminue, le seuil du réseau augmente, ce qui permet de trouver des valeurs de hachage plus précises.
Ethash définit approximativement combien de ressources informatiques doivent être dépensées par un mineur pour trouver le numéro de séquence (nonce) qui lui permet de proposer un nouveau bloc à ajouter à la blockchain. Le réseau génère un bloc toutes les 12 secondes en moyenne.
Les mineurs augmentent souvent la fréquence d’horloge de la mémoire sur leurs GPU pour obtenir des gains considérables en termes de taux de hachage Ethash. Pour contrebalancer la production de chaleur relative, on trouve parfois des contraintes de puissance ou de température, ainsi que des vitesses de ventilation élevées réglées manuellement.
Pour obtenir les fermes de minage les moins chères, il est courant de voir des PC personnalisés équipés de six GPU haut de gamme ou plus pour le minage d’Ethereum, sans que les autres composants soient vraiment pris en compte.
Un mineur qui découvre avec succès un bloc qui peut être ajouté à la blockchain gagne ce qui suit :
Une récompense en bloc statique de trois éthers.
Dans le cadre de la procédure de preuve de travail du minage, le coût du gaz est alloué au compte du mineur qui est consommé par l’exécution de toutes les transactions dans un bloc.
Un montant supplémentaire de 2,625 éther est alloué pour l’ajout d’oncles dans le bloc.
En résumé, Ethash est un algorithme de preuve de travail à mémoire vive conçu pour résister aux ASIC afin de rendre le processus de minage plus équitable. Il convient également de noter qu’il existe des propositions visant à modifier le mécanisme de consensus d’Ethereum pour passer de la preuve de travail à la preuve d’enjeu, ce qui rendrait le minage d’Ethereum inutile dans sa forme actuelle.