MetaMask Labs tutvustab andmeid Mustekala - Valgusklienti

Eelmisel nädalal teatasid MetaMaski laborid uhkusega oma tööst Light Client lahenduse kallal! Esitasime seda Devcon4-l Prahas, Tšehhi Vabariigis, samuti Hi-Ether Con-il Tokyos Jaapanis!

Metamask Labs meeskond koos Hi-Etheri korraldajategaMetamask Labsi meeskond esitleb DevconIV-is

Kerge klient vs täielik sõlm

Sõlm on seade, mis loob ühenduse ahelate võrguga. Mis tahes arvutit, mis on ühendatud Ethereumi võrguga, võib nimetada sõlmeks. Täissõlm on seade, mis kontrollib ja jõustab kõiki plokiahela reegleid, samal ajal kui Light Client viitab usaldusväärse täissõlme koopiale plokiahelas. See on oluline, kuna saate plokiahelas suhelda ilma kogu plokiahela koopiat alla laadimata.

Täissõlme käivitamine on keeruline

Ethereumi plokiahelaga suhtlemine nõuab uusimate andmete hankimiseks juurdepääsu sõlmele. Plokk-ahel on tohutu ja Terve sõlme käitamine on väga ressursimahukas. Juba nõudes palju mälu ja salvestusruumi, jätkub plokiahela laienemine vaid minutiga. Tavalisel kasutajal pole vaba aega mälu ja salvestusruumi.

Kerge klient võimaldab võimalikult vähe verifitseerimist, jäädes samas turvaliseks ja täielikult võimeliseks DApp-dega suhelda ja Ethereumi võrku kasutama. Kerged kliendid ei salvesta kogu plokiahela koopiat, vaid ainult konkreetseid plokiahela elemente, mida nad peavad töötama. Nad salvestavad need elemendid ülesannete ja funktsioonide täitmiseks, näiteks raha saatmiseks ja vastuvõtmiseks. Järelikult on nad kohustatud looma ühenduse täielike sõlmedega ja nendelt päringuid tegema.

Kontrollimine

Kui sünkroonite kogu sõlme plokiahelaga, kontrollite töö konsensuse tõendit. See on lahendus keerukatele mõistatustele, üks iga ploki kohta, mis muutuvad enam-vähem keeruliseks, et ploki aeg püsiks. Sünkroonimine võtab palju aega, kuna peate alustama geneesibloki lõpuni järgmise kontrollimisega, kontrollides seda miljonite kordi. Iga järgmine plokk sisaldab olekumuutuste ja üleminekute kuhjumist aja jooksul. Meie kogemuste kohaselt võib täieliku sõlme sünkroonimine kesta paar tundi kuni paar päeva. See kasutab märkimisväärsel hulgal IO-sid ja vajab vähemalt kindlat olekut. Isegi kui kasutate rakendust, mis algab kontrollpunktide plokist, on ikkagi keeruline leida kasulikke p2p-sõlme, millest saate andmeid tuua. Oleku sünkroonimine võtab võrguprobleemide tõttu kaua aega ja oleku rekonstrueerimiseks tuleb töödelda iga plokki. Muu hulgas on kasutajad sunnitud lootma tsentraliseeritud infrastruktuuridele.

Täisõlmed ja kerged kliendid sünkroonivad mõlemad plokke. Tervetes sõlmedes on aga kogu hiljutine olek (kõigi konto saldo ja salvestusteave), samas kui kerged kliendid hoiavad osariiki nende kontode ja tehingute kohta, millest nad hoolivad. Terved sõlmed valideerivad oleku üleminekuid, kasutades seda olekut, mida ta praegu hoiab, ja kui uus plokk saabub, arvestatakse plokis uusi tehinguid ja genereeritakse uus olek.

Lihtsamalt öeldes tagab täielik sõlme, et kõik sobiks kokku ja oleks valideeritud. Ja vastupidi, Light Client ei saa läbida sama valideerimisprotsessi, kuna sellel puudub hiljutine olek. Kui aga eeldada, et sellel on uusima ploki päise jaoks usaldusväärne allikas, võib ta täissõlmedelt küsida oleku elemente - näiteks kontojääki või nutikat lepingut.

Vajame juurdepääsu võimalusi

Enamik rakendusi pääseb väikest käepärast pakkujate kaudu juurde lukuahela andmetele, luues teabehoidlad, kus andmed on üleliigsed, kuid pole eriti kättesaadavad. Kontrollimata jätkub see suund tsentraliseerimise suunas. See ei vaja mitte ainult suurt usaldust, vaid ka Ethereumi omavaheline kogemus. Rääkimata nende pakkujate kuludest selle teabe levitamise säilitamiseks.

Kerged kliendid kõlavad suurepäraselt - milles probleem?

Terve sõlme kohta on liiga palju valguskliente. Ütleme nii, et 100 000 veebis leiduvat / aktiivset täielikku Ethereumi sõlme on olemas. Kui me muudaksime kõik Metamaski kasutajad (umbes 1,5 miljonit) kergeteks klientideks, uputaks nad neid väga kiiresti. Markellipuu, mis hoiab kõiki Ethereumi kontosid ja märgisaldoid, on antud plokis üle 200 miljoni puusõlme. Iga uus plokk lisab tuhandeid uusi, mis tuleb rekonstrueerida ja jagada. Maht oleks nagu poolaeg maailma karika kontsessioonide stendil. Täisõlmed on teenindavad inimesed ja valgussõlmed on inimeste meri, kes on nii innukad taotlema ja saama seda, mida nad tahavad. See oleks hullumeelsus ja täielikud sõlmed ei suudaks nõudlusega sammu pidada.

Sisenege Mustekalasse - andmeid elavdav kerge klient!

Praeguses seisus on heledad kliendid andmete ja teabe leepüüdjad. Aga mis siis, kui kerged kliendid saaksid jagada ka selle andmeid? Neil ei ole kõiki andmeid, mis täielikel sõlmedel on, kuid mis saab siis, kui nad saavad jagada andmeid, mida nad peavad, teistele kergklientidele? See jaotaks täissõlmede koormuse, muutes teabe ka kõigile hõlpsasti kättesaadavaks.

MetaMaski lahendus on võtta ja jagada kaubapuu viilud. Need on sisuliselt naabruskonnad teie konto ümber, mis sisaldavad ka muid kontosid. Sama viilutamispõhimõte kehtib ka arukate lepinguandmete puhul. On mõistetav, et sümboolikaomanikud tunnevad muret oma võtmeväärtuse pärast salvestusandmetes, millele saab viidata ja mida seega jagada sama viilutaksonoomia abil. See vähendaks jagatavate puusõlmede arvu 200 miljonilt umbes 65 tuhandeni. Iga viil on umbes pildi suurus (128KB), millega on hallatav hakkama saada, võrreldes mitme sõlme täieliku sõlme jaoks vajaliku mitme GB mälumahuga.

Nüüd on meil idee, et kerged kliendid hakkavad üksteist teavet edastama. Kuidas see välja näeb? Iga punkt tähistab arvutit ja read tähistavad ühendusi teiste arvutitega. Lõpuks on teil suur hästi ühendatud graafik. P2p-võrgus on suurepäraseks teabe levitamise viisiks kuulujuttude võtmine, mis võtab teiega jagatud teavet ja edastab selle seejärel naabritele. See toimib eriti hästi siis, kui kõiki huvitavad teie jagatavad andmed. Näiteks viimase nõudmise kohta on suur nõudlus teabe järele.

P2p-võrk

Kuidas see välja näeks, kui me hiiliksime selle asemel plokkketi lõikudesse? Konto või märgi saldo otsimisel peate hankima sellega seotud viilu. Peaksite leidma võrgustikust teisi, kes seda ka otsivad. Võite moodustada p2p naabruskondi ja viilu uusimat versiooni saab edastada ka selle võrgu vahel.

Viilude viilimine

Kuidas me seda plaanime teha?

Mustekala pakub kerge kliendilahendusele alternatiivset lähenemisviisi, kasutades libp2p võrgupakki. See on sama tehnoloogia, mis annab IPFS-ile (planeetidevaheline failisüsteem) volituse teha Ethereumi andmed ülimugavate elementidena kättesaadavaks, mida saab taastada selle sisu, mitte asukoha põhjal. Selle teeb võimalikuks p2p ülekattevõrk, mille lõime nimega “Kitsunet”. Teie MetaMaski klient võib olla üks paljudest osalejatest massilises võrgus, mis aitab muuta blockchaini andmed kättesaadavaks igat tüüpi seadmetele alates telefonidest kuni brauserite, Interneti-riistvara ja isegi kaevuriteni. Võimalused on põneval viisil laienenud!

Järeldus

Kasutajad sõltuvad MetaMaskist, et suhelda Ethereumi plokiahelaga. DAppidest, žetoonidest ETH otseülekandeni, kuid Metamask ja muud tööriistad tuginevad praegu tsentraliseeritud infrastruktuuridele. See oli oluline Ethereumi ökosüsteemi käivitamiseks, kuid see rikub detsentraliseerimise eelduse ja me saame nüüd paremini hakkama.

Mustekala valguskliendi eesmärk on:

  • Kasutamise hõlbustamiseks saate oma brauseri tuge.
  • Ole kiire: valmis kasutamiseks sekunditega.
  • Kasutage oma andmeid teistele kasutajatele, et võrke paremini levitada.

Lisateavet Mustekala kohta leiate Githubist

Hoia end Twitteris kursis

Täname, et lugesite ja olge kursis!
 @ JSONLEE3