Listy sa skladajú do jedného koreňa
Každý list stromu predstavuje txid jednej transakcie a dva susedné hashe sa spoja a znova zahashujú. Tým vznikne ich rodič a postup pokračuje, kým nezostane jediný Merkle root. Je to koreňový hash celého stromu.
Poradie transakcií je súčasťou výpočtu a zmena jediného bajtu spravidla zmení txid. Zmenia sa aj ďalšie hashe až po koreň, ktorý preto viaže presné a usporiadané dáta. Takéto viazanie sa nazýva kryptografický záväzok.
Hash pritom nie je šifrovanie a z koreňa nemožno spätne vytiahnuť všetky transakcie. Overovateľ potrebuje pôvodnú transakciu a správnu Merkle vetvu. Až potom vie vypočítať rovnaký koreň.
Merkle vetva je krátka
Merkle vetva je dôkaz pre jeden vybraný list a obsahuje jeden susedný hash z každej úrovne. Overovateľ začne txid danej transakcie. Postupne k nemu pripája susedné hashe. Vždy musí zachovať ľavé a pravé poradie.
Výsledok porovná s koreňom v hlavičke bloku. Ak sa hodnoty zhodujú, transakcia patrí do stromu. Veľkosť vetvy rastie približne logaritmicky. To znamená, že rastie oveľa pomalšie než blok. Aj tisíce transakcií preto vyžadujú iba krátky dôkaz.
Zaradenie nie je úplná validácia
Platná vetva dokazuje prítomnosť transakcie v danom strome. Klient môže koreň spojiť s konkrétnou hlavičkou. Musí však overiť aj jej proof of work. Potrebuje tiež nadväznosť na ďalšie hlavičky.
Vetva neoverí podpisy ostatných transakcií. Neodhalí ani neplatnú emisiu či porušený limit. Tieto pravidlá kontroluje plný uzol z celého bloku. Dôkaz prítomnosti navyše nedokazuje úplnosť odpovede. Peer mohol inú požadovanú transakciu zamlčať.
Viac stromov, rôzne významy
Hlavička bloku obsahuje koreň stromu txid. Viaže teda základné podoby transakcií. SegWit pridal samostatný záväzok k stromu wtxid. Ten zahŕňa aj witness dáta. Záväzok je uložený v coinbase transakcii bloku.
Taproot používa strom skriptových listov. Jeho koreň upraví výstupový verejný kľúč. Pri minutí sa odhalí iba použitý skript a vetva. Ostatné skripty môžu zostať skryté.
Všetky tri prípady používajú podobnú myšlienku. Viažu však iné dáta a plnia iný účel. Líšia sa aj presným výpočtom hashov. Implementácia preto musí dodržať správnu špecifikáciu.