Merkle strom je datová struktura používaná v informatice a kryptografii. Na trhu s kryptoměnami se pojmem Merkle strom označuje datová struktura, která obsahuje souhrn transakcí provedených v blockchainu pomocí hashovací funkce. Merkle strom pomáhá snadno a efektivně ověřovat bloky transakcí v blockchainu. V tomto článku najdete odpověď na otázku, co je Merkle strom.
Merkle strom objevil Ralph Merkle. Koncept si nechal patentovat v roce 1979 a zmínil ho i ve své práci „Digitální podpis založený na konvenční šifrovací funkci“, publikované v roce 1987. Merkle strom je datová struktura ve tvaru schématu, která obsahuje hashe. Hashe jednotlivých dat se v Merkle stromu řadí do schématu zdola nahoru. Hodnota hashe na vyšší úrovni přitom vzniká spojením hashů z úrovně pod ním.
Integrita dat v systému je zajištěna právě tímto uspořádáním hashů ve schématu a jejich postupným skládáním odspodu nahoru. Merkle strom se využívá při přenosu dat mezi lidmi, v sítích peer-to-peer a při ověřování přenesených dat. Díky němu lze poznat, zda přenášená data nebo datové bloky nebyly poškozeny či zfalšovány. Právě Merkle stromem se ověřuje jejich správnost.
Jak Merkle strom funguje?
Merkle stromy tvoří hashe obsažené v blocích. Úplně dole v Merkle stromu leží data transakcí. Spuštěním hashovací funkce se z těchto dat získá hash (hashovací kód). Hodnoty ve spodní části schématu se pak spojují po dvojicích a výsledek se zapisuje o řádek výš. Opakováním tohoto postupu se Merkle strom postupně vystaví. Na konci procesu se hash na vrcholu schématu označuje jako root hash neboli Merkle root. Vypočtený root hash odráží, zda se v blocích nevyskytují chyby. Pokud se v hodnotách, ze kterých root hash vzniká, objeví nesoulad, algoritmus v systému pokračuje v práci s hashovacími funkcemi, dokud nevytvoří bezchybný Merkle root.
Proč se Merkle strom používá v Bitcoinu?
Usnadňuje práci těžařům, kteří chtějí ověřovat bloky v bitcoinovém blockchainu. Těžaři na bitcoinovém blockchainu ověřují bloky spouštěním hashovací funkce. V bitcoinovém blockchainu se data seřadí a umístí do Merkle stromu, načež hashovací funkce algoritmu vypočítají root hash. Výsledný root hash lze použít i v dalších těžebních operacích. Těžaři tak mohou pokračovat v práci s hashováním jediné hodnoty – root hashe – místo hashování všech bloků. Merkle strom nabízí řešení i v blockchainech jiných kryptoměn než Bitcoinu.
