Un Arbore Merkle, cunoscut și sub denumirea de arbore hash, este o structură de date criptografică utilizată pe scară largă în blockchain-uri precum Bitcoin și Ethereum. Scopul său principal este de a organiza și sumariza eficient un număr mare de date (cum ar fi tranzacțiile dintr-un bloc) într-un singur hash compact, numit rădăcină Merkle.
Cum funcționează: Un Arbore Merkle este construit prin hashing-ul perechilor de date (de exemplu, hash-urile a două tranzacții) și apoi hashing-ul rezultatelor, continuând acest proces recursiv până când se ajunge la un singur hash. La baza arborelui se află hash-urile individuale ale fiecărei tranzacții din bloc. Acestea sunt apoi combinate două câte două și hash-uite pentru a forma un nivel superior de noduri. Procesul se repetă până când se obține un singur hash, care este rădăcina Merkle. Această rădăcină este apoi inclusă în antetul blocului.
De ce este importantă: Arborele Merkle oferă două avantaje majore: eficiență și securitate. În primul rând, permite verificarea rapidă și eficientă a integrității datelor. Pentru a verifica dacă o anumită tranzacție este inclusă într-un bloc, nu este necesar să se descarce întregul bloc; este suficient să se descarce rădăcina Merkle a blocului și un set mic de hash-uri intermediare (calea Merkle). Acest lucru este crucial pentru nodurile ușoare (light nodes) care nu stochează întregul blockchain. În al doilea rând, orice modificare, chiar și minoră, a unei singure tranzacții va schimba hash-ul său, ceea ce va altera toate hash-urile de pe calea sa până la rădăcina Merkle, făcând astfel falsificarea datelor extrem de ușor de detectat.
Exemple practice: În Bitcoin, rădăcina Merkle a tuturor tranzacțiilor dintr-un bloc este inclusă în antetul blocului. Când un nod vrea să verifice dacă o anumită tranzacție a fost inclusă într-un bloc, poate folosi rădăcina Merkle și calea Merkle a tranzacției respective pentru a face o verificare criptografică rapidă. Acest lucru este fundamental pentru funcționarea SPV (Simplified Payment Verification), permițând utilizatorilor să verifice plățile fără a rula un nod complet.