„MetaMask Labs“ pristato duomenis „Mustekala“ - „Šviesos klientą“

Praėjusią savaitę „MetaMask“ laboratorijos išdidžiai paskelbė savo darbą kuriant „Light Client“ sprendimą! Mes jį pristatėme „Devcon4“ Prahoje, Čekijoje, taip pat „Hi-Ether Con“ Tokijuje, Japonijoje!

„Metamask Labs“ komanda su „Hi-Ether“ organizatoriais„Metamask Labs“ komanda pristato „DevconIV“

Šviesus klientas prieš pilną mazgą

Mazgas yra įrenginys, jungiantis prie „blockchain“ tinklo. Bet kuris kompiuteris, prijungtas prie „Ethereum“ tinklo, gali būti vadinamas mazgu. Visas mazgas yra įrenginys, kuris patikrina ir įgyvendina visas „grandinės“ taisykles, o „lengvasis klientas“ nurodo patikimą viso mazgo „grandinės“ kopiją. Tai svarbu, nes galite bendrauti naudodami „blockchain“ neatsisiųsdami visos „blockchain“ kopijos.

Vykdyti pilną mazgą yra sunku

Norint sąveikauti su „Ethereum“ grandine, reikia prieigos prie mazgo, kad būtų galima gauti naujausius duomenis. Pagrindinė grandinė yra didžiulė, o viso mazgo valdymas reikalauja daug išteklių. Jau reikalaujant daug atminties ir atminties, „blockchain“ tik minutę plečiasi. Paprastas vartotojas neturi atsargos gigabaitų atminties ir atminties vietos.

„Light Client“ leidžia atlikti kuo mažiau patikrinimų, išlieka saugus ir visiškai pajėgus sąveikauti su DApps ir naudotis „Ethereum“ tinklu. Lengvieji klientai neišsaugo visos „blockchain“ kopijos, tik specifinius „blockchain“ elementus, kuriuos jiems reikia veikti. Jie saugo šiuos elementus, kad galėtų vykdyti užduotis ir funkcijas, tokias kaip lėšų siuntimas ir gavimas. Todėl jie privalo prisijungti prie pilnų mazgų ir užklausti jų.

Patikrinimas

Sinchronizuodami visą mazgą su „blockchain“, patikrinate sutarimo dėl darbo įrodymus. Tai yra sprendimas sudėtingesniems galvosūkams, po vieną kiekvienam blokui, kurie tampa daugiau ar mažiau sunkūs, kad bloko laikas būtų suderintas. Sinchronizavimas užima daug laiko, nes jūs turite pradėti viską iki genezės bloko iki kito, patikrindami jį žemyn linija milijonus kartų. Kiekviename sekančiame bloke yra kaupiamos būsenos pokyčiai ir perėjimai laikui bėgant. Mūsų patirtis rodo, kad viso mazgo sinchronizavimas gali užtrukti nuo kelių valandų iki kelių dienų. Tam sunaudojama daug IO ir jam būtinas bent jau kieto būvio diskas. Net jei naudojate diegimą, kuris prasideda nuo patikrinimo taškų bloko, vis tiek sunku rasti naudingų p2p mazgų, iš kurių galite gauti duomenis. Būsenos sinchronizavimas užtrunka ilgai dėl tinklo problemų ir norint atkurti būseną reikia apdoroti kiekvieną bloką. Dėl kitų veiksnių vartotojai yra priversti pasikliauti centralizuota infrastruktūra.

Visi pilni mazgai ir lengvieji klientai sinchronizuoja blokus. Tačiau visi mazgai turi visą naujausią būseną (kiekvieno sąskaitos likutį ir informaciją apie saugyklą), tuo tarpu lengvieji klientai turi tam tikras būsenas toms sąskaitoms ir operacijoms, kurios jiems rūpi. Pilni mazgai patvirtina būsenos perėjimus naudodamiesi šiuo metu turima būsena, o kai gaunamas naujas blokas, nauji sandoriai įtraukiami į bloką ir sukuria naują būseną.

Paprasčiau tariant, visas mazgas užtikrina, kad viskas suderinta ir patvirtinta. Ir atvirkščiai, „Light Client“ negali atlikti to paties patvirtinimo proceso, nes jam trūksta naujausios būsenos. Tačiau darant prielaidą, kad jis turi patikimą naujausios bloko antraštės šaltinį, jis gali paprašyti būsenos elementų, tokių kaip sąskaitos likutis ar išmanioji sutartis, iš „Full Nodes“.

Mums reikia prieigos galimybių

Daugelis programų pasiekia „grandinės“ duomenis per nedidelę dalį paslaugų teikėjų ir sukuria informacijos silosą ten, kur duomenys nereikalingi, bet nėra pakankamai prieinami. Nepatikrinta, ši tendencija tęsis centralizacijos link. „Ethereum“ ne tik reikalauja didelio pasitikėjimo, bet ir nėra vienalyčių kolegų patirtis. Jau neminint šių paslaugų teikėjų išlaidų išlaikyti šį informacijos platinimą.

Šviesos klientai skamba puikiai - kokia problema?

Viename pilnų mazgų yra per daug šviesių klientų. Tarkime, kad yra 10 000 aptinkamų internetinių / aktyvių „Full Ethereum“ mazgų. Jei visus „Metamask“ vartotojus (apie 1,5 milijono) paverttume šviesiais klientais, tai juos labai greitai užvaldytų. Merkrelio medis, kuriame yra visos Ethereum sąskaitos ir žetonai, turi daugiau nei 200 milijonų medžio mazgų tam tikrame bloke. Kiekvienas naujas blokas prideda tūkstančius naujų, kuriuos reikia rekonstruoti ir pasidalyti. Apimtis būtų lyg pusė pasaulio taurės koncesijos stendo. Visi mazgai yra tarnaujantys žmonės, o šviesos mazgai yra žmonių jūra, trokštantys prašyti ir gauti tai, ko nori. Tai būtų beprotybė ir visiški mazgai negalėtų suspėti su paklausa.

Įveskite „Mustekala“ - „Light Client“, kuris kaupia duomenis!

Šiuo metu šviesos klientai yra duomenų ir informacijos skleidėjai. O kas, jei „Light Clients“ galėtų dalytis turimais duomenimis taip pat? Jie neturi visų duomenų, kuriuos turi visi mazgai, tačiau kas būtų, jei jie galėtų pasidalyti turimais duomenimis su kitais šviesos klientais? Tai paskirstytų pilnų mazgų apkrovą, o informacija būtų lengvai prieinama visiems.

„MetaMask“ sprendimas yra paimti ir dalintis merkelio medžio griežinėliais. Iš esmės tai yra jūsų paskyros apylinkės, kuriose yra ir kitų paskyrų. Tas pats pjaustymo principas galioja ir intelektualiems sutarčių duomenims. Suprantama, kad žetonų turėtojai susirūpins savo pagrindine verte saugojimo duomenyse, į kuriuos būtų galima remtis, taigi jie būtų bendrinami naudojant tą pačią pjūvio taksonomiją. Tai sumažintų medžio mazgų skaičių nuo 200 mln. Iki maždaug 65 tūkst. Kiekvienas pjūvis yra maždaug tokio dydžio kaip paveikslėlis (128 KB), kurį galima valdyti, palyginti su keliais GB saugyklų, reikalingų naudojant viso mazgo patirtį.

Taigi dabar mes turime mintį, kad šviesieji klientai teiks informaciją vieni kitiems. Kaip tai atrodo? Kiekvienas taškas žymi kompiuterį, o linijos nurodo jungtis su kitais kompiuteriais. Galų gale turėsite didelį gerai sujungtą grafiką. „P2p“ tinkle puikus informacijos paskirstymo būdas yra paskalų darymas, kai imama su jumis bendra informacija ir perduodama ją kaimynams. Tai ypač gerai veikia, kai visi domisi jūsų dalijamais duomenimis. Pavyzdžiui, labai reikia informacijos apie naujausią bloką.

P2p tinklas

Taigi kaip atrodytų, jei vietoje to mes melsdavomės „grandinės“ griežinėlių? Jei ieškote sąskaitos ar žetono likučio, turite gauti su juo susijusią dalį. Tinkle turėtumėte rasti kitų, kurie taip pat to ieško. Galite formuoti „P2p“ apylinkes, o naujausią versijos versiją taip pat galima perduoti iš vieno tinklo į kitą.

Gandai griežinėliais

Kaip mes planuojame tai padaryti?

„Mustekala“ siūlo alternatyvų požiūrį į lengvojo kliento sprendimą naudojant „libp2p“ tinklo rietuvę. Tai yra ta pati technologija, kuri įgalina IPFS (tarpplanetinę failų sistemą), kad „Ethereum“ duomenys būtų prieinami kaip ypač lengvi elementai, kuriuos galima gauti atsižvelgiant į jo turinį, o ne vietą. Tai padaryti įmanoma dėl p2p persidengiančio tinklo, kurį sukūrėme pavadinimu „Kitsunet“. Jūsų „MetaMask“ klientas gali būti vienas iš daugelio didžiulio tinklo, padedančio „blockchain“ duomenis padaryti prieinamus visų tipų įrenginiams, pradedant telefonais ir baigiant naršyklėmis, internetinės kompiuterinės įrangos ir net kalnakasių, dalyviais. Galimybės išsiplėtė įdomiais būdais!

Išvada

Naudotojai priklauso nuo „MetaMask“ sąveikos su „Ethereum“ grandine. Nuo DApps, žetonų iki ETH perdavimo tiesiogiai, tačiau Metamask ir kitos priemonės šiuo metu priklauso nuo centralizuotos infrastruktūros. Tai buvo naudinga atliekant „Ethereum“ ekosistemos stebėjimą, tačiau tai sulaužė decentralizacijos prielaidą ir mes dabar galime padaryti geriau.

„Mustekala Light Client“ tikslas yra:

  • Norėdami patogiai naudotis, palaikykite savo naršyklės palaikymą.
  • Būk greitas: Paruoštas naudoti per kelias sekundes.
  • Siųskite savo duomenis kitiems vartotojams, kad tinklai būtų geriau paskirstyti.

Sužinokite daugiau apie „Mustekala“ „Github“

Sekite naujienas „Twitter“

Ačiū, kad perskaitėte ir sekite!
 @ JSONLEE3