Listy sa skladajú do jedného koreňa
Listami stromu sú hashe transakcií. Susedné hodnoty sa spoja, zahashujú a vytvoria rodiča; postup sa opakuje až po Merkle root. Zmena jediného bajtu transakcie zmení jej hash, následných rodičov aj koreň, preto koreň kryptograficky viaže usporiadaný obsah bloku.
Hash nie je šifrovanie: z koreňa nemožno obnoviť všetky transakcie. Je to záväzok k presným dátam. Bez pôvodnej transakcie a potrebných susedných hashov nemožno overiť, ku ktorému listu sa dôkaz vzťahuje.
Merkle vetva je krátka
Na dôkaz jedného listu netreba poslať celý strom. Stačí jeden súrodenecký hash z každej úrovne. Overovateľ ich opakovane spája v správnom ľavom alebo pravom poradí a výsledok porovná s koreňom v hlavičke bloku.
Počet prvkov dôkazu rastie približne s logaritmom počtu transakcií. Pri tisícoch listov preto ide iba o niekoľko desiatok hashov. Poradie je podstatné: hash ľavého a pravého potomka nemožno svojvoľne zameniť.
Zaradenie nie je úplná validácia
Platná vetva ukazuje, že daná transakcia bola súčasťou stromu viazaného konkrétnou hlavičkou. Ak klient overil proof of work a nadväznosť hlavičiek, vie tento záväzok priradiť ku konkrétnemu reťazcu.
Vetva však nekontroluje, či ostatné transakcie nevytvorili bitcoin navyše, či ich podpisy platia alebo či blok dodržal všetky konsenzuálne limity. To robí plný uzol pri kontrole celého bloku. Dôkaz prítomnosti tiež nedokáže, že iný údaj nebol zamlčaný.
Viac stromov, rôzne významy
Hlavička bloku viaže txid Merkle root. SegWit pridal v coinbase transakcii záväzok k stromu wtxid, aby boli viazané aj witness dáta. Taproot používa strom skriptových listov, kde koreň upraví výstupový kľúč a pri minutí sa odhalí len zvolená vetva.
Tieto stromy používajú podobný stavebný princíp, ale nemožno ich zamieňať: viažu iné objekty, majú iné pravidlá serializácie a iný bezpečnostný účel. Implementácia musí presne dodržať príslušnú špecifikáciu vrátane poradia a doménového oddelenia hashov.