Blokkjede og kryptovalutaer er et stort og komplekst landskap. Mange tannhjul går inn i denne maskinen, inkludert noe kjent som et Merkle-tre. Merkle-trær spiller en nøkkelrolle i blokkjedefunksjonalitet, men hva gjør det egentlig? Hvordan fungerer et Merkle-tre, og hvorfor er det så viktig i blockchain-teknologi?

Hvordan fungerer en blokkjede?

Før du går inn i dynamikken til Merkle-treet, er det viktig å forstå hvordan blokkjeder fungerer.

På de enkleste vilkårene er en blokkjede en virtuell kjede av blokker, som hver inneholder sitt eget sett med data. Hver blokk bruker kryptografi, spesifikt hashing, for å sikre data og holde dem unna hendene på ondsinnede aktører.

Blokkjeder er mest brukt i kryptovalutaindustrien, der hver eneste transaksjon som utføres med en gitt eiendel registreres på dens opprinnelige blokkjede. Videre blir hver transaksjon registrert kronologisk og synlig for hele blokkjeden (kan ses ved hjelp av verktøy som en blockchain explorer).

Transaksjoner på en blokkjede kan ikke endres eller slettes. I stedet bruker du en

instagram viewer
prosess kalt hashing, er data kodet gjennom matematiske algoritmer. Disse algoritmene kan konvertere en hvilken som helst lengde på tegn til en fast, kodet lengde.

Når du registrerer transaksjoner på en blokkjede, spiller Merkle-trær en avgjørende rolle. Men hvordan fungerer et Merkle-tre?

Hva er et Merkle-tre?

Navnet "Merkle tree" har to opphav. "Merkle" refererer til Ralph Merkle, en amerikansk informatiker og matematiker som bidro massivt til offentlig nøkkelkryptering. Merkle foreslo opprinnelig binære hasjtrær i 1987 i et papir med tittelen "En digital signatur basert på en Konvensjonell krypteringsfunksjon." Merkle oppfant også kryptografisk hashing, som brukes i Merkle tre.

Den andre delen av "Merkle tree" stammer fra strukturen. Et Merkle-tre (eller et binært hasj-tre) er en datastruktur som ser litt ut som et tre. Merkle-trær inneholder "grener" og "blader", med hvert "blad" eller "gren" som inneholder hashen til en datablokk.

Kort sagt, et Merkle-tre effektiviserer prosessen med å lagre transaksjons-hasher på en blokkjede. Den grupperer alle transaksjonene i en enkelt blokk og koder dem effektivt for sikrere og raskere lagring i form av én hash. Ved å bruke et Merkle-tre kan gyldigheten av dataene raskt vurderes gjennom en siste hash. Dette forenkler datalagringsprosessen, men opprettholder også sikkerhetsintegriteten.

Merkle-trær krever heller ikke mange beregningsressurser. Faktisk kuttet de ned lagringsplassen som kreves for data ved å kompilere flere transaksjons-hasher til bare én. Ressursbruken har for lengst vært et stridspunkt i kryptoindustrien, ettersom blokkjedenettverk kan være en enorm belastning på lagringsplass og kraft. Så bruk av Merkle-trær hjelper til med å lindre dette problemet. Datalagring i kjeden kan også være kostbar, så bruk av Merkle-trær for å kutte ned på mengden data kan hjelpe blokkjedeplattformer med å spare penger.

Dessuten tar ikke Merkle-treprosessen veldig lang tid, noe som er gode nyheter når det gjelder effektivitet. Tross alt har mange blokkjeder blitt beregnet for sine lange transaksjonstider (inkludert Bitcoin), så enhver prosess som kan hjelpe med dette problemet er et pluss.

Merkle-trær brukes i mange områder innen databehandling (spesielt kryptografi og kryptering), men er ofte kjent for sin tilstedeværelse i kryptovalutablokkkjeder. Bitcoin, Ethereum, Dogecoin og alle andre kryptovalutaer bruker Merkle-treet, så det er utvilsomt et viktig element.

Så hvordan fungerer det?

Hvordan fungerer et Merkle-tre?

Nedenfor er et diagram over hvordan et Merkle-tre fungerer. Merk at det i virkeligheten ville vært mange flere transaksjoner og hashes per tre, men dette bildet forenkler prosessen slik at du kan få en ide om trinnene som er involvert.

Bildekreditt: Azaghal/Wikimedia Commons

Når du ser på dette Merkle-trediagrammet, ser ting litt komplekse ut. Men prosessen med Merkle-trehashing er ganske enkel når den brytes ned.

Det er et par trinn som går inn i Merkle-treprosessen. Hashen i bunnen av Merkle-treet er kjent som blader, mens hashen i midten av treet er kjent som grener. Grenene blir også noen ganger referert til som ikke-bladnoder. Helt nederst i diagrammet har du datablokkene (eller transaksjonene) som hashen vil dukke opp fra.

De første transaksjonene fra hver node hashes i par, med én hash igjen som utfall. Deretter hashes par på par gjentatte ganger til ett til en enkelt hash dukker opp, hvor prosessen avsluttes. Hvis det tilfeldigvis er et oddetall transaksjoner innenfor en blokk, vil en transaksjon dupliseres slik at den kan pares med originalen for hashing.

Selv om den endelige hashen vises øverst i diagrammet ovenfor, er den kjent som "roten" til treet (rothashen). Roten er i hovedsak kulminasjonshashen til alle de individuelle hasjene av transaksjoner som er lagret i blokken. Ett Merkle-tre kreves per blokk, noe som betyr at hver blokk har ett Merkle Root-datafelt.

Hvis du noen gang har sett på blokkjeder i dybden, har du kanskje hørt om Merkle Root eller Merkle Hash. Innenfor en blokk eksisterer noe kjent som en hashMerkleRoot. Disse dataene (den siste hashen på slutten av treet) holdes i blokkoverskriften til en gitt blokk. EN blokkjedeblokk inneholder også andre data, for eksempel et tidsstempel, aktivumversjonsnummer og "nonce" (nummeret brukes kun én gang).

Kan blokkjeder fungere uten Merkle-trær?

Mens Merkle-trær ikke er absolutt nødvendige for at en blokkjede skal eksistere, spiller de en utrolig viktig rolle i å sikre data.

Uten Merkle-trær krever kryptovalutablokkjeder mer ressurser og tid for å utføre nøkkelprosesser. For det første må hver node i nettverket beholde sin egen kopi av hver transaksjon som utføres på blokkjeden. På større blokkjeder kan hundretusenvis av transaksjoner finne sted i løpet av bare én dag, så å legge til et slikt datavolum til hver nodes kopi vil utvilsomt forbruke mye ressurser.

Dessuten spiller Merkle-trær en stor rolle i dataverifisering. Via enkeltrothashen på slutten av treet kan validatorer og gruvearbeidere verifisere om blokken som helhet er gyldig for å bli lagt til blokkjeden. Å kunne autentisere data uten å gå gjennom hver enkelt transaksjon er et pluss, og sparer tid og lagringsplass.

Merkle-trær er nøkkelen i Blockchain-funksjonalitet

Det er ingen tvil om at Merkle-trær tilbyr blokkjedersikkerhet og effektivitet uten å ta opp mye plass. Denne smarte kryptografiske prosessen lar blokkjeder fungere sømløst uten behov for overdreven bruk av ressurser. Merkle-trær er ikke avgjørende, men enormt fordelaktige når det kommer til tid, lagringsplass og dataautentisering.