Jak se vytváří kořen Merkleova stromu?
Začni ID každé transakce v bloku, což je samo o sobě dvojitý hash SHA-256. Seřaď je, coinbase dej jako první. Spoj sousední hashe do dvojic a zahashuj každou dvojici. Teď máš poloviční počet hashů. Opakuj, dokud nezůstane jediný: to je kořen Merkleova stromu.
Pokud je na úrovni lichý počet hashů, poslední se spáruje sám se sebou. Změň jakoukoli transakci, byť jen o jeden satoshi, a změní se každý hash na její cestě k vrcholu, včetně kořene. Vyzkoušej si to v ukázce výše.
Proč strom, a ne jeden velký hash?
Důkazy. K prokázání, že je transakce součástí bloku, potřebuješ jen hashe na její větvi, ne celý blok. U bloku s přibližně 4 000 transakcemi jich stačí jen 12, tedy několik set bajtů. Satoshiho bílá kniha popisuje odlehčené peněženky, které takto ověřují platby a uchovávají jen hlavičky bloků.
Na těžbě záleží i na tom. Když těžař změní extra nonce v coinbase transakci, změní se kořen Merkleova stromu a hlavička bloku dostane novou sadu nonce k vyzkoušení.
Zdroje
- Bitcoin: Peer-to-Peer elektronický hotovostní systém · Satoshi Nakamoto, 2008
- Odkaz k řetězci bloků: hlavičky, Merkleovy stromy, cíl · Dokumentace pro vývojáře Bitcoinu
- Merkleův strom · Bitcoin Wiki
Aktuální údaje na této stránce pocházejí z API CloudMineCrypto a veřejných dat blockchainu. Pravidelně se obnovují a jsou označené tam, kde se zobrazují. Pouze pro vzdělávací účely, nejde o finanční poradenství.