Blockchain og kryptovalutaer er et stort og komplekst landskab. Mange tandhjul går ind i denne maskine, inklusive noget kendt som et Merkle-træ. Merkle-træer spiller en nøglerolle i blockchain-funktionalitet, men hvad gør det præcist? Hvordan fungerer et Merkle-træ, og hvorfor er det så vigtigt i blockchain-teknologi?
Hvordan fungerer en Blockchain?
Før du går ind i dynamikken i Merkle-træet, er det vigtigt at forstå hvordan blockchains fungerer.
I de enkleste vendinger er en blockchain en virtuel kæde af blokke, der hver indeholder sit eget datasæt. Hver blok bruger kryptografi, specifikt hashing, til at sikre data og holde dem ude af hænderne på ondsindede aktører.
Blockchains er mest almindeligt anvendt i kryptovalutaindustrien, hvor hver eneste transaktion, der udføres med et givent aktiv, registreres på dets oprindelige blockchain. Desuden registreres hver transaktion kronologisk og er synlig for hele blockchain (kan ses vha værktøjer som en blockchain explorer).
Transaktioner på en blockchain kan ikke ændres eller slettes. I stedet bruger man en
proces kaldet hashing, er data kodet gennem matematiske algoritmer. Disse algoritmer kan konvertere enhver længde af tegn til en fast, kodet længde.Når du registrerer transaktioner på en blockchain, spiller Merkle-træer en afgørende rolle. Men hvordan fungerer et Merkle-træ?
Hvad er et Merkle-træ?
Navnet "Merkle træ" har to oprindelser. "Merkle" refererer til Ralph Merkle, en amerikansk computerforsker og matematiker, der bidrog massivt til offentlig nøglekryptering. Merkle foreslog oprindeligt binære hashtræer i 1987 i et papir med titlen "En digital signatur baseret på en Konventionel krypteringsfunktion." Merkle opfandt også kryptografisk hashing, som bruges i Merkle træ.
Den anden del af "Merkle tree" stammer fra dets struktur. Et Merkle-træ (eller et binært hash-træ) er en datastruktur, der ligner et træ. Merkle-træer indeholder "grene" og "blade", hvor hvert "blad" eller "gren" indeholder hashen af en datablok.
Kort sagt strømliner et Merkle-træ processen med at gemme transaktions-hash på en blockchain. Den samler alle transaktionerne inden for en enkelt blok og koder dem effektivt til sikrere og hurtigere lagring i form af én hash. Ved hjælp af et Merkle-træ kan validiteten af dataene hurtigt vurderes gennem en sidste hash. Dette forenkler datalagringsprocessen, men bevarer også sikkerhedsintegriteten.
Merkle træer kræver heller ikke mange beregningsressourcer. Faktisk skærer de ned på lagerpladsen, der kræves til data, ved at kompilere flere transaktions-hash til kun én. Brugen af ressourcer har for længst været et stridspunkt i kryptoindustrien, da blockchain-netværk kan være et stort træk på lagerplads og strøm. Så brug af Merkle-træer hjælper med at afhjælpe dette problem. On-chain datalagring kan også være dyr, så at bruge Merkle-træer til at skære ned på mængden af data kan hjælpe blockchain-platforme med at spare penge.
Desuden tager Merkle-træprocessen ikke særlig lang tid, hvilket er gode nyheder med hensyn til effektivitet. Mange blockchains er trods alt blevet berammet til deres lange transaktionstider (inklusive Bitcoin), så enhver proces, der kan hjælpe med dette problem, er et plus.
Merkle-træer bruges i mange områder inden for databehandling (især kryptografi og kryptering), men er ofte kendt for deres tilstedeværelse i kryptovaluta-blokkæder. Bitcoin, Ethereum, Dogecoin og alle andre kryptovalutaer bruger Merkle-træet, så det er uden tvivl et vigtigt element.
Så hvordan virker det?
Hvordan virker et Merkle-træ?
Nedenfor er et diagram over, hvordan et Merkle-træ fungerer. Bemærk, at der i virkeligheden ville være mange flere transaktioner og hashes pr. træ, men dette billede forenkler processen, så du kan få en idé om de involverede trin.
Ser man på dette Merkle-trædiagram, ser tingene lidt komplekse ud. Men processen med Merkle-træ-hashing er ret ligetil, når den brydes ned.
Der er et par trin, der går ind i Merkle-træprocessen. Hashen i bunden af Merkle-træet er kendt som blade, mens hashen i midten af træet er kendt som grene. Grenene omtales også nogle gange som ikke-bladknuder. Helt nederst i diagrammet har du de datablokke (eller transaktioner), hvorfra hashen vil dukke op.
De indledende transaktioner fra hver node hashes i par, med en hash tilbage som resultatet. Derefter hashes par på par gentagne gange til ét, indtil en enkelt hash opstår, hvor processen slutter. Hvis der tilfældigvis er et ulige antal transaktioner inden for en blok, vil en transaktion blive duplikeret, så den kan parres med originalen til hash.
Selvom den endelige hash vises i toppen af ovenstående diagram, er den kendt som "roden" af træet (rodhashen). Roden er i det væsentlige kulminations-hashen af alle de individuelle hashes af transaktioner, der er gemt i blokken. Et Merkle-træ er påkrævet pr. blok, hvilket betyder, at hver blok har et Merkle Root-datafelt.
Hvis du nogensinde har undersøgt blockchains i dybden, har du måske hørt om Merkle Root eller Merkle Hash. Inden for en blok findes noget kendt som en hashMerkleRoot. Disse data (den sidste hash i slutningen af træet) opbevares i blokhovedet for en given blok. EN blockchain blok indeholder også andre data, såsom et tidsstempel, aktivets versionsnummer og "nonce" (nummeret bruges kun én gang).
Kan blockchains fungere uden Merkle-træer?
Mens Merkle-træer ikke er absolut nødvendige for at en blockchain kan eksistere, spiller de en utrolig vigtig rolle i sikringen af data.
Uden Merkle-træer kræver cryptocurrency-blockchains flere ressourcer og tid til at udføre nøgleprocesser. For det første skal hver node i netværket beholde sin egen kopi af hver transaktion, der udføres på blockchain. På større blockchains kan hundredtusindvis af transaktioner finde sted i løbet af blot én dag, så at tilføje en sådan mængde data til hver nodes kopi ville uden tvivl forbruge en masse ressourcer.
Desuden spiller Merkle-træer en stor rolle i dataverifikation. Via den enkelte root-hash for enden af træet kan validatorer og minearbejdere verificere, om blokken som helhed er gyldig til at blive tilføjet til blockchain. At være i stand til at autentificere data uden at gennemgå hver enkelt transaktion er et plus, hvilket sparer tid og lagerplads.
Merkle-træer er nøglen til Blockchain-funktionalitet
Der er ingen tvivl om, at Merkle-træer tilbyder blockchains sikkerhed og effektivitet uden at optage en masse plads. Denne smarte kryptografiske proces gør det muligt for blockchains at fungere problemfrit uden behov for overdreven brug af ressourcer. Merkle-træer er ikke afgørende, men enormt gavnlige, når det kommer til tid, lagerplads og datagodkendelse.