Vad är ett Merkle-träd i Blockchain och hur fungerar det?

Viktiga takeaways:

  • Smakämnen Merkle träd är en typ av binärt hashträd som har 3 typer av noder: lövnoder, icke-bladnoder och rotnoder.
  • Ett Merkle-träd är användbart för verifiering och underhåll av transaktionsintegritet i alla decentraliserade redovisningar.
  • Merkle-trädet ses i Bitcoin såväl som Ethereum.

Beskrivning

Kryptovalutor är inte längre ett okänt ämne, och det är det inte heller blockchain, tekniken bakom deras ursprung. För alla kryptoentusiaster är förståelsen av blockchain-strukturer och hur de fungerar det första steget för att inse kryptons sanna natur.

Samtidigt som att förstå olika blockkedjestrukturer är där Merkle-träden kommer in. Utvecklat som ett koncept redan 1980 av Ralph Merkle från Stanford University. Merkle träd används ofta i peer-to-peer-nätverk (P2P) för att hantera krav på datorkraft och minnesutrymme. Det skulle inte vara en överdrift att säga att Merkle-träden gjorde blockkedjetekniken till en stor framgång. Så låt oss dyka in i innebörden bakom Merkle-trädet och hur det fungerar.

https://www.youtube.com/watch?v=YIc6MNfv5iQ

En översikt över Merkle-trädet

Enkelt uttryckt representerar ett Merkle-träd hur data struktureras målmedvetet. Det möjliggör snabb och effektiv verifiering av en omfattande mängd information på en blockchain. Som nämnts tidigare skapade Ralph Merkle det omedvetet som ett koncept i ett papper med titeln "A Certified Digital Signature." Men ingen förväntade sig att det skulle bli en viktig del av en decentraliserad reskontra i framtiden.

Merkleträdet har förbättrat kryptografivärlden sedan starten. Men det blev avgörande för kryptovalutor efter att Bitcoins mystiska skapare använde det i BTCs grundläggande kod. Efter det antog Ethereum och andra kryptovalutor också Merkle-träd.

När det gäller Bitcoin-nätverket är Merkle-träden en effektiv komponent som använder hash istället för den stora informationsfilen för verifiering av data. Ett Merkle-träd använder unik beskrivande terminologi för att beskriva relationerna mellan noder och deras nivåer.

Varje enskilt block inom blockkedjan innehåller ett antal transaktioner. Att lagra alla dessa transaktioner och hitta vilka specifika transaktioner som hör till vilket block kan vara frustrerande dyra uppgifter. Dessutom kan det påverka effektiviteten hos en blockchain negativt. Men med Merkle-träd är alla transaktioner effektivt ordnade, vilket resulterar i att mindre data används för verifiering och minskad CPU-bearbetning.

Förstå hur ett Merkle-träd fungerar i en blockchain

Här är ett enkelt exempel för att förtydliga detta koncept: 

merkeltree

Föreställ dig ett datablock som det som visas ovan som har 4 transaktioner: L1, L2, L3 och L4. För att lagra dessa transaktioner kan vi implementera konceptet med ett Merkle-träd genom att beräkna hashen för varje transaktion. Efter beräkning, får vi Hash L1, Hash L2, Hash L3 och Hash L4.

Dessa hash för varje transaktion lagras i en nod, vanligtvis kallad en lövnod, i Merkle-trädet. Men vårt arbete fortsätter, eftersom vi måste bilda icke-bladnoder genom att para ihop lövnoder. Efter beräkning får vi Hash 0 och Hash 1, som kallas föräldranoder eller icke-bladsnoder för hasharna för L1, L2, L3 och L4.

Slutligen beräknas hashen för Hash 1 och Hash 2 genom att para ihop dem, och vi når rotnoden, som är Merkle-roten. Genom det här exemplet förstår vi att Merkle-träd fungerar genom att hasha barnnoder upprepade gånger tills en singulär hash finns kvar i strukturen.

På så sätt berättar Merkle-trädet exakt om en transaktion har påverkat trädet genom att endast kontrollera trädets rot. Merkle root lagras i blockhuvudet, vilket gör det manipuleringssäkert och förbättrar förtroendet och integriteten i en decentraliserad reskontra. Det är viktigt att notera att Merkle-träden använder en enkelriktad hashfunktion och kommer att fortsätta tills denna hash skiljer beviset på data från data.

Nödvändigheten av Merkle-träd för blockchain

Nu när vi har diskuterat vad ett Merkle-träd är och hur det fungerar, är det enda som återstår att förstå varför det är viktigt för blockchain. De många fördelarna med ett Merkle-träd gör det till en nödvändighet för blockchain-teknik och till och med kryptoplattformar. Några av dessa fördelar är:

När det gäller överföring, beräkning och korsning av data är förseningar inte tillåtna. Det är därför som många blockchain använder ett Merkle-träd för att hålla nätverket fritt från alla slags förseningar under överföring av data. Genom att minska mängden minne som krävs för att bevisa datas integritet och giltighet blir Merkle-träden en viktig del av blockchain.

I Bitcoin blockchain, som är en distribuerad P2P, kan det förekomma inkonsekvenser eller till och med manipulering av data eftersom samma data finns på varje dator som är ansluten till P2P-nätverket. I det här fallet gör Merkle-trädet det enkelt för gruvarbetare att identifiera någon form av inkonsekvens eller manipulering av transaktioner.

Utan användning av detta koncept kommer all data att behöva överföras över hela nätverket, vilket resulterar i en nätverksnedgång, minskad effektivitet och onödiga utgifter. Ett sådant scenario kan undvikas med hjälp av Merkle-träd, som möjliggör snabb dataverifiering med praktisk beräkningskraft och bandbredd.

Avslutande tankar

Merkle-träd låter som ett komplicerat koncept, men de är en avgörande komponent i blockkedjeteknik och kryptovalutor. Utan existensen av detta koncept skulle det inte finnas något tillitslöst system som används i Bitcoin, Ethereum och gruvdrift.

Vanliga frågor:

Q1. Merkle träd designades för att uppnå vad?
Merkle-trädet designades som en process för att verifiera data för att tillåta datorer att arbeta snabbare.
Q2. Vad är sambandet mellan Merkle-trädet och Ethereum?
Merkle tree är en typ av blockchain-struktur som ligger bakom inte bara Ethereum utan även Bitcoin och processen för kryptomining. Ethereum använder dock en modifierad version av Merkle-trädet, allmänt känt som Merkle Patricia-trädet.
Q3. Hur man implementerar Merkle-trädet
För att implementera Merkle-träd måste man börja med binära träd, där varje icke-bladsnod är hashen av två underordnade noder. Dessa blad kan antingen innehålla data eller hash av data.
Q4. Vilka är några fördelar med Merkle-trädet?
Eftersom det är en lätt struktur som ökar skalbarheten inom blockkedjan kan Merkle-trädet bli av med onödig data och därmed förbättra effektiviteten. Både gruvarbetare och användare kan dra nytta av Merkle-trädet, eftersom det verifierar enskilda delar av block, kontrollerar transaktioner med hash och även beräknar hash medan de tar emot transaktioner.
 

 

Källa: https://coingape.com/education/explained-what-is-a-merkle-tree-in-blockchain-and-how-does-it-work/