L'hash è la funzione matematica alla base della sicurezza di Bitcoin e tutte le blockchain. Come funziona SHA-256, perché è irreversibile e cosa significa in pratica.
Contenuto educativo: Questo articolo ha finalità esclusivamente informative. Non costituisce consulenza finanziaria, fiscale o di investimento. Le criptovalute sono strumenti ad alto rischio: il valore può azzerarsi. Prima di qualsiasi decisione consulta un consulente finanziario indipendente.
Una funzione hash è un algoritmo matematico che prende in ingresso qualsiasi tipo di dato — un carattere, un romanzo di mille pagine, un intero file video — e restituisce sempre un output di lunghezza fissa, chiamato hash o digest. Indipendentemente da quanto sia lungo o complesso l'input, l'output ha sempre la stessa dimensione.
Le proprietà che rendono le funzioni hash fondamentali per la sicurezza informatica e la blockchain sono cinque:
L'effetto valanga è particolarmente rilevante nella blockchain: anche una modifica minima a un blocco di transazioni genera un hash radicalmente diverso, rendendo immediatamente rilevabile qualsiasi tentativo di alterazione dei dati storici.
SHA-256 (Secure Hash Algorithm a 256 bit) è la funzione hash utilizzata dal protocollo Bitcoin. Fu sviluppata dalla NSA americana e standardizzata dal NIST. Il suo output è sempre di 256 bit, corrispondenti a 64 caratteri esadecimali, indipendentemente dalla dimensione dell'input.
Un esempio concreto dell'effetto valanga: la parola "Ciao" (con C maiuscola) e la parola "ciao" (con c minuscola) producono due hash SHA-256 completamente diversi, senza alcuna somiglianza visiva tra loro. Cambia un solo bit nell'input e l'intero digest si trasforma.
Lo spazio dei possibili output di SHA-256 è pari a 2256: un numero di circa 78 cifre decimali. Per dare un riferimento, si stima che gli atomi nell'universo osservabile siano nell'ordine di 1080. Lo spazio degli hash SHA-256 è quindi paragonabile — e in alcuni conteggi superiore — al numero di atomi nell'universo. Questo rende la ricerca di una collisione non solo difficile, ma sostanzialmente impossibile con la tecnologia attuale e prevedibile.
SHA-256 viene applicato in Bitcoin in modo doppio (double SHA-256) per rafforzare ulteriormente la resistenza agli attacchi.
Il mining di Bitcoin è, nella sua essenza, una gara a trovare un valore numerico specifico chiamato nonce (acronimo di number used once). I miner inseriscono il nonce nei dati del blocco e calcolano l'hash risultante. L'obiettivo è ottenere un hash che inizi con un certo numero di zeri consecutivi: questo requisito prende il nome di difficulty target.
Non esiste alcun modo logico o algebrico per calcolare in anticipo quale nonce produrrà l'hash desiderato. L'unico approccio possibile è il brute force: provare miliardi di nonce al secondo fino a trovare quello corretto. I moderni dispositivi ASIC dedicati al mining sono progettati esclusivamente per eseguire questo processo nel modo più rapido ed efficiente possibile.
Il miner che per primo trova il nonce valido ha il diritto di aggiungere il blocco alla catena e riceve in cambio la block reward — attualmente composta da nuovi bitcoin emessi più le commissioni sulle transazioni incluse nel blocco.
La difficoltà del mining si regola automaticamente ogni 2016 blocchi (circa due settimane) per mantenere un tempo medio di produzione di un blocco pari a 10 minuti, indipendentemente dalla potenza computazionale totale della rete.
Il meccanismo che trasforma una serie di blocchi in una vera e propria catena è semplice quanto efficace: ogni blocco contiene al proprio interno l'hash del blocco precedente. Questo crea un collegamento crittografico sequenziale tra tutti i blocchi a partire dal blocco genesi.
Se un malintenzionato tentasse di modificare una transazione in un blocco già registrato, l'hash di quel blocco cambierebbe. Il blocco successivo, però, contiene l'hash originale: la discrepanza renderebbe immediatamente invalidi tutti i blocchi successivi a quello modificato. Per alterare la storia della blockchain sarebbe necessario ricalcolare l'intera catena successiva, superando la potenza computazionale dell'intera rete onesta. Questo è il fondamento dell'immutabilità della blockchain.
SHA-256 è oggi considerato sicuro rispetto alle capacità computazionali esistenti. Tuttavia, nel dibattito accademico e tecnico è presente una preoccupazione a lungo termine: i computer quantistici. Macchine quantistiche sufficientemente potenti potrebbero teoricamente compromettere alcuni degli algoritmi crittografici su cui si basa la blockchain attuale, incluso SHA-256. L'orizzonte temporale stimato dagli esperti è nell'ordine dei decenni, non degli anni.
Nota tecnica: La comunità di ricerca crittografica — incluso il NIST — sta già lavorando alla standardizzazione di algoritmi post-quantum resistenti a questa minaccia. La transizione, se necessaria, richiederebbe un aggiornamento del protocollo (hard fork) concordato dalla comunità. Non si tratta di un rischio imminente, ma è un tema da monitorare nel lungo periodo.
No, sono strumenti distinti ma complementari. L'hash è una funzione a senso unico che produce un'impronta digitale di un dato. La firma digitale utilizza la crittografia asimmetrica (chiave privata e pubblica) per autenticare l'identità di chi firma. Nella pratica, spesso si firma l'hash di un documento — anziché il documento intero — per ragioni di efficienza: si calcola prima il digest, poi lo si firma con la chiave privata.
MD5 è un algoritmo hash più vecchio, ormai considerato crittograficamente insicuro: nel corso degli anni sono state dimostrate collisioni reali e attacchi pratici contro di esso. SHA-256 appartiene alla famiglia SHA-2, progettata con standard di sicurezza significativamente più elevati e — ad oggi — priva di vulnerabilità praticamente sfruttabili. La scelta di Satoshi Nakamoto ricadde su SHA-256 proprio per la sua robustezza comprovata al momento della progettazione di Bitcoin.
Una collisione si verifica quando due input distinti producono lo stesso hash. In SHA-256, date le dimensioni dello spazio degli output (2256), trovare deliberatamente una collisione è ritenuto computazionalmente impossibile con le tecnologie attuali. Se una collisione venisse trovata e sfruttata in modo malevolo, potrebbe in teoria consentire la sostituzione di dati legittimi con dati alterati aventi lo stesso hash. Questo scenario, oggi puramente teorico per SHA-256, è uno dei motivi per cui la ricerca crittografica monitora costantemente lo stato dell'arte degli algoritmi in uso.
Vuoi iniziare con le crypto in modo consapevole? Prima di aprire un conto su qualsiasi exchange, verifica che sia regolamentato MiCA e registrato OAM in Italia.
Le guide Moneyside hanno carattere educativo e informativo. Non costituiscono consulenza finanziaria, legale o fiscale ai sensi del D.Lgs. 58/1998 (TUF) e della Direttiva MiFID II. Verifica sempre le informazioni con fonti ufficiali o un professionista qualificato.