Nutieskite kelią Ethereum klientams be pilietybės
„Ethereum“, viena iš pirmaujančių „blockchain“ platformų, remiasi kriptografinėmis duomenų struktūromis, kad užtikrintų duomenų vientisumą ir saugumą. Šiuo metu Ethereum naudoja Merkle medžius savo būsenai ir sandoriams valdyti. Tačiau tinklui plečiantis, Merkle medžiai susiduria su mastelio ir efektyvumo iššūkiais.
Čia pasirodo Verkle medžiai. Šiame tinklaraščio įraše pasigilinsime į dabartinį Merkle medžių naudojimą Ethereum, su jais susijusias problemas ir kaip Verkle medžiai siekia spręsti šias problemas. Taip pat išnagrinėsime techninius Verkle medžių aspektus ir aptarsime susijusius Ethereum tobulinimo pasiūlymus (EIP) ir jų pasekmes Ethereum ateičiai.
Dabartinė būsena: Merkle medžiai Ethereum
Kas yra Merkle medžiai?
Merkle medžiai yra kriptografinės duomenų struktūros, leidžiančios efektyviai ir saugiai patikrinti didelius duomenų rinkinius. Merkle medis susideda iš lapų (sandorių) ir mazgų (šių operacijų maišos). Medis konstruojamas pakartotinai maišant mazgų poras, kol gaunama viena šaknies maiša, žinoma kaip Merkle šaknis. Ši šakninė maiša suteikia unikalų viso duomenų rinkinio piršto atspaudą.
Šaltinis: https://static.javatpoint.com/tutorial/blockchain/images/blockchain-merkle-tree.png
Merkle medžių naudojimas Ethereum
Ethereum Merkle medžiai naudojami keliose pagrindinėse srityse:
- valstijos trie: modifikuota Merkle Patricia Trie, kurioje saugoma visa Ethereum tinklo būsena, įskaitant sąskaitų likučius, sutarties saugojimą ir kt.
- Sandorio bandymas: naudojamas tvarkyti ir tikrinti operacijas bloke.
- Kvitai Trie: saugomi operacijų kvitai, kuriuose pateikiama tokia informacija kaip operacijų rezultatai ir išmaniųjų sutarčių sugeneruoti žurnalai.
Šaltinis: https://static.javatpoint.com/tutorial/blockchain/images/blockchain-merkle-tree2.png
Merkle medžių problemos
Nors Merkle medžiai turi keletą privalumų, jie taip pat turi reikšmingų trūkumų:
- Sandėliavimo neefektyvumas: Modifikuotai Merkle Patricia Trie, naudojamai Ethereum, reikia daug vietos saugykloje, todėl būsenos dydis yra didelis.
- Lėta įrodymų karta: Būsenos ir operacijos patvirtinimo įrodymų generavimas gali būti lėtas ir skaičiavimo požiūriu brangus.
- Susirūpinimas dėl mastelio: Augant Ethereum tinklui, Merkle medžių neefektyvumas tampa vis ryškesnis, o tai trukdo tinklo mastelio keitimui.
Įeikite į Verkle Trees
Kodėl mums reikia Ethereum be pilietybės?
„Ethereum“ šiuo metu kovoja su iššūkiu dėl nuolat didėjančio „blockchain“ dydžio.
Šiandien, norėdami patvirtinti grandinę, turite turėti visiškai sinchronizuotą mazgą, kuriame būtų visa būsena. Tai būtina, nes šiuo metu blokuose nėra visos reikalingos būsenos, kad būtų galima juos vykdyti dėl išlaidų generuojant liudytojas su dabartine Merkle Patricia Trie.
Klientai turi saugoti apie 50 GB vien tik valstybei ir daugiau nei 150 GB, įskaitant visus Merkle įrodymus, kurie per metus padidėja maždaug perpus. Kadangi valstybės duomenų bazė didėja, duomenų atsisiuntimas, saugojimas ir sinchronizavimas užtrunka ilgiau. Be to, duomenų saugojimo ir prieigos sąnaudos blokų grandinėje gali tapti pernelyg brangios, ypač mažesniems mazgams ir vartotojams, norintiems dalyvauti tinkle.
Ethereum be pilietybės suteikia šiuos privalumus –
Sumažėjęs duomenų kiekis, reikalingas norint dalyvauti tinkle
- Daugiau jokių nesibaigiančių tinklo sinchronizacijų
- Tvaraus saugojimo reikalavimai
Sumažėjęs duomenų, reikalingų apdoroti, kiekis
- Lengvesniems įrenginiams
Greitesnė prieiga prie informacijos
- Blokuose yra visa informacija, reikalinga jai apdoroti
- Sužinoti savo paskyros būseną yra greičiau
Kas yra Verkle medžiai?
Verkle medžiai yra vektorinio įsipareigojimo medžio tipas, kriptografinė duomenų struktūra, leidžianti kompaktiškai ir efektyviai įrodyti rinkinio elementų narystę (arba ne narystę). Jie skirti pašalinti Merkle medžių trūkumus, ypač blokų grandinės programų kontekste, kur būsenos dydis ir tikrinimo efektyvumas yra labai svarbūs.
Pagrindinės Verkle medžių savybės:
- Kompaktiški įrodymai: Verkle medžiai sukuria mažesnius įrodymus, palyginti su Merkle medžiais, todėl sumažėja duomenų, kuriuos reikia perduoti ir patikrinti, kiekis.
- Veiksmingas patikrinimas: Verkle medžių patvirtinimo procesas yra greitesnis, todėl jie labiau tinka programoms, kurioms reikia dažnai atnaujinti būseną ir tikrinti.
- Mastelio keitimas: Sumažindami įrodymų dydį ir pagerindami patikrinimo efektyvumą, „Verkle“ medžiai prisideda prie bendro „blockchain“ mastelio.
Sprendimas dėl pilietybės neturėjimo
Verkle medžiai yra svarbus žingsnis kelyje į Ethereum klientus be pilietybės. Klientai be pilietybės neprivalo saugoti visos būsenos duomenų bazės, kad galėtų patvirtinti gaunamus blokus. Užuot naudoję savo vietinę Ethereum būsenos kopiją blokams patikrinti, klientai be pilietybės naudoja būsenos duomenų, gaunamų kartu su bloku, „liudytoją“. Liudytojas yra atskirų valstybės duomenų, reikalingų tam tikram operacijų rinkiniui, rinkinys ir kriptografinis įrodymas, kad liudytojas tikrai yra visų duomenų dalis. Vietoj valstybės duomenų bazės naudojamas liudytojas.
Kad tai veiktų, liudininkai turi būti labai maži, kad juos būtų galima saugiai transliuoti tinkle laiku, kad tikrintojai galėtų juos apdoroti per 12 sekundžių intervalą. Dabartinė būsenos duomenų struktūra netinkama, nes liudininkų skaičius per didelis. Verkle medžiai išsprendžia šią problemą įgalindami mažus liudytojus, pašalindami vieną iš pagrindinių kliūčių klientams be pilietybės.
Naudojant Verkle Trees EIP, blokai gali būti savarankiški vykdymo vienetai, leidžiantys juos patikrinti nereikalaujant jokios papildomos informacijos, ypač visos grandinės būsenos.
Medžio struktūra: Merkle Patricia vs Verkle Trees
Verkle medžių architektūra yra panaši į Ethereum dabartinius Merkle Patricia medžius. Kiekvienas medžio mazgas gali būti:
- Tuščia
- Lapo mazgas, kuriame yra unikalus raktas ir atitinkama reikšmė
- Tarpinis mazgas su iš anksto nustatytu antrinių mazgų skaičiumi (žymimas kaip medžio „plotis“).
Tarpinio mazgo reikšmė gaunama iš antrinių mazgų maišos verčių. Vertės vietą medyje padiktuoja jos raktas.
Šaltinis: https://ethereum.org/content/roadmap/verkle-trees/verkle.png
Pagrindinis skirtumas tarp Verkle medžių ir Merkle Patricia medžių yra jų plotis. Patricijos medžiai pasiekia optimalų efektyvumą esant 2 pločiui, o Verkle medžiai duoda trumpesnius įrodymus didėjant pločiui. Tačiau itin didelis plotis gali trukdyti kurti įrodymus. Ethereum siūlomų Verkle medžių plotis yra 256, tačiau didėja polinkis jį padidinti iki 1024.
Įsipareigojimai ir įrodymai
Merkle medžiuose, norint įrodyti vertę, būtina įtraukti visus seserinius mazgus. Priežastis ta, kad norint apskaičiuoti mazgo vertę, reikalingas visas jo brolių mazgų rinkinys. Tai tęsiasi rekursyviai iki šakninio mazgo. Tačiau Verkle medžiai apeina giminingų mazgų poreikį tiesiog tiekdami kelią, papildytą minimaliais įrodymais.
Pagrindinis Verkle medžių skirtumas yra polinominių įsipareigojimų naudojimas vietoj standartinių maišų mazgų skaičiavimamskurios leidžia atlikti daugianario maišą ir vėliau generuoti įrodymus, kad būtų galima įvertinti maišą.
Polinominis įsipareigojimas yra kriptografinis primityvus, leidžiantis įrodytojui įsipareigoti naudoti daugianarį, o tikrintojui vėliau patikrinti, ar nurodyta vertė iš tikrųjų yra to daugianario taškas, neatskleidžiant paties daugianario.
Kaip tai veikia
- Įsipareigojimo etapas: Įrodiklis apskaičiuoja daugianario P(x) įsipareigojimą. Šis įsipareigojimas yra kompaktiškas daugianario vaizdas.
- Vertinimo etapas: Įrodytojas vėliau gali pateikti įrodymą, kad daugianomas įvertina tam tikrą reikšmę duotame taške X0. Šis įrodymas turi įtikinti tikrintoją neatskleisdamas P(x).
Pavyzdys –
Mazgo struktūra: Kiekvienas Verkle medžio mazgas yra priskirtas naudojant polinominius įsipareigojimus, leidžiančius efektyviai kurti įrodymus.
Medžio plotis: Apsvarstykite Verkle medį, kurio plotis yra 256 (kiekvienas mazgas gali turėti iki 256 vaikų).
Tarkime, kad reikia įrodyti, kad egzistuoja reikšmė V, esanti konkrečioje medžio vietoje P.
Tradiciniame Merkle medyje jums reikės:
- V
- Visi brolių ir seserų mazgai kelyje nuo V iki šaknies (daug duomenų).
Verkle medyje įrodymas apima:
- Konkreti reikšmė V: tai faktiniai duomenys, kuriuos įrodote.
- Įsipareigojimai kiekvienam lygiui: tai daugianario įsipareigojimai kiekviename lygyje nuo lapo mazgo (kur yra V) iki šaknies.
Išsami iliustracija
- Lapo mazgas: yra vertė V ir jos raktas K.
- Tarpiniai mazgai: vietoj brolių mazgų, kiekvienas tarpinis mazgas turi daugianario įsipareigojimą, kuris atspindi jo vaikus.
- Įrodinėjimo sudėtis: norėdami įrodyti V, pateikiate tik kelią: V ir daugianario įsipareigojimus nuo kiekvieno tarpinio mazgo iki šaknies.
Tai žymiai sumažina reikalingų duomenų kiekį, nes polinominiai įsipareigojimai yra mažesni nei bendras visų giminingų mazgų dydis.
Skaityti Daugiau apie Verkle medžio struktūra.
Šis vaizdinis palyginimas išryškina Merkle ir Verkle medžių įrodymų dydžių ir duomenų reikalavimų skirtumus, iliustruodamas Verkle įrodymų dydžio pranašumus.
Šaltinis: https://www.nethermind.io/verkle-trees
Šaltinis: https://miro.medium.com/v2/resize:fit:1400/format:webp/1*OHvXZg8eCmzkjELmcqLx1w.png
Ethereum tobulinimo pasiūlymai (EIP), susiję su Verkle Trees
Buvo pasiūlyta keletas EIP integruoti Verkle medžius į Ethereum, įskaitant:
EIP:
Spec PR:
Perėjimas:
Archyvas ir kiti susiję dokumentai:
Dabartinė pažanga
„Verkle tree“ testavimo tinklai jau sukurti ir veikia, tačiau klientams vis dar yra daug puikių atnaujinimų, kurių reikia Verkle medžiams palaikyti. Galite padėti paspartinti pažangą diegdami sutartis į testų tinklus arba paleisdami testnet klientus.
Ištirkite „Verkle Gen Devnet 2“ testų tinklą
- Atnaujinti EIP-4762 diegimai
- Atnaujintas EIP-2935 su 8192 dydžio žiediniu buferiu
Žr. toliau pamoka žinoti, kaip prisijungti prie testneto.
Verkle medžių ateitis Ethereum
„Verkle“ įtraukimas į „Ethereum“ apima daug protokolo pakeitimų:
- Nauja duomenų struktūra, skirta išsaugoti tinklo būseną
- Naujas dujų apskaitos modelis
- Strategija migruoti esamą valstybę iš MPT į VKT
- Naujas kriptografijos primityvų rinkinys
- Nauji laukai bloko lygiu
Verkle medžiai yra reikšminga Ethereum naudojamų kriptografinių duomenų struktūrų pažanga. Spręsdami Merkle medžių apribojimus, Verkle medžiai siūlo perspektyvus sprendimas mastelio ir efektyvumo iššūkiams su kuriais susiduria tinklas. Ethereum bendruomenei toliau tyrinėjant ir diegiant Verkle medžius, Ethereum ateitis atrodo šviesesnė ir gali sukurti labiau keičiamo dydžio, efektyvesnę ir patogesnę blokų grandinės platformą.
Suprasti ir priimti šiuos pokyčius yra labai svarbu kūrėjams, tyrėjams ir vartotojams, kurie investuoja į Ethereum ateitį. Perėjimas prie Verkle medžių žymi svarbų žingsnį blockchain technologijos evoliucijojeužtikrinant, kad Ethereum išliktų inovacijų ir plėtros priešakyje decentralizuotoje erdvėje.
Nuorodos
- Verkle medžiai | Ethereum.org
- Verkle medžiai be pilietybės
- Verkle medžiai: viskas, ką reikia žinoti
- Vitalikas Buteris ant Verkle medžių
- Guillaume'o baletas ir Dankradas Feistas ant Verkle Trees
- https://www.nethermind.io/verkle-trees