Stablo Merkle je struktura podataka koja se koristi u računalnim aplikacijama. U bitcoin-u i drugim kripto valutama Merkleova stabla služe za učinkovitije i sigurnije kodiranje podataka na blockchainu.
Nazivaju ih i "binarnim stablima hash".
Rušenje stabla Merkle
U bitcoinovom blockchainu, blok transakcija vodi se algoritmom za generiranje hash-a, koji je niz brojeva i slova koji se mogu koristiti za provjeru da li je određeni skup podataka isti kao izvorni skup transakcija, ali da ne dobije originalni skup transakcija. Bitcoin softver, međutim, ne pokreće cijeli blok podataka o transakcijama - što u prosjeku predstavlja 10 minuta transakcija - putem hash funkcije. Umjesto da se svaka transakcija hashed, onda se svaki par transakcija spaja i hashed zajedno, i tako dalje, sve dok ne postoji jedan hash za cijeli blok. (Ako postoji neparan broj transakcija, jedna se transakcija udvostručuje, a njezin hash povezuje sa sobom.)
Vizualizirano, ova struktura nalikuje stablu. U donjem dijagramu, "T" označava transakciju, "H" hash. Imajte na umu da je slika vrlo pojednostavljena; prosječni blok sadrži preko 500 transakcija, a ne osam.
Raspršice u donjem redu nazivaju se "lišće", međuprostorni slojevi se nazivaju "grane", a na vrhu hash "korijen". Merklov korijen određenog bloka pohranjen je u zaglavlju: na primjer, Merkleov korijen bloka # 482819 je e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8. Korijen se kombinira s drugim informacijama (softverska verzija, hash-ovi prethodnog bloka, vremenska oznaka, cilj s poteškoćama i nonce), a zatim prolaze kroz hash funkciju za stvaranje jedinstvenog hash-a bloka: 000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594 4819 u slučaju, Ovaj hash zapravo nije uključen u relevantni blok, već sljedeći; razlikuje se od korijena Merkle.
Merkleovo stablo korisno je jer omogućava korisnicima da potvrde određenu transakciju bez preuzimanja čitavog blockchaina (preko 130 gigabajta na kraju kolovoza 2017.). Na primjer, recite da ste htjeli provjeriti je li transakcija T D uključena u blok na gornjem dijagramu. Ako imate korijenski hash (H ABCDEFGH), postupak je nalik igri sudoku: upitate mrežu o H D, a on vraća H C, H AB i H EFGH. Merkleovo stablo omogućava vam da provjerite da li je sve uračunato s tri hashe: s obzirom na H AB, H C, H EFGH i korijen H ABCDEFGH, H D (jedini nedostajući hash) mora biti prisutan u podacima.
Drveće Merkle nazvano je po Ralphu Merkleu, koji ih je predložio u radu pod naslovom "Digitalni potpis temeljen na funkciji konvencionalne enkripcije" iz 1987. godine. Merkle je također izmislila kriptografsko hashiranje.