Blockchain i kriptovalute golem su i složen krajolik. Mnogi zupčanici ulaze u ovaj stroj, uključujući nešto što je poznato kao Merkleovo stablo. Merkleova stabla igraju ključnu ulogu u funkcionalnosti blockchaina, ali što ona točno rade? Kako funkcionira Merkle stablo i zašto je toliko važno u blockchain tehnologiji?
Kako funkcionira blockchain?
Prije nego što uđete u dinamiku Merkleovog stabla, važno je razumjeti kako funkcioniraju blockchaini.
Najjednostavnije rečeno, blockchain je virtualni lanac blokova, od kojih svaki sadrži vlastiti skup podataka. Svaki blok koristi kriptografiju, posebno hashiranje, kako bi osigurao podatke i zaštitio ih od ruku zlonamjernih aktera.
Blockchaini se najčešće koriste u industriji kriptovaluta, gdje se svaka transakcija provedena s određenom imovinom bilježi na izvornom blockchainu. Nadalje, svaka se transakcija bilježi kronološki i vidljiva cijelom blockchainu (može se pregledati pomoću alate poput blockchain explorera).
Transakcije na blockchainu ne mogu se mijenjati ili brisati. Umjesto toga, korištenjem a
proces koji se naziva raspršivanje, podaci su kodirani matematičkim algoritmima. Ovi algoritmi mogu pretvoriti bilo koju duljinu znakova u fiksnu, kodiranu duljinu.Prilikom bilježenja transakcija na blockchainu, Merkleova stabla igraju ključnu ulogu. Ali kako radi Merkleovo stablo?
Što je Merkleovo drvo?
Naziv "Merkle stablo" ima dva porijekla. "Merkle" se odnosi na Ralpha Merklea, američkog računalnog znanstvenika i matematičara koji je dao veliki doprinos kriptografiji s javnim ključem. Merkle je prvobitno predložio binarna hash stabla 1987. u radu pod naslovom "Digitalni potpis temeljen na Konvencionalna funkcija šifriranja." Merkle je također izumio kriptografsko raspršivanje koje se koristi u Merkle drvo.
Drugi dio "Merkleovog stabla" proizlazi iz njegove strukture. Merkleovo stablo (ili binarno hash stablo) struktura je podataka koja pomalo nalikuje stablu. Merkleova stabla sadrže "grane" i "lišće", pri čemu svaki "list" ili "grana" sadrži hash bloka podataka.
Ukratko, Merkleovo stablo pojednostavljuje proces pohranjivanja transakcijskih hashova na blockchainu. Skuplja sve transakcije unutar jednog bloka i učinkovito ih kodira za sigurniju i bržu pohranu u obliku jednog hash-a. Korištenjem Merkleovog stabla, valjanost podataka može se brzo procijeniti kroz jedan završni hash. Ovo pojednostavljuje proces pohrane podataka, ali također održava sigurnosni integritet.
Merkleova stabla također ne zahtijevaju mnogo računalnih resursa. Zapravo, oni smanjuju prostor za pohranu potreban za podatke kompajlirajući više hashova transakcija u samo jedan. Korištenje resursa odavno je predmet sporenja u kripto industriji, budući da blockchain mreže mogu biti veliki gubitak prostora za pohranu i energije. Dakle, korištenje Merkleovih stabala pomaže u ublažavanju ovog problema. Pohranjivanje podataka u lancu također može biti skupo, tako da korištenje Merkleovih stabala za smanjenje količine podataka može pomoći blockchain platformama da uštede novac.
Štoviše, proces Merkleovog stabla ne traje dugo, što je dobra vijest u pogledu učinkovitosti. Naposljetku, mnogi lanci blokova predviđeni su zbog dugog vremena transakcije (uključujući Bitcoin), tako da je svaki postupak koji može pomoći s ovim problemom plus.
Merkleova stabla koriste se u mnogim područjima računalstva (posebice u kriptografiji i enkripciji), ali su često poznata po svojoj prisutnosti u lancima blokova kriptovaluta. Bitcoin, Ethereum, Dogecoin i sve druge kriptovalute koriste Merkle stablo, tako da je to nedvojbeno važan element.
Dakle, kako to radi?
Kako radi Merkleovo drvo?
Ispod je dijagram koji prikazuje kako radi Merkleovo stablo. Imajte na umu da bi u stvarnosti bilo puno više transakcija i hashova po stablu, ali ova slika pojednostavljuje proces tako da možete dobiti ideju o uključenim koracima.
Gledajući ovaj Merkleov dijagram stabla, stvari izgledaju pomalo složeno. Ali postupak haširanja Merkleovog stabla prilično je jednostavan kada se raščlani.
Postoji nekoliko koraka koji ulaze u proces Merkleovog stabla. Kruške na dnu Merkleovog stabla poznate su kao lišće, dok su kuglice u sredini stabla poznate kao grane. Grane se također ponekad nazivaju nelisnim čvorovima. Na samom dnu dijagrama imate podatkovne blokove (ili transakcije) iz kojih će se pojaviti hash.
Početne transakcije iz svakog čvora raspršuju se u parovima, a kao rezultat ostaje jedno raspršivanje. Zatim se par za parom opetovano raspršuje u jedan sve dok se ne pojavi jedan hash, gdje proces završava. Ako postoji neparan broj transakcija unutar bloka, jedna će se transakcija duplicirati tako da se može upariti s izvornom za raspršivanje.
Iako se konačni hash pojavljuje na vrhu gornjeg dijagrama, poznat je kao "korijen" stabla (root hash). Korijen je u biti kulminacijski hash svih pojedinačnih hashova transakcija pohranjenih unutar bloka. Potrebno je jedno Merkleovo stablo po bloku, što znači da svaki blok ima jedno polje Merkle Root podataka.
Ako ste ikada dublje proučavali blockchaine, možda ste čuli za Merkle Root ili Merkle Hash. Unutar bloka postoji nešto što je poznato kao hashMerkleRoot. Ovi podaci (konačni hash na kraju stabla) čuvaju se u zaglavlju bloka određenog bloka. A blockchain blok sadrži i druge podatke, kao što je vremenska oznaka, broj verzije sredstva i "nonce" (broj koji se koristi samo jednom).
Mogu li blockchaini funkcionirati bez Merkleovih stabala?
Iako Merkleova stabla nisu apsolutno potrebna za postojanje blockchaina, ona igraju nevjerojatno važnu ulogu u osiguravanju podataka.
Bez Merkleovih stabala, lanci blokova kriptovaluta zahtijevaju više resursa i vremena za provođenje ključnih procesa. Prvo, svaki čvor unutar mreže morao bi zadržati vlastitu kopiju svake transakcije provedene na blockchainu. Na većim lancima blokova stotine tisuća transakcija mogu se odvijati u samo jednoj dan, tako da bi dodavanje takve količine podataka u kopiju svakog čvora nedvojbeno potrošilo mnogo resursi.
Štoviše, Merkleova stabla igraju veliku ulogu u provjeri podataka. Preko jedinstvenog korijenskog hasha na kraju stabla, validatori i rudari mogu provjeriti je li blok, kao cjelina, valjan za dodavanje u blockchain. Mogućnost provjere autentičnosti podataka bez pregledavanja svake pojedine transakcije je plus, štedi vrijeme i prostor za pohranu.
Merkleova stabla su ključna u funkcionalnosti blockchaina
Ne može se poreći da Merkle stabla nude sigurnost i učinkovitost blockchaina, a da ne zauzimaju puno prostora. Ovaj izvrstan kriptografski proces omogućuje besprijekoran rad lanaca blokova bez potrebe za pretjeranom upotrebom resursa. Merkleova stabla nisu neophodna, ali su iznimno korisna kada je u pitanju vrijeme, prostor za pohranu i provjera autentičnosti podataka.