Merklevo drevo je struktura podatkov, ki se uporablja v aplikacijah računalništva. V bitcoin in drugih kripto valutah Merkleova drevesa služijo za učinkovitejše in varnejše kodiranje podatkov blockchain.
Imenujejo jih tudi kot "binarna drevesa."
Podiranje drevesa Merkle
V blockcoin verigi bitcoinov se blok transakcij vodi preko algoritma za ustvarjanje hash-a, ki je niz številk in črk, s pomočjo katerih lahko preverimo, ali je določen niz podatkov enak izvirnemu nizu transakcij, vendar da ne pridobi prvotnega niza transakcij. Računalniška programska oprema Bitcoin hkrati ne izvaja celotnega bloka podatkov o transakcijah - kar predstavlja povprečno 10 minut transakcij - prek funkcije hash-a. Namesto da se vsaka transakcija zmesti, potem se vsak par transakcij združi in združi in tako naprej, dokler ne obstaja en hash za celoten blok. (Če obstaja neparno število transakcij, se ena transakcija podvoji in njen hash je povezan s samim seboj.)
Vizualizirano ta struktura spominja na drevo. V spodnjem diagramu "T" označuje transakcijo, H "hash. Upoštevajte, da je slika zelo poenostavljena; povprečni blok vsebuje več kot 500 transakcij, ne osem.
Razpršitve v spodnji vrstici se imenujejo "listi", vmesni razpršilci pa kot "veje", na vrhu pa hash kot "koren". Koren Merkle danega bloka je shranjen v glavi: na primer koren Merkle v bloku # 482819 je e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8. Koren se kombinira z drugimi informacijami (različica programske opreme, hash-ov prejšnjega bloka, časovni žig, cilj težav in nonce) in nato teče skozi hash funkcijo, da ustvari edinstveno hash bloka: 000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594 4828 v primeru. Ta hash dejansko ni vključen v ustrezni blok, ampak naslednji; razlikuje se od korenine Merkle.
Drevo Merkle je uporabno, saj uporabnikom omogoča preverjanje določene transakcije, ne da bi naložili celoten blockchain (konec 130 2017 več kot 130 gigabajtov). Recimo, da želite preveriti, ali je transakcija T D vključena v blok na zgornjem diagramu. Če imate korenski hash (H ABCDEFGH), je postopek podoben igri sudoku: poizvedujete v mreži o H D in ta vrne H C, H AB in H EFGH. Drevo Merkle vam omogoča, da preverite, ali je vse izračunano s tremi hešeji: glede na H AB, H C, H EFGH in koren H ABCDEFGH, H D (edini manjkajoči hash) mora biti v podatkih.
Drevesa Merkle so poimenovana po Ralphu Merkleu, ki jih je predlagal v dokumentu iz leta 1987 z naslovom "Digitalni podpis, ki temelji na konvencionalni funkciji šifriranja." Merkle je izumil tudi kriptografsko razlistavanje.
