Hva er et merkle-tre?

· 2 min read

Merkle-treet er en datastruktur som brukes innen informatikk og kryptografi. I kryptomarkedet viser merkle-treet til en datastruktur som inneholder sammendraget av transaksjonene som er utført på blokkjeden ved hjelp av hashfunksjonen. Merkle-treet gjør det enkelt og effektivt å verifisere transaksjonsblokker på blokkjeden. I denne artikkelen finner du svaret på hva et merkle-tre egentlig er.

Merkle-treet ble oppdaget av Ralph Merkle. Han tok patent på konseptet i 1979 og omtalte det i artikkelen «En digital signatur basert på en konvensjonell krypteringsfunksjon», som ble publisert i 1987. Et merkle-tre er en skjemaformet datastruktur som består av hashverdier. Hashkodene til de enkelte dataene står ordnet i skjemaet nedenfra og opp, og verdien til en hash lenger opp bestemmes ved at hashene på nivået under settes sammen.

Det er nettopp slik dataintegriteten i systemet sikres: hashverdiene ligger ordnet i et skjema og slås sammen trinn for trinn nedenfra og opp. Strukturen brukes ved dataoverføringer fra person til person, i peer-to-peer-nettverk og til å verifisere de overførte dataene. Med merkle-treet kan man avdekke om de overførte dataene eller datablokkene er skadet eller forfalsket. På samme måte bekreftes det at blokkene er riktige.

Hvordan fungerer merkle-treet?

Merkle-trær består av hashverdiene som ligger i blokkene. Nederst i merkle-treet finner du selve transaksjonsdataene. Hashverdien (hashkoden) til disse dataene fremkommer ved å kjøre hashfunksjonen. Deretter settes verdiene nederst i skjemaet sammen to og to, og resultatet føres inn i raden over. Ved å gjenta prosessen bygges hele merkle-treet opp. Til slutt kalles hashverdien øverst i skjemaet root hash eller merkle root. Den beregnede root hash-verdien viser om det finnes feil i blokkene. Dersom det er avvik i verdiene som root hash bygger på, fortsetter algoritmen i systemet å arbeide med hashfunksjoner helt til den lager en feilfri merkle root.

Hvorfor brukes merkle-treet i Bitcoin?

Fordi det gjør jobben enklere for minerne som skal verifisere blokker på Bitcoin-blokkjeden. Minere på Bitcoin-blokkjeden verifiserer blokker ved å kjøre hashfunksjonen. På Bitcoin-blokkjeden sorteres dataene og plasseres i merkle-treet, og deretter beregner algoritmens hashfunksjoner root hash. Den resulterende root hash-verdien kan også brukes i videre mining. Dermed kan minerne fortsette arbeidet ved å hashe bare root hash i stedet for å hashe alle blokkene. Merkle-treet gir også løsninger på blokkjedene til andre kryptovalutaer enn Bitcoin.

Merkle-tre Hva er et merkle-tre? Hva er et merkle-tre Slik fungerer merkle-treet