Hash
Un hash è un’impronta digitale dei dati, come un testo o una transazione. Gli stessi dati producono sempre esattamente lo stesso valore hash.
Che cos’è un hash?
Di solito un hash è una lunga sequenza di lettere e numeri di lunghezza fissa. Una funzione hash genera questa sequenza elaborando i dati. Questo processo si chiama hashing.
È sufficiente cambiare anche una sola lettera nei dati per ottenere un hash completamente diverso. Non è possibile risalire ai dati originali partendo da un hash. Per questo gli hash possono essere usati per verificare che le informazioni non siano state modificate.
Un semplice esempio di hash
Immagina che un sistema elabori il testo Hallo con una funzione hash, come SHA-256. Il risultato è il seguente hash:
753692ec36adb4c794c973945eb2a99c1649703ea6f76bf259abb4fb838e013e
E se cambi il testo in Hallo!, aggiungendo solo un punto esclamativo? Si ottiene un hash completamente diverso:
357a57fe73d6c63bb1923e970f79a924db3a3609eb9797547784a94ee38fc3df
Come puoi vedere, anche una piccola modifica ai dati originali produce un hash completamente diverso. Per questo l’hashing è utile per verificare se le informazioni sono state modificate.
Perché gli hash sono importanti nel mondo crypto?
Una blockchain usa gli hash per proteggere le transazioni e i blocchi. Un blocco contiene, tra le altre cose, l’hash del blocco precedente. In questo modo i blocchi sono collegati tra loro.
Se qualcuno prova a modificare i dati di un blocco precedente, cambia anche il suo hash. I computer che controllano la blockchain se ne accorgono. Per nascondere la modifica, quella persona dovrebbe ricalcolare e convalidare anche tutti i blocchi successivi.
Gli hash vengono usati anche nel mining con Proof of Work, per esempio su Bitcoin. In questo caso i computer cercano di risolvere un enigma basato su un hash. Le notizie sull’hash rate o sul mining riguardano quindi spesso la potenza di calcolo usata per queste operazioni.