Che cos'è un albero di Merkle?

· 2 min read

L'albero di Merkle è una struttura dati impiegata nell'informatica e nella crittografia. Nel mercato delle criptovalute, con albero di Merkle si indica una struttura dati che contiene il riepilogo delle transazioni registrate sulla blockchain tramite la funzione hash. L'albero di Merkle consente di verificare in modo semplice ed efficiente i blocchi di transazioni della blockchain. In questo articolo trovi la risposta alla domanda: che cos'è un albero di Merkle?

L'albero di Merkle è stato scoperto da Ralph Merkle, che ne brevettò il concetto nel 1979 e lo illustrò nel suo articolo «Una firma digitale basata su una funzione di cifratura convenzionale», pubblicato nel 1987. Un albero di Merkle è una struttura dati a forma di schema, composta da valori hash. I codici hash dei dati sono disposti nello schema dal basso verso l'alto e il valore di un hash superiore si ottiene combinando gli hash del livello sottostante.

È proprio così che viene garantita l'integrità dei dati nel sistema: i valori hash sono ordinati in uno schema e vengono sommati progressivamente dal basso verso l'alto. Questa struttura viene utilizzata nei trasferimenti di dati da persona a persona, nelle reti peer-to-peer e nella verifica dei dati trasferiti. Grazie all'albero di Merkle è possibile capire se i dati o i blocchi di dati trasferiti risultano danneggiati o contraffatti, e allo stesso modo se ne conferma la correttezza.

Come funziona l'albero di Merkle?

Gli alberi di Merkle sono formati dai valori hash contenuti nei blocchi. Alla base dell'albero di Merkle si trovano i dati delle transazioni. Il valore hash (codice hash) di questi dati si ottiene eseguendo la funzione hash. I valori nella parte bassa dello schema vengono poi combinati tra loro e il risultato viene riportato nelle righe superiori. Ripetendo questo procedimento si costruisce l'albero di Merkle. Al termine, il valore hash in cima allo schema prende il nome di root hash o Merkle root. Il root hash calcolato indica se nei blocchi sono presenti errori: in caso di incongruenze nei valori che lo compongono, l'algoritmo del sistema continua a lavorare con le funzioni hash finché non genera un Merkle root privo di errori.

Perché l'albero di Merkle viene usato in Bitcoin?

Perché semplifica il lavoro dei miner che devono verificare i blocchi sulla blockchain di Bitcoin. Sulla blockchain di Bitcoin i miner verificano i blocchi eseguendo la funzione hash. I dati vengono ordinati e collocati nell'albero di Merkle, dopodiché le funzioni hash dell'algoritmo calcolano il root hash. Il root hash così ottenuto può essere riutilizzato anche nelle successive operazioni di mining. In questo modo i miner possono proseguire il lavoro calcolando l'hash del solo root hash invece che di tutti i blocchi. L'albero di Merkle offre soluzioni analoghe anche sulle blockchain di criptovalute diverse da Bitcoin.

Albero di Merkle Che cos'è un albero di Merkle? Che cos'è un albero di Merkle Come funziona l'albero di Merkle