Blockchain ir kriptovaliutos yra didžiulis ir sudėtingas kraštovaizdis. Į šią mašiną patenka daug krumpliaračių, įskaitant tai, kas žinoma kaip Merkle medis. Merkle medžiai vaidina pagrindinį vaidmenį „blockchain“ funkcijoje, bet ką tiksliai tai daro? Kaip veikia Merkle medis ir kodėl jis toks svarbus blockchain technologijoje?
Kaip veikia Blockchain?
Prieš įsigilinant į Merkle medžio dinamiką, svarbu suprasti kaip veikia blokų grandinės.
Paprasčiausiai tariant, blokų grandinė yra virtuali blokų grandinė, kurioje kiekvienas turi savo duomenų rinkinį. Kiekvienas blokas naudoja kriptografiją, ypač maišą, kad apsaugotų duomenis ir apsaugotų juos nuo kenkėjiškų veikėjų.
Blockchains dažniausiai naudojamos kriptovaliutų pramonėje, kur kiekviena operacija, atlikta su tam tikru turtu, yra įrašoma į jo gimtąją blokų grandinę. Be to, kiekviena operacija įrašoma chronologiškai ir matoma visai blokų grandinei (peržiūrima naudojant tokius įrankius kaip „blockchain explorer“.).
„Blockchain“ operacijų pakeisti ar ištrinti negalima. Vietoj to, naudojant a
procesas vadinamas maiša, duomenys užkoduojami naudojant matematinius algoritmus. Šie algoritmai gali konvertuoti bet kokio ilgio simbolius į fiksuotą, užkoduotą ilgį.Registruojant operacijas blokų grandinėje, Merkle medžiai atlieka lemiamą vaidmenį. Bet kaip veikia Merkle medis?
Kas yra Merkle medis?
Pavadinimas „Merkle medis“ turi dvi kilmes. „Merkle“ reiškia Ralphą Merkle'ą, amerikiečių kompiuterių mokslininką ir matematiką, kuris daug prisidėjo prie viešojo rakto kriptografijos. Merkle iš pradžių pasiūlė dvejetainius maišos medžius 1987 m. straipsnyje „Skaitmeninis parašas, pagrįstas Įprasta šifravimo funkcija." Merkle taip pat išrado kriptografinę maišą, kuri naudojama Merkle medis.
Antroji „Merklės medžio“ dalis kyla iš jo struktūros. Merkle medis (arba dvejetainis maišos medis) yra duomenų struktūra, kuri šiek tiek primena medį. Merkle medžiuose yra „šakos“ ir „lapai“, o kiekviename „lape“ arba „šakoje“ yra duomenų bloko maiša.
Trumpai tariant, Merkle medis supaprastina operacijų maišos saugojimo procesą blokų grandinėje. Jis sugrupuoja visas operacijas viename bloke ir efektyviai užkoduoja jas saugesniam ir greitesniam saugojimui vienos maišos pavidalu. Naudojant Merkle medį, duomenų pagrįstumą galima greitai įvertinti per vieną paskutinę maišą. Tai supaprastina duomenų saugojimo procesą, bet taip pat išlaiko saugumo vientisumą.
Merkle medžiai taip pat nereikalauja daug skaičiavimo išteklių. Tiesą sakant, jie sumažina duomenims reikalingą saugyklą, sujungdami kelias operacijų maišas į vieną. Išteklių naudojimas kriptovaliutų pramonėje jau seniai buvo ginčų objektas, nes „blockchain“ tinklai gali labai išeikvoti saugyklą ir galią. Taigi Merkle medžių naudojimas padeda sušvelninti šią problemą. Duomenų saugojimas tinkle taip pat gali būti brangus, todėl naudojant Merkle medžius duomenų kiekiui sumažinti, blokų grandinės platformos gali sutaupyti pinigų.
Be to, Merkle medžio procesas neužtrunka labai ilgai, o tai yra gera žinia dėl efektyvumo. Galų gale, daugelis blokų grandinių buvo vertinami dėl ilgų operacijų laiko (įskaitant Bitcoin), todėl bet koks procesas, galintis padėti išspręsti šią problemą, yra pliusas.
Merkle medžiai naudojami daugelyje kompiuterijos sričių (ypač kriptografijoje ir šifravime), tačiau dažnai žinomi dėl jų buvimo kriptovaliutų grandinėse. Bitcoin, Ethereum, Dogecoin ir visos kitos kriptovaliutos naudoja Merkle medį, todėl tai neabejotinai svarbus elementas.
Taigi, kaip tai veikia?
Kaip veikia Merkle medis?
Žemiau pateikiama Merkle medžio veikimo schema. Atminkite, kad iš tikrųjų viename medyje būtų daug daugiau operacijų ir maišų, tačiau šis vaizdas supaprastina procesą, kad galėtumėte susidaryti supratimą apie susijusius veiksmus.
Žvelgiant į šią Merkle medžio diagramą, viskas atrodo šiek tiek sudėtinga. Tačiau suskaidžius Merkle medžio maišos procesas yra gana paprastas.
Yra keli žingsniai, susiję su Merkle medžio procesu. Maišos, esančios Merkle medžio apačioje, yra žinomos kaip lapai, o maišos medžio viduryje yra žinomos kaip šakos. Šakos taip pat kartais vadinamos ne lapų mazgais. Pačiame diagramos apačioje yra duomenų blokai (arba operacijos), iš kurių atsiras maiša.
Pradinės operacijos iš kiekvieno mazgo yra sumaišomos poromis, o rezultatas lieka viena maiša. Tada poros po poros pakartotinai maišomos į vieną, kol atsiranda viena maiša, kurioje procesas baigiasi. Jei bloke yra nelyginis operacijų skaičius, viena operacija bus dubliuojama, kad ją būtų galima susieti su originalu, kad būtų atlikta maiša.
Nors paskutinė maiša rodoma aukščiau pateiktos diagramos viršuje, ji žinoma kaip medžio „šaknis“ (šaknies maiša). Šaknis iš esmės yra visų atskirų bloke saugomų operacijų maišos kulminacija. Viename bloke reikalingas vienas Merkle medis, tai reiškia, kad kiekviename bloke yra vienas Merkle šaknies duomenų laukas.
Jei kada nors gilinotės į blokų grandines, galbūt girdėjote apie Merkle Root arba Merkle Hash. Bloke yra kažkas, žinoma kaip hashMerkleRoot. Šie duomenys (galutinė maiša medžio pabaigoje) saugomi tam tikro bloko bloko antraštėje. A „blockchain“ blokas taip pat turi kitus duomenis, pvz., laiko žyma, ištekliaus versijos numeris ir „nonce“ (skaičius naudojamas tik vieną kartą).
Ar Blockchains gali veikti be Merkle medžių?
Nors Merkle medžiai nėra absoliučiai reikalingi tam, kad egzistuotų blokų grandinė, jie atlieka nepaprastai svarbų vaidmenį saugant duomenis.
Be Merkle medžių, kriptovaliutų blokų grandinėms reikia daugiau išteklių ir laiko atlikti pagrindinius procesus. Pirma, kiekvienas tinklo mazgas turėtų turėti savo kiekvienos operacijos, atliktos blokų grandinėje, kopiją. Didesnėse blokų grandinėse šimtai tūkstančių operacijų gali įvykti vos per vieną dieną, todėl pridėjus tokį duomenų kiekį prie kiekvieno mazgo kopijos, neabejotinai sunaudotų daug išteklių.
Be to, Merkle medžiai atlieka svarbų vaidmenį tikrinant duomenis. Naudodami vieną šaknies maišą medžio gale, tikrintojai ir kalnakasiai gali patikrinti, ar blokas, kaip visuma, gali būti įtrauktas į blokų grandinę. Galimybė autentifikuoti duomenis neatsižvelgiant į kiekvieną operaciją yra pliusas, taupantis laiką ir saugojimo vietą.
Merkle medžiai yra Blockchain funkcionalumo pagrindas
Negalima paneigti, kad Merkle medžiai užtikrina blokų grandinės saugumą ir efektyvumą, neužimdami daug vietos. Šis puikus kriptografinis procesas leidžia blokų grandinėms veikti sklandžiai, nenaudojant pernelyg daug išteklių. Merkle medžiai nėra būtini, bet labai naudingi, kai kalbama apie laiką, saugojimo vietą ir duomenų autentifikavimą.