Uno degli algoritmi di mining più elaborati al mondo cripto è Ethash, l'algoritmo di mining Ethereum, e che conoscerai in questo fantastico articolo. 

EL'algoritmo di mining Ethash è l'algoritmo che rende il funzionamento di mining en Ethereum. Un algoritmo di alta qualità che utilizza alcune tecniche informatiche molto elaborate per garantire la massima sicurezza possibile.

Ethash è anche conosciuto come Ethash-Pugnale-Hashimoto, anche se certamente l'attuale algoritmo è cambiato così tanto che potrebbe anche essere dato un altro nome. Ma cosa significa tutto questo? fareChe cos'è Dagger-Hashimoto e in che modo è correlato a Ethash? che cosaCome funziona etash? Qual è il tuo futuro?

Bene, tutte queste domande troveranno risposta di seguito in questo nuovo articolo di Bit2Me Academy.

Cos'è Dagger-Hashimoto? L'origine di Ethash

Per capire come funziona Ethash, devi prima sapere cos'è Pugnale-Hashimoto. Questo è il motivo per cui spiegheremo prima questo punto per avanzare e comprendere questo straordinario algoritmo.

Quando parliamo di Dagger-Hashimoto, ci riferiamo a un algoritmo di mining che è servito come base per la creazione di Ethash. Questo algoritmo ha cercato di creare un algoritmo sicuro costruito su due pilastri:

  1. Sii resistente al mining ASIC.
  2. Altamente efficiente e facilmente verificabile dai thin client.

Questi due pilastri sono fondamentali nel funzionamento di Dagger-Hashimoto. Le menti dietro la progettazione di questo algoritmo sono Vitalik Buterin y Thaddeus Dryja, che ha ideato lo stesso tra gli anni 2013 e 2014. Come puoi vedere, il suo nome deriva dal fatto che l'algoritmo è in realtà l'unione di due algoritmi diversi.

Prima di tutto, abbiamo pugnale, un algoritmo sviluppato da Vitalik Buterin che utilizza Grafici aciclici diretti (DAG) per costruire una massiccia struttura di dati. Inizialmente, questa struttura occupava poco più di 1 GB di spazio di archiviazione, ma attualmente è di circa 4-5 GB. Su questa struttura vengono eseguiti una serie di calcoli di memoria che aggiungono un alto livello di lavoro. Questa struttura è ciò che consente il processo di mining eseguito dall'algoritmo di Hashimoto.

Hashimoto Da parte sua, è un algoritmo sviluppato da Thaddeus Dryja, e il suo obiettivo è aggiungere la resistenza ASIC ed eseguire il mining del hash. Ciò si ottiene facendo in modo che abbia un elevato consumo di RAM e questa è una limitazione per gli ASIC. Fondamentalmente ciò che fa Hashimoto è prendere il DAG generato, aggiungere le informazioni di rete sulla difficoltà, le transazioni e generare un hash che identifica il blocco che viene estratto.

Unendo entrambi gli algoritmi otteniamo un unico algoritmo che ci consente di progettare un sistema di mining sufficientemente complesso da consentire ai minatori ASIC di avere problemi a implementarlo in modo efficiente. La struttura è così avanzata e sicura, che si è cercato di implementare in alternativa a Scrypt.

Tuttavia, Dragger-Hashimoto aveva alcuni difetti che hanno causato il suo sviluppo ed evoluzione per dare origine a Ethash.

Come funziona l'algoritmo Ethash?

Basandosi su quanto appreso in Dagger-Hashimoto, il team di sviluppo di Ethereum Ha quindi presentato il suo algoritmo Ethash. Il funzionamento di base di questo algoritmo è completamente diverso dall'originale Dagger-Hashimoto, ma i principi fondamentali rimangono. Quindi abbiamo che Ethash funziona come segue:

  1. Un seme calcolato viene creato utilizzando le intestazioni di blocco fino al punto in cui inizia il mining.
  2. Questo seme viene quindi utilizzato per calcolare e generare una cache pseudo-casuale da 16 MB.
  3. Questa cache viene quindi utilizzata per generare un set di dati più grande di 4 GB (il DAG). Questo set di dati è semipermanente e viene aggiornato ogni 30mila blocchi. In questo modo, il DAG varia per ogni “stagione mineraria”.
  4. Una volta generato il DAG, inizia il mining. Questo processo prende valori casuali dal DAG e li combina utilizzando i dati forniti dalla rete e le transazioni da verificare.
  5. Infine la verifica viene effettuata con un processo che rigenera parti specifiche del set di dati utilizzando la memoria cache, velocizzando questo processo.

Questa operazione è quella attualmente eseguita e corrisponde alla versione numero 23 dell'algoritmo. Le funzioni Keccak-256 e Keccak-512 vengono utilizzate durante il processo, un algoritmo da cui è stato derivato lo standard SHA-3.

Ora ti chiederai sicuramente perché così tante revisioni e modifiche? E la risposta a questo è che questi aggiornamenti rispondono alla risoluzione di problemi, vulnerabilità, ottimizzazioni e, naturalmente, modifiche per rendere il lavoro più complesso per gli ASIC e più user-friendly per GPU, che è dove la comunità di Ethereum tende a fare la sua vita più mineraria.

Schema di come funziona Ethash

Caratteristiche dell'algoritmo Ethash

Tutto quanto sopra garantisce che Ethash abbia caratteristiche lavorative uniche, tra le quali possiamo citare:

  1. È fortemente dipendente dalle operazioni nella memoria RAM, che consumano grandi quantità di larghezza di banda. Questa è una misura di sicurezza contro gli ASIC e anche essenziale per il corretto funzionamento di Ethash. Le operazioni necessarie per creare il DAG e la cache delle prestazioni di Ethash dipendono fortemente da queste funzionalità.
  2. L'algoritmo è compatibile con la GPU. Sicuramente sai che le attuali schede grafiche o GPU hanno una capacità immensa. In effetti, la grafica in movimento come quella dei giochi odierni richiede enormi quantità di memoria e un'elaborazione parallela senza pari. Questo è un punto di forza se esegui il mining utilizzando Ethash, perché puoi utilizzare la memoria della GPU per avere l'intero DAG in memoria, insieme alla cache, ed eseguire tutti i calcoli in un'area di lavoro ad alta velocità. Di conseguenza, hai la capacità di estrarre molto più velocemente.
  3. Offre eccellenti capacità di verifica del thin client. Con circa 16 MB di RAM, è possibile creare un thin client in grado di verificare le transazioni in modo molto semplice e veloce. Oltre a ciò, un thin client può essere installato e funzionante e completare il processo di verifica in appena 30 secondi.

Keccak e SHA-3, in cosa sono diversi?

Keccak e SHA-3 sono due funzioni hash molto simili, infatti, il principio su cui funzionano è lo stesso, ma applicato in modo diverso, il che dà risultati diversi. Tuttavia, entrambi sono praticamente equivalenti in termini di sicurezza, velocità e potenza di calcolo necessarie per il loro calcolo.

Quindi, sebbene entrambe le funzioni generino hash diversi, la base di funzionamento e la loro sicurezza sono praticamente equivalenti.

Pro e contro dell'algoritmo

Vantaggi

  1. È un algoritmo semplice da implementare, sicuro e pratico quando si tratta di assumere un ottimo lavoro di resistenza agli ASIC.
  2. È veloce, l'uso di una struttura (DAG) in memoria, l'uso della cache e l'uso della funzione Keccak, rendono questo algoritmo un processo efficiente nella produzione di blocchi. Grazie a questo, Ethereum può contare su un tempo di produzione adattabile alle esigenze della rete, cercando sempre l'equilibrio tra sicurezza e scalabilità.

Svantaggi

  1. La resistenza ASIC è stata interrotta nel 2018, quando Bitmain ha introdotto il suo primo minatore su Ethash. Da allora sono stati cercati meccanismi per evitare un'ulteriore centralizzazione del mining su Ethereum. Tuttavia, lo sviluppo di Ethereum 2.0 prevede l'abbandono del Proof of Work (PoW), e con esso Ethash come algoritmo di mining, a favore di un Proof of Stake (PoS).
  2. L'elevato consumo di memoria del tuo DAG rende molto difficile il mining su macchine più modeste.
  3. Il modo in cui la difficoltà dell'algoritmo scala ha portato Ethereum sull'orlo della famosa "Era Glaciale". Un punto in cui il sistema di difficoltà di Ethash renderebbe impossibile l'estrazione per qualsiasi minatore che ci provasse. Questo è un serio rischio per la sicurezza. blockchain di Ethereum.

Quanto sai, Cryptonuta?

Ethash è un algoritmo scarsamente scalabile ed è per questo che vuoi abbandonare il suo utilizzo in Ethereum?

FALSO!

Ethash è un algoritmo con una scalabilità molto più elevata rispetto ad altri algoritmi Proof of Work, come Bitcoin Per esempio. Tuttavia, Ethereum abbandonerà il suo utilizzo a favore della Proof of Stake, perché quest'ultimo schema fornirà una scalabilità molto maggiore nel tempo, cosa che Ethash difficilmente può ottenere.

Blockchain che utilizzano l'algoritmo

La blockchain principale utilizzata dall'algoritmo di mining di Ethash è Ethereum. L'algoritmo è stato sviluppato su questo progetto ed è qui che si è evoluto finora. Il progetto Ethereum Classic, essere un hard fork Anche Ethereum ha mantenuto il suo funzionamento utilizzando questo algoritmo.

Ricorda che centinaia di migliaia di persone vivono su Ethereum token, come Maker, DAI o stablecoins come teatro. Quindi tutti questi token utilizzano, implicitamente, lo stesso algoritmo di Ethereum. Altri altcoin che utilizzano Ethash sono MusiCoin o Callisto, per citare alcuni progetti.