Benvenuto nella sala macchine. Prima di parlare di blocchi e catene, dobbiamo capire il mattone fondamentale su cui si regge la sicurezza di Bitcoin: la Funzione di Hash.
Pur non entrando nei dettagli matematici, ci concentreremo sulle proprietà fondamentali che rendono questa funzione così potente. Dobbiamo solo prendere confidenza con l'attrezzo numero uno di Satoshi Nakamoto: la Funzione di Hash, appunto. Senza questa funzione, Bitcoin non potrebbe esistere. È ciò che garantisce che nessuno possa modificare il passato.
Immagina una "scatola magica" matematica (o un tritacarne digitale). Qualunque cosa tu inserisci (una parola, un'immagine, l'intera Enciclopedia Britannica) viene trasformata in una stringa di caratteri, un'impronta digitale di lunghezza fissa.
Bitcoin usa un algoritmo specifico chiamato SHA-256 (Secure Hash Algorithm a 256-bit). Qualunque sia l'input, come dicevamo poco sopra, l'output sarà sempre una stringa di 256 bits, rappresentata convenzionalmente come 64 caratteri esadecimali (0-9, a-f). Ecco le sue tre leggi fondamentali:
Anche senza aver scritto nulla, vedrai già un output. Questo perché anche la cosiddetta "stringa vuota" ha un suo hash, che comincia con "e3b0..." Ora scrivi tu qualcosa qui sotto e osserva come cambia l'impronta digitale (Hash).
L’hash è il meccanismo crittografico che rende possibile collegare i blocchi tra loro in modo verificabile e immutabile. È il "nastro adesivo" indistruttibile che tiene insieme la Blockchain. Ogni blocco di transazioni inizia con l'hash del blocco precedente. Modificare un blocco passato richiederebbe di dover ricalcolare non solo quell’hash, ma tutti quelli successivi, accumulando un costo computazionale enorme. Ci addentreremo nei dettagli con i moduli successivi.
Ma garantire l’integrità dei dati non è sufficiente: per inviare bitcoin è necessario dimostrare anche la proprietà. Devi firmare la tua transazione, proprio come firmi un documento. Qui entra in gioco la Crittografia a Chiave Pubblica.

Qual è lo scopo principale della proprietà di 'Determinismo' (o Legge della Coerenza) di una funzione di hash nel contesto di Bitcoin?
Secondo il testo, l'Effetto Valanga della funzione SHA-256 si manifesta quando:
Qual è il formato dell'output generato dall'algoritmo di hashing SHA-256 utilizzato da Bitcoin?
La proprietà di 'Unidirezionalità' è descritta come fondamentale in Bitcoin perché, tra le altre cose: