Blockchain in kriptovalute so velika in zapletena pokrajina. V ta stroj gre veliko zobnikov, vključno z nečim, kar je znano kot Merklovo drevo. Drevesa Merkle igrajo ključno vlogo pri funkcionalnosti verige blokov, toda kaj točno počnejo? Kako deluje Merklovo drevo in zakaj je tako pomembno v tehnologiji veriženja blokov?
Kako deluje veriga blokov?
Preden se lotimo dinamike Merklovega drevesa, je pomembno razumeti kako delujejo verige blokov.
Najenostavneje povedano, veriga blokov je virtualna veriga blokov, od katerih vsak vsebuje svoj niz podatkov. Vsak blok uporablja kriptografijo, zlasti zgoščevanje, da zavaruje podatke in jih zaščiti pred zlonamernimi akterji.
Verige blokov se najpogosteje uporabljajo v industriji kriptovalut, kjer je vsaka transakcija, opravljena z danim sredstvom, zabeležena v izvorni verigi blokov. Poleg tega je vsaka transakcija zabeležena kronološko in vidna celotni verigi blokov (ogled z uporabo orodja, kot je blockchain explorer).
Transakcij v verigi blokov ni mogoče spremeniti ali izbrisati. Namesto tega z uporabo a
postopek, imenovan zgoščevanje, so podatki kodirani z matematičnimi algoritmi. Ti algoritmi lahko pretvorijo poljubno dolžino znakov v fiksno, kodirano dolžino.Pri beleženju transakcij v verigi blokov imajo Merklejeva drevesa ključno vlogo. Kako pa deluje Merklovo drevo?
Kaj je Merklovo drevo?
Ime "drevo Merkle" ima dva izvora. "Merkle" se nanaša na Ralpha Merkla, ameriškega računalniškega znanstvenika in matematika, ki je veliko prispeval k kriptografiji z javnimi ključi. Merkle je prvotno predlagal binarna zgoščevalna drevesa leta 1987 v članku z naslovom "Digitalni podpis, ki temelji na Običajna funkcija šifriranja." Merkle je izumil tudi kriptografsko zgoščevanje, ki se uporablja v Merkle drevo.
Drugi del "Merklejevega drevesa" izhaja iz njegove strukture. Merklovo drevo (ali binarno zgoščeno drevo) je podatkovna struktura, ki je nekoliko podobna drevesu. Drevesa Merkle vsebujejo "veje" in "liste", pri čemer vsak "list" ali "veja" vsebuje zgoščeno vrednost podatkovnega bloka.
Skratka, Merklovo drevo poenostavi postopek shranjevanja transakcijskih zgoščenih vrednosti v verigi blokov. Združuje vse transakcije v enem samem bloku in jih učinkovito kodira za varnejše in hitrejše shranjevanje v obliki enega zgoščene vrednosti. Z uporabo Merklovega drevesa je mogoče veljavnost podatkov hitro oceniti z enim končnim zgoščevanjem. To poenostavlja postopek shranjevanja podatkov, hkrati pa ohranja varnostno celovitost.
Merklova drevesa tudi ne potrebujejo veliko računalniških virov. Pravzaprav zmanjšajo prostor za shranjevanje podatkov, tako da sestavijo več transakcijskih zgoščenih vrednosti v samo eno. Uporaba virov je že dolgo predmet spora v kripto industriji, saj lahko omrežja blockchain močno porabijo prostor za shranjevanje in energijo. Torej uporaba dreves Merkle pomaga ublažiti to težavo. Shranjevanje podatkov v verigi je lahko tudi drago, zato lahko uporaba dreves Merkle za zmanjšanje količine podatkov pomaga platformam blockchain prihraniti denar.
Še več, postopek Merklovega drevesa ne traja prav dolgo, kar je dobra novica glede učinkovitosti. Navsezadnje so številne verige blokov predvidene za dolge transakcijske čase (vključno z Bitcoinom), zato je vsak postopek, ki lahko pomaga pri tej težavi, plus.
Drevesa Merkle se uporabljajo na številnih področjih računalništva (zlasti kriptografija in šifriranje), vendar so pogosto znana po svoji prisotnosti v verigah blokov kriptovalut. Bitcoin, Ethereum, Dogecoin in vse druge kriptovalute uporabljajo drevo Merkle, zato je nedvomno pomemben element.
Torej, kako deluje?
Kako deluje Merklovo drevo?
Spodaj je diagram delovanja Merklovega drevesa. Upoštevajte, da bi bilo v resnici veliko več transakcij in zgoščenih vrednosti na drevo, vendar ta slika poenostavlja postopek, tako da lahko dobite predstavo o vključenih korakih.
Če pogledamo ta Merklov drevesni diagram, so stvari videti nekoliko zapletene. Vendar je postopek zgoščevanja drevesa Merkle precej preprost, če ga razčlenimo.
Obstaja nekaj korakov, ki gredo v postopek drevesa Merkle. Koščki na dnu drevesa Merkle so znani kot listi, medtem ko so kosi na sredini drevesa znani kot veje. Veje se včasih imenujejo tudi nelistni vozli. Čisto na dnu diagrama imate podatkovne bloke (ali transakcije), iz katerih bo nastala zgoščena vrednost.
Začetne transakcije iz vsakega vozlišča so zgoščene v parih, pri čemer ostane ena zgoščena vrednost kot rezultat. Nato se par za parom večkrat zgosti v enega, dokler se ne pojavi en sam zgoščen, kjer se postopek konča. Če je znotraj bloka liho število transakcij, bo ena transakcija podvojena, tako da jo je mogoče združiti z izvirnikom za zgoščevanje.
Čeprav se končna zgoščena vrednost pojavi na vrhu zgornjega diagrama, je znana kot "koren" drevesa (korenska zgoščena vrednost). Koren je v bistvu kulminacijski hash vseh posameznih hash-ov transakcij, shranjenih v bloku. Na blok je potrebno eno drevo Merkle, kar pomeni, da ima vsak blok eno podatkovno polje Merkle Root.
Če ste kdaj poglobljeno preučevali verige blokov, ste morda že slišali za Merkle Root ali Merkle Hash. Znotraj bloka obstaja nekaj, kar je znano kot hashMerkleRoot. Ti podatki (končna zgoščena vrednost na koncu drevesa) se hranijo v glavi bloka danega bloka. A blockchain blok vsebuje tudi druge podatke, kot je časovni žig, številka različice sredstva in "nonce" (številka, uporabljena samo enkrat).
Ali lahko verige blokov delujejo brez dreves Merkle?
Medtem ko drevesa Merkle niso nujno potrebna za obstoj verige blokov, igrajo izjemno pomembno vlogo pri varovanju podatkov.
Brez dreves Merkle blokovne verige kriptovalut zahtevajo več virov in časa za izvajanje ključnih procesov. Prvič, vsako vozlišče v omrežju bi moralo hraniti svojo kopijo vsake transakcije, izvedene v verigi blokov. V večjih verigah blokov se lahko izvede več sto tisoč transakcij v samo eni dan, zato bi dodajanje takšne količine podatkov v kopijo vsakega vozlišča nedvomno porabilo veliko virov.
Še več, drevesa Merkle igrajo veliko vlogo pri preverjanju podatkov. Prek zgoščene vrednosti z enim korenom na koncu drevesa lahko validatorji in rudarji preverijo, ali je blok kot celota veljaven za dodajanje v verigo blokov. Možnost preverjanja pristnosti podatkov, ne da bi morali pregledati vsako posamezno transakcijo, je prednost, saj prihranite čas in prostor za shranjevanje.
Drevesa Merkle so ključna pri funkcionalnosti verige blokov
Ni zanikati, da drevesa Merkle ponujajo varnost in učinkovitost verig blokov, ne da bi zavzela veliko prostora. Ta eleganten kriptografski postopek omogoča nemoteno delovanje blokovnih verig brez potrebe po pretirani porabi virov. Drevesa Merkle niso bistvenega pomena, vendar so zelo koristna, ko gre za čas, prostor za shranjevanje in preverjanje pristnosti podatkov.