24 juni 2021 19:37

Merkle Root (cryptocurrency)

Wat is een Merkle-wortel?

Een Merkle-root is de hash van alle hashes van alle transacties die deel uitmaken van een blok in een  blockchain netwerk.

Belangrijkste leerpunten

  • Een Merkle-wortel is een eenvoudige wiskundige manier om de gegevens op een Merkle-boom te verifiëren.
  • Merkle-roots worden gebruikt in cryptocurrency om ervoor te zorgen dat datablokken die tussen peers op een peer-to-peer-netwerk worden doorgegeven, heel, onbeschadigd en ongewijzigd zijn.
  • Merkle-roots staan ​​centraal in de berekening die nodig is om cryptocurrencies zoals bitcoin en ether in stand te houden.

Een Merkle-wortel begrijpen

Een blockchain bestaat uit verschillende blokken die met elkaar verbonden zijn (vandaar de naam blockchain). Een hash-boom, of de Merkle-boom, codeert de blockchain-gegevens op een efficiënte en veilige manier. Het maakt een snelle verificatie van blockchain-gegevens mogelijk, evenals een snelle verplaatsing van grote hoeveelheden gegevens van het ene computerknooppunt naar het andere op het peer-to-peer blockchain-netwerk.

Elke transactie die op het blockchain-netwerk plaatsvindt, heeft een hash die eraan is gekoppeld. Deze hashes worden echter niet in een opeenvolgende volgorde op het blok opgeslagen, maar in de vorm van een boomachtige structuur, zodat elke hash aan zijn ouder is gekoppeld volgens een ouder-kind boomachtige relatie.

Omdat er talloze transacties zijn opgeslagen op een bepaald blok, worden alle transactie-hashes in het blok ook gehasht, wat resulteert in een Merkle-root.

Overweeg bijvoorbeeld een blok met zeven transacties. Op het laagste niveau (het leaf-niveau genoemd) zijn er vier transactie-hashes. Op het eerste niveau boven het leaf-niveau zijn er twee transactie-hashes, die elk worden verbonden met twee hashes die zich eronder bevinden op het leaf-niveau. Bovenaan (niveau twee) staat de laatste transactie-hash, de root genaamd, en deze maakt verbinding met de twee hashes eronder (op niveau één).

In feite krijg je een omgekeerde binaire boom, waarbij elk knooppunt van de boom slechts twee knooppunten eronder verbindt (vandaar de naam “binaire boom”). Het heeft één root-hash bovenaan, die is verbonden met twee hashes op niveau één, die elk weer verbonden zijn met de twee hashes op niveau drie (leaf-niveau), en de structuur gaat verder afhankelijk van het aantal transactie-hashes.

De hashing begint op de knooppunten op het laagste niveau (bladniveau) en alle vier de hashes worden opgenomen in de hash van knooppunten die er op niveau één aan zijn gekoppeld. Evenzo gaat hashing door op niveau één, wat ertoe leidt dat hashes van hashes naar hogere niveaus gaan, totdat het de single top root hash bereikt.

Deze root-hash wordt de Merkle-root genoemd en vanwege de boomachtige koppeling van hashes bevat deze alle informatie over elke afzonderlijke transactie-hash die op het blok bestaat. Het biedt een hash-waarde van één punt waarmee alles wat in dat blok aanwezig is, kan worden gevalideerd.

Als iemand bijvoorbeeld een transactie moet verifiëren die beweert afkomstig te zijn van blok # 137, hoeft hij alleen de Merkle-structuur van het blok te controleren, zonder zich zorgen te maken over het verifiëren van iets op andere blokken op de blockchain, zoals blok # 136 of blok # 138.

Voer de Merkle-root in, wat de verificatie verder versnelt. Omdat het alle informatie over de hele boom bevat, hoeft men alleen die transactie-hash, zijn broer of zus-node (als deze bestaat) te verifiëren en vervolgens omhoog te gaan totdat deze de top bereikt.

In wezen verminderen de Merkle-boom en het Merkle-rootmechanisme de uit te voeren hashing aanzienlijk, waardoor snellere verificatie en transacties mogelijk zijn.