L’hashing è un modo di trasformare qualsiasi informazione, come una stringa di codice o testo, in una serie di lettere e numeri di lunghezza fissa, detti valore hash. La funzione di hash assicura che anche un piccolo cambiamento nell’input crei un output molto diverso. È come una firma digitale per i dati ed è usata per proteggere le password o per controllare che i dati non siano stati cambiati.
Nonostante l’hash crittografico rivesta un ruolo fondamentale nel campo della sicurezza e della protezione dei dati, esistono tante altre applicazioni di questo processo. L’hash rate delle criptovalute, ad esempio, è particolarmente importante per la buona riuscita delle transazioni.
Indice
Hashing: cos’è e perché aumenta la sicurezza?
L’hashing è il processo di conversione di una determinata chiave in un altro valore, espresso sotto forma di codice alfanumerico. La funzione hash viene utilizzata per generare un nuovo valore secondo un algoritmo matematico e unidirezionale, ovvero senza possibilità di riconvertire l’hash nella chiave originale.
Se volessimo semplificare al massimo il significato di hashing, potremmo parlare di un concentrato di dati. Per quanto, infatti, usare il termine compressione dei file non sia esatto, rende però l’idea del processo: la riduzione di un set di dati, anche molto grande, in un formato ottimale per salvaguardare lo spazio di memoria.
Il codice alfanumerico, noto come hash, ha una lunghezza fissa e si utilizza per rappresentare parole, messaggi e dati di qualsiasi dimensione.
Esempio di protezione dati con hashing
Un hacker potrebbe accedere a un database e identificare una stringa con il numero di una carta di pagamento associato a un nome. In questo scenario sarebbe un gioco da ragazzi raccogliere le informazioni per usarle indebitamente a proprio vantaggio.
Se quella medesima stringa è rielaborata con la funzione di hash, però, l’hacker in questione troverà un codice come, per esempio, 7e06f3b91240672e95d88fc1616ce5f6. Il codice alfanumerico è del tutto inutile per i ladri di dati senza una chiave.
Mining e hashing: qual è il nesso?
Anche nel mondo delle criptovalute è facile imbattersi nel termine hashing. Del resto, si tratta del processo alla base dell’estrazione delle monete digitali da parte dei miners. Ogni blocco di dati transazionali che viene aggiunto alla blockchain passa dalla soluzione di complessi problemi matematici da parte dei minatori.
La potenza di calcolo delle loro macchine viene messa al servizio di un unico obiettivo: creare un hash che soddisfi determinati requisiti in termini di valore numerico. Dato che ogni hash è del tutto casuale, possono servire milioni di ipotesi prima che il minatore riesca ad estrarre un nuovo blocco. Quando ciò accade, il minatore è ricompensato con una quantità precisa di monete digitali come i Bitcoin fresche di conio.
Questo concorso ha regole precise non solo nelle modalità di estrazione, ma anche per quanto concerne il valore dei premi: la quantità di monete subisce un dimezzamento programmato per ridurre in modo incrementale l’offerta nel corso del periodo di estrazione delle criptovaluta.
Per intendersi, per i Bitcoin, a partire dal 2021, i minatori ricevono 6,25 monete ogni volta che estraggono un nuovo blocco. Nel 2024 la quota si è dimezzata per via di un processo noto come halving, e i premi delle nuove estrazioni sono scese a 3,125 Bitcoin per blocco.
Cos’è l’hash rate e perché è importante?
L’hash rate è l’unità di misura che indica la potenza di elaborazione della rete Bitcoin. Ogni minatore per estrarre BTC utilizza una macchina con una specifica potenza e velocità di calcolo: maggiore è la potenza, minore è il tempo che serve al miner per inviare il codice corretto al blocco ed estrarre Bitcoin.
Inoltre l’hash rate misura la sicurezza del network: un hash rate alto significa che molte risorse sono dedicate all’elaborazione delle transazioni sulla blockchain, un fattore che alza la resistenza nei confronti di eventuali attacchi hacker. Infatti rende difficile la vita ai malintenzionati che dovrebbero investire enormi somme di denaro per un hashing sufficiente a controllare il 51% della rete.