L'un des algorithmes de minage les plus élaborés au monde cripto est Ethash, l'algorithme de minage Ethereum, et que vous saurez dans cet excellent article. 

EL'algorithme de minage Ethash est l'algorithme qui rend possible le fonctionnement du minage en Ethereum. Un algorithme de haute qualité qui utilise des techniques informatiques très élaborées pour garantir la sécurité la plus élevée possible.

Ethash est également connu sous le nom de Ethash-Dague-Hashimoto, bien que l'algorithme actuel ait certainement tellement changé qu'il pourrait tout aussi bien lui donner un autre nom. Mais qu'est-ce que tout cela signifie? faireQu'est-ce que Dagger-Hashimoto et comment est-il lié à Ethash ? QuelComment ça marche éthash ? Quel est votre avenir ?

Eh bien, toutes ces questions trouveront une réponse ci-dessous dans ce nouvel article de Bit2Me Academy.

Qu'est-ce que Dagger-Hashimoto? L'origine d'Ethash

Pour comprendre le fonctionnement d'Ethash, vous devez d'abord savoir Qu'est que c'est Dague-Hashimoto. C'est pourquoi nous allons d'abord expliquer ce point pour avancer et comprendre cet algorithme frappant.

Lorsque nous parlons de Dagger-Hashimoto, nous faisons référence à un algorithme de minage qui a servi de base à la création d'Ethash. Cet algorithme cherchait à créer un algorithme sécurisé basé sur deux piliers:

  1. Soyez résistant à l'exploitation minière ASIC.
  2. Très efficace et facilement vérifiable par les clients légers.

Ces deux piliers sont fondamentaux dans le fonctionnement de Dagger-Hashimoto. Les esprits derrière la conception de cet algorithme sont Vitalik Buterin y Thaddeus Dryja, qui a conçu la même chose entre 2013 et 2014. Comme vous pouvez le voir, son nom vient du fait que l'algorithme est en fait l'union de deux algorithmes différents.

Tout d'abord, nous avons Poignard, un algorithme développé par Vitalik Buterin qui utilise Graphiques acycliques dirigés (DAG) pour construire une structure de données massive. Au départ, cette structure occupait un peu plus de 1 Go de stockage, mais actuellement elle tourne autour de 4-5 Go. Une série de calculs de mémoire sont exécutés sur cette structure qui ajoutent un haut niveau de travail. Cette structure est ce qui permet le processus de minage réalisé par l'algorithme Hashimoto.

Hashimoto De son côté, il s'agit d'un algorithme développé par Thaddeus Dryja, et vise à ajouter la résistance ASIC, et à effectuer l'extraction de la hachage. Ceci est réalisé en lui faisant avoir une consommation élevée de RAM et ceci est une limitation aux ASIC. Fondamentalement, ce que fait Hashimoto est de prendre le DAG généré, d'ajouter les informations réseau sur la difficulté, les transactions et de générer un hachage qui identifie le bloc qui est miné.

En joignant les deux algorithmes, nous obtenons un algorithme unique qui nous permet de concevoir un système de minage suffisamment complexe pour que les mineurs ASIC aient des problèmes pour l'implémenter efficacement. La structure est si avancée et sûre qu'on a cherché à la mettre en œuvre comme alternative à Scrypt.

Cependant, Dragger-Hashimoto avait quelques défauts qui ont conduit son développement et son évolution à donner naissance à Ethash.

Comment fonctionne l'algorithme Ethash?

S'appuyant sur ce qui a été appris chez Dagger-Hashimoto, l'équipe de développement de Ethereum Il a ensuite présenté son algorithme Ethash. Le fonctionnement de base de cet algorithme est complètement différent du Dagger-Hashimoto original, mais les principes fondamentaux demeurent. Nous avons donc qu'Ethash fonctionne comme suit:

  1. Une valeur de départ calculée est créée à l'aide des en-têtes de bloc jusqu'au point où commence l'extraction.
  2. Cette graine est ensuite utilisée pour calculer et générer un cache pseudo-aléatoire de 16 Mo.
  3. Ce cache est ensuite utilisé pour générer un ensemble de données supérieur à 4 Go (le DAG). Cet ensemble de données est semi-permanent et est mis à jour tous les 30 XNUMX blocs. De cette manière, le DAG varie pour chaque «saison minière».
  4. Une fois le DAG généré, l'extraction démarre. Ce processus prend des valeurs aléatoires du DAG et les combine à l'aide des données fournies par le réseau et des transactions à vérifier.
  5. Enfin, la vérification est effectuée avec un processus qui régénère des parties spécifiques de l'ensemble de données à l'aide de la mémoire cache, accélérant ce processus.

Cette opération est celle en cours d'exécution et correspond à la version numéro 23 de l'algorithme. Les fonctions Keccak-256 et Keccak-512 sont utilisées tout au long du processus, un algorithme dont le standard SHA-3 est dérivé.

Maintenant, vous vous demanderez sûrement pourquoi tant de révisions et de changements? Et la réponse à cela est que ces mises à jour répondent à la résolution des problèmes, des vulnérabilités, des optimisations et bien sûr, des modifications pour rendre le travail plus complexe pour les ASIC et plus convivial pour GPU, c'est là que la communauté Ethereum a tendance à faire sa vie la plus minière.

Schéma du fonctionnement d'Ethash

Fonctionnalités de l'algorithme Ethash

Tout ce qui précède garantit qu'Ethash a des caractéristiques de travail uniques, parmi lesquelles nous pouvons citer:

  1. Il dépend fortement des opérations dans la mémoire RAM, consommant de grandes quantités de bande passante. Il s'agit d'une mesure de sécurité contre les ASIC et également essentielle pour le bon fonctionnement d'Ethash. Les opérations requises pour créer le DAG et le cache d'exécution Ethash dépendent fortement de ces fonctionnalités.
  2. L'algorithme est compatible avec le GPU. Vous savez sûrement que les cartes graphiques ou GPU actuels ont une capacité immense. En fait, les graphiques en mouvement comme ceux des jeux d'aujourd'hui nécessitent d'énormes quantités de mémoire et un traitement parallèle inégalé. C'est une force si vous exécutez l'extraction à l'aide d'Ethash, car vous pouvez utiliser la mémoire du GPU pour avoir le DAG entier en mémoire, ainsi que le cache, et effectuer tous les calculs dans un espace de travail à grande vitesse. En conséquence, vous avez la possibilité d'exploiter beaucoup plus rapidement.
  3. Offre d'excellentes capacités de vérification des clients légers. Avec environ 16 Mo de RAM, il est possible de créer un client léger capable de vérifier les transactions très facilement et rapidement. En plus de cela, un client léger peut être opérationnel et terminer le processus de vérification en aussi peu que 30 secondes.

Keccak et SHA-3, en quoi sont-ils différents?

Keccak et SHA-3 sont deux fonctions de hachage très similaires, en fait, le principe sur lequel elles fonctionnent est le même, mais appliqué différemment, ce qui donne des résultats différents. Cependant, les deux sont pratiquement équivalents en termes de sécurité, de vitesse et de puissance de calcul nécessaires à leur calcul.

Ainsi, bien que les deux fonctions génèrent des hachages différents, la base de fonctionnement et leur sécurité sont pratiquement équivalentes.

Avantages et inconvénients de l'algorithme

Avantages

  1. C'est un algorithme simple à mettre en œuvre, sûr et pratique lorsqu'il s'agit d'assumer un excellent travail de résistance aux ASIC.
  2. C'est rapide, l'utilisation d'une structure (DAG) en mémoire, l'utilisation du cache et l'utilisation de la fonction Keccak, font de cet algorithme un processus efficace dans la production de blocs. Grâce à cela, Ethereum peut compter sur un temps de production ajustable aux besoins du réseau, toujours à la recherche d'un équilibre entre sécurité et évolutivité.

Inconvénients

  1. La résistance ASIC a été brisée en 2018, lorsque Bitmain a présenté son premier mineur à Ethash. Des mécanismes ont depuis été recherchés pour éviter une plus grande centralisation de l'exploitation minière sur Ethereum. Cependant, le développement d'Ethereum 2.0 prévoit l'abandon de la preuve de travail (PoW), et avec elle Ethash en tant qu'algorithme de minage, au profit d'un Preuve d'enjeu (PoS).
  2. La consommation élevée de mémoire de votre DAG rend très difficile l'exploration sur des machines plus modestes.
  3. La façon dont la difficulté de l'algorithme évolue a amené Ethereum au bord de la fameuse « période glaciaire ». Un point où le système de difficulté d'Ethash rendrait impossible l'exploitation minière pour tout mineur essayant. Il s'agit d'un risque sérieux pour la sécurité. blockchain d'Ethereum.

Que savez-vous, cryptonuta?

Ethash est-il un algorithme mal évolutif et est-ce pourquoi vous souhaitez abandonner son utilisation dans Ethereum?

FAUX!

Ethash est un algorithme avec une évolutivité beaucoup plus élevée que les autres algorithmes de preuve de travail, tels que Bitcoin par exemple. Cependant, Ethereum abandonnera son utilisation au profit du Proof of Stake, car ce dernier schéma offrira une bien plus grande évolutivité dans le temps, ce qu'Ethash peut difficilement réaliser.

Blockchains qui utilisent l'algorithme

La principale blockchain utilisée par l'algorithme de minage Ethash est Ethereum. L'algorithme a été développé sur ce projet et c'est là qu'il a évolué jusqu'à présent. Le projet Ethereum classique, être un fourche dur Ethereum a également maintenu son fonctionnement en utilisant cet algorithme.

Rappelez-vous que des centaines de milliers de personnes vivent sur Ethereum tokens, comme Maker, DAI ou Stablecoins comme Thétre. Donc, tous ces jetons utilisent, implicitement, le même algorithme qu'Ethereum. Les autres altcoins qui utilisent Ethash sont MusiCoin ou Callisto, pour ne citer que quelques projets.