Merkle strom je struktura dat, která se používá v aplikacích informatiky. V bitcoinech a dalších kryptoměnách slouží Merkleovy stromy k účinnějšímu a bezpečnějšímu kódování dat blockchainu.
Oni jsou také odkazoval se na jak “binární hash stromy.”
Členění Merkle Tree
V bitcoinově blockchainu je blok transakcí prováděn pomocí algoritmu pro generování hash, což je řetězec čísel a písmen, který lze použít k ověření, že daná sada dat je stejná jako původní sada transakcí, ale nezískat původní soubor transakcí. Bitcoinový software neběží přes blokovací funkci najednou celý blok transakčních dat, což představuje průměrně 10 minut transakcí. Spíše je každá transakce hashována, pak je každá dvojice transakcí zřetězena a hashována společně, a tak dále, dokud není jeden hash pro celý blok. (Pokud existuje lichý počet transakcí, je jedna transakce zdvojnásobena a její hash je zřetězen sám se sebou.)
Vizualizovaná tato struktura připomíná strom. V níže uvedeném diagramu „T“ označuje transakci, „H“ a hash. Všimněte si, že obraz je velmi zjednodušený; průměrný blok obsahuje více než 500 transakcí, ne osm.
Haši ve spodní řadě se označují jako „listy“, mezilehlé hashe jako „větve“ a hash nahoře jako „kořen“. Merkle root daného bloku je uložen v záhlaví: například Merkle root bloku # 482819 je e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8. Kořen je kombinován s dalšími informacemi (softwarová verze, hash předchozího bloku, časové razítko, cíl obtížnosti a neteř) a poté prochází hashovací funkcí, aby vytvořil jedinečný hash bloku: 000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c1928 z případu # 4891919. Tento hash není ve skutečnosti obsažen v příslušném bloku, ale v následujícím; je odlišný od kořene Merkle.
Strom Merkle je užitečný, protože umožňuje uživatelům ověřit konkrétní transakci bez stažení celého blockchainu (více než 130 gigabajtů na konci srpna 2017). Řekněme například, že jste chtěli ověřit, že transakce T D je zahrnuta v bloku v diagramu výše. Pokud máte root hash (H ABCDEFGH), proces je jako hra sudoku: dotazujete síť na H D a vrátí H C, H AB a H EFGH. Strom Merkle vám umožňuje ověřit, že vše je započítáno pomocí tří hashů: vzhledem k H AB, H C, H EFGH a kořenovému H ABCDEFGH, H D (jediný chybějící hash) musí být v datech přítomen.
Merkle stromy jsou pojmenovány po Ralphovi Merkle, který je navrhl v roce 1987 s názvem „Digitální podpis založený na konvenční šifrovací funkci“. Merkle také vynalezl kryptografické hašování.
