Bewerken van Merkle Tree
Uit BitcoinWiki.nl
Deze bewerking kan ongedaan gemaakt worden. Hieronder staat de tekst waarin de wijziging ongedaan is gemaakt. Controleer voor het publiceren of het resultaat gewenst is.
Huidige versie | Je tekst | ||
Regel 1: | Regel 1: | ||
Een '''merkle tree''', ook wel een hash tree (vertaling: hash-boom) genoemd, is een binaire hashboom waarin elke node (knooppunt) gelabeld is met de hash is van twee samengevoegde onderliggende nodes. De hoogste liggende node- de '''merkle root''' of ‘top-node’- bevat informatie over alle data in de boom. Dit heeft als gevolg dat een kleine verandering in data een andere merkle root geeft. | Een '''merkle tree''', ook wel een hash tree (vertaling: hash-boom) genoemd, is een binaire hashboom waarin elke node (knooppunt) gelabeld is met de hash is van twee samengevoegde onderliggende nodes. De hoogste liggende node- de '''merkle root''' of ‘top-node’- bevat informatie over alle data in de boom. Dit heeft als gevolg dat een kleine verandering in data een andere merkle root geeft. | ||
Merkle trees zijn genoemd naar zijn uitvinder, | Merkle trees zijn genoemd naar zijn uitvinder, Ralph Merkle. | ||
In | In Bitcoin worden o.a. txid’s op deze manier gebundeld. De merkle root van deze boom is onderdeel van de block header, hetgeen wat door miners gehashed wordt. | ||
Het voordeel van het toepassen van een boomstructuur is dat voor verificatie van de inhoud van de tree erg efficiënt is voor grote datasets. Een merkle tree schaalt namelijk logaritmisch. Dit betekent dat voor ''N'' txid’s maar ''log<sub>2</sub>(N)'' hashes nodig zijn. In Bitcoin zitten er al gauw 2000+ | Het voordeel van het toepassen van een boomstructuur is dat voor verificatie van de inhoud van de tree erg efficiënt is voor grote datasets. Een merkle tree schaalt namelijk logaritmisch. Dit betekent dat voor ''N'' txid’s maar ''log<sub>2</sub>(N)'' hashes nodig zijn. In Bitcoin zitten er al gauw 2000+ transacties in een blok. In plaats van 2000 hashes zijn er nu dus maar 11 nodig. | ||
Dankzij merkle trees zijn lightweight-clients mogelijk, die transacties verifiëren zonder de gehele blockchain te downloaden en op te slaan. Een block header is immers maar ~80 bytes waar een blok vaak 1-2Mb is. | Dankzij merkle trees zijn lightweight-clients mogelijk, die transacties te verifiëren zonder de gehele blockchain te downloaden en op te slaan. Een block header is immers maar ~80 bytes waar een blok vaak 1-2Mb is. | ||
Het verificatieproces van data in een merkle tree heet ook wel een '''merkle proof'''. | Het verificatieproces van data in een merkle tree heet ook wel een '''merkle proof'''. |