This article has been translated from English to Italian.
Come funziona l'hashing?
Nella lezione precedente ho introdotto il concetto di hashing e i termini rilevanti. Ora, impariamo come funziona!
L'hashing è un'operazione matematica facile da eseguire, ma estremamente difficile da invertire.
Il processo di hashing trasforma un dato in codice binario, che è solo un mucchio di 0 e 1.
Quindi spezza i numeri e applicaun "confusione" segreta, che viene eseguita da qualcosa chiamata "funzione hash".
Come funziona l'hashing nella crittografia?
Quando viene utilizzato in Bitcoin e altre criptovalute, il risultato finale è in genere una stringa lunga 64 cifre di numeri e lettere.
Poiché la conversione viene effettuata da un algoritmo crittografico (la "funzione hash"), la formula di mescolamento è sconosciuta, quindi la stringa di 64 cifre non può essere invertita.
Una stringa è una sequenza di caratteri.
Le stringhe sono come le frasi. Sono formate da una combinazione di caratteri.
Pensa a un hash come a un mucchio di lettere e numeri casuali.
Un dato unico produrrà sempre lo stesso hash.
Ad esempio, ogni volta che la stringa sopra viene eseguita attraverso la funzione hash, produrrà sempre lo stesso hash.
Ma cosa succede se apportiamo una piccola modifica alla stringa? (Evidenziata in giallo).
La frase termina con un punto interrogativo invece che con un punto.
Anche se si tratta di una PICCOLISSIMA modifica nella frase, l'hash è TOTALMENTE diverso.
Puoi vedere come l'uso degli hash può essere utilizzato per rilevare manomissioni, poiché anche una piccola modifica a quell'input alla funzione hash risulta in un output totalmente diverso.
È molto importante che ricordi questo punto perché, in una lezione successiva, vedrai come viene utilizzato per impedire che le transazioni precedenti vengano manomesse.
La funzione hash è unidirezionale.
Non puoi prendere un hash esistente e provare a invertirlo per trovare la stringa di input.
Quindi se tutto ciò che conosci è l'hash, non c'è modo di sapere qual è l'input originale. Non puoi "decodificare" o hackerare l'hash.
Infine, la lunghezza dell'output (l'hash) NON aumenta con l'aumentare delle informazioni nell'input. Una funzione hash accetta dati di input di QUALSIASI lunghezza e restituisce un valore di lunghezza FISSA.
Se inserisci l'intero testo di un libro di Harry Potter, che contiene oltre 76.000 parole, l'output hash sarà comunque lungo solo 64 caratteri.
E ancora, se sbagliassi anche una sola lettera nel libro di Harry Potter e la passassi attraverso la funzione hash, verrebbe prodotto un hash totalmente diverso da quello sopra.
Questo ti permetterebbe di sapere immediatamente che il libro è stato modificato senza doverlo ispezionare manualmente per intero! Fantastico, vero?




