De merkle-boom is een datastructuur die gebruikt wordt in de informatica en de cryptografie. Op de cryptomarkt duidt de merkle-boom op een datastructuur die de samenvatting bevat van de transacties die via de hashfunctie op de blockchain zijn vastgelegd. De merkle-boom helpt om transactieblocks op de blockchain eenvoudig en efficiënt te verifiëren. In dit artikel vind je het antwoord op de vraag wat een merkle-boom precies is.
De merkle-boom werd ontdekt door Ralph Merkle. Hij liet het concept in 1979 patenteren en beschreef het in zijn artikel "Een digitale handtekening op basis van een conventionele versleutelingsfunctie", dat in 1987 verscheen. Een merkle-boom is een schemavormige datastructuur die bestaat uit hashwaarden. De hashcodes van de data staan in het schema van onder naar boven gerangschikt, en de waarde van een hoger gelegen hash ontstaat door de hashes van de laag eronder samen te voegen.
Juist zo wordt de integriteit van de data in het systeem gewaarborgd: de hashwaarden staan geordend in een schema en worden stap voor stap van onder naar boven samengevoegd. De structuur wordt gebruikt bij dataoverdracht van persoon tot persoon, in peer-to-peer-netwerken en bij het verifiëren van de overgedragen gegevens. Met de merkle-boom valt te achterhalen of de overgedragen data of datablokken beschadigd of vervalst zijn. Op dezelfde manier wordt bevestigd dat die blocks kloppen.
Hoe werkt een merkle-boom?
Merkle-bomen bestaan uit de hashwaarden in de blocks. Helemaal onderin de merkle-boom staan de transactiegegevens. De hashwaarde (hashcode) van die gegevens ontstaat door de hashfunctie erop uit te voeren. Vervolgens worden de waarden onderaan het schema twee aan twee samengevoegd en wordt het resultaat in de rij erboven gezet. Door dit proces te herhalen wordt de merkle-boom opgebouwd. Aan het eind heet de hashwaarde bovenaan het schema de root hash of merkle root. De berekende root hash laat zien of er fouten in de blocks zitten. Zijn er onregelmatigheden in de waarden waaruit de root hash is opgebouwd, dan blijft het algoritme in het systeem met hashfuncties doorwerken totdat het een foutloze merkle root oplevert.
Waarom wordt de merkle-boom in Bitcoin gebruikt?
Omdat hij het werk vergemakkelijkt voor miners die blocks op de Bitcoin-blockchain willen verifiëren. Miners op de Bitcoin-blockchain verifiëren blocks door de hashfunctie uit te voeren. Op de Bitcoin-blockchain worden de gegevens gesorteerd en in de merkle-boom geplaatst, waarna de hashfuncties van het algoritme de root hash berekenen. De verkregen root hash kan ook bij volgende mining-bewerkingen worden gebruikt. Zo kunnen miners hun werk voortzetten door alleen de root hash te hashen in plaats van alle blocks. Ook op de blockchains van andere cryptomunten dan Bitcoin biedt de merkle-boom uitkomst.
