Kaj je Sharding? Ta koncept skaliranja Ethereum je razložen

As razprava o skaliranju v kriptovalutah se nadaljuje, nekatere potencialne rešitve so dejansko v razvoju že kar nekaj časa.

Natančneje, v primeru Ethereum, kjer je velik poudarek na decentralizaciji in varnost na račun razširljivosti, uporaba razčlenjevanja v povezavi z izvajanjem Dokaz o deležu soglasje se obravnava kot prepotreben mehanizem, s katerim se lahko omrežje razširi na praktične ravni za aplikacije, medtem ko še vedno ohranja svojo decentralizacijo in varnost.

Razdeljevanje je zapletena tema, še posebej, če se uporablja za decentralizirano omrežje enakovrednih kot je Ethereum kjer se globalno stanje omrežja nenehno posodablja.

Torej, kaj pravzaprav je razdeljevanje in kako lahko pomaga pri razširitvi omrežij blockchain?

Razdeljevanje in porazdeljeno računalniško ozadje

Sharding je pravzaprav veliko starejši od tehnologije veriženja blokov in je bil implementiran v različnih sistemih od optimizacij poslovnih baz do Googlova globalna baza podatkov Spanner.

  • V bistvu je razdeljevanje posebna metoda za vodoravno particioniranje podatkov v bazi podatkov.
  • Na splošno je zbirka podatkov razdeljena na majhne koščke, imenovane "delci", ki, ko so združeni, tvorijo izvirno bazo podatkov.
  • V porazdeljenih omrežjih blockchain je omrežje sestavljeno iz vrste vozlišč, povezanih v enakovredni obliki, brez osrednjega organa.
  • Kot v primeru trenutnih sistemov blockchain, vsako vozlišče shrani vsa stanja omrežja in obdela vse transakcije.
  • Čeprav to zagotavlja visoko raven varnosti z decentralizacijo, zlasti v sistemih Proof of Work, kot je npr Bitcoin in Ethereum, vodi do legitimnih težav s skaliranjem.

Ethereum Sharding

Če uporabimo Ethereum kot primer, polno vozlišče v Ethereum omrežje shranjuje celotno stanje verige blokov, vključno s stanjem na računu, shranjevanjem in pogodbeno kodo.

Na žalost, ko se velikost omrežja povečuje eksponentno, se soglasje povečuje le linearno. Ta omejitev je posledica komunikacije, ki je potrebna med vozlišči, ki je potrebna za dosego soglasja.

Vozlišča v omrežju nimajo posebnih privilegijev in vsako vozlišče v omrežju shrani in obdela vsako transakcijo. Posledično v omrežju velikosti Ethereuma težave, kot so visoki stroški plina in daljši časi potrditve transakcij, postanejo opazne težave, ko je omrežje obremenjeno. The mreža je hiter le toliko kot posamezna vozlišča in ne vsota njegovih delov.

Sharding pomaga ublažiti te težave z zagotavljanjem zanimive, a kompleksne rešitve. Koncept vključuje združevanje podmnožic vozlišč v delce, ki nato obdelujejo transakcije, specifične za ta delček. Sistem omogoča, da vzporedno obdeluje številne transakcije, s čimer se znatno poveča prepustnost.

Preprostejši način bi bilo, če bi si predstavljali razdelitev Združenih držav na države.

Medtem ko je vsaka država (v tem primeru delček) del večjih Združenih držav (omrežja Ethereum), imajo svoja posebna pravila, meje in podskupine populacij. Vendar pa si delijo univerzalni jezik in kulturo kot del njihove večje mreže, ki sestavlja državo.

Ali še bolje, v Vitalik Buterinlastne besede:

 »Predstavljajte si, da je Ethereum razdeljen na tisoče otokov. Vsak otok lahko naredi svoje. Vsak od otokov ima svoje edinstvene značilnosti in vsi, ki pripadajo temu otoku, tj. računi, lahko komunicirajo drug z drugim IN se lahko svobodno prepustijo vsem njegovim značilnostim. Če bodo želeli stopiti v stik z drugimi otoki, bodo morali uporabiti nekakšen protokol."

Kot lahko vidite, koncept razdrobljenosti omrežja na učinkovitejše dele omogoča, da omrežje deluje kot vsota njegovih delov, namesto da bi bilo omejeno s hitrostjo vsakega posameznega vozlišča.

Kako shading deluje v verigah blokov?

Pri tem bomo še naprej uporabljali Ethereum kot primer, saj je to najbolj znani in naporni poskusi razdeljevanja v areni veriženja blokov, saj razvijalci Ethereuma izvajajo tisto, kar je znano kot "delitev stanja".

Trenutno stanje verige blokov Ethereum je znano kot "globalna država” in to lahko vidi vsak, ko pogleda verigo blokov v določenem primeru.

Težji del pri izvajanju razdeljevanja v Ethereumu je, da morajo te podmnožice z razdeljevanjem vozlišč na manjše podnabore imeti možnost obdelati določene nabore transakcij, hkrati pa posodabljati stanje omrežja, obenem pa zagotoviti, da je veljavno.

Sharding v Ethereumu naj bi se izvajal v dvofaznem uvajanju, več kot verjetno po Dokaz o deležu se izvaja v mreža. Prva faza bo podatkovna plast, sestavljena iz soglasja o tem, kateri podatki so v delčkih. Druga faza je državni sloj. Vse to je zelo tekoče, zato je splošna razčlenitev, kako lahko deluje, spodaj.

Ethereum razdeli omrežje na določene drobce. Vsaki delček je dodeljena posebna skupina transakcij, ki je določena z združevanjem posebnih računov (vključno s pametnimi pogodbami) v delček. Vsaka transakcijska skupina ima glavo in telo, ki sta sestavljena iz naslednjega.

  • ID segmenta transakcijske skupine
  • Dodelitev validatorjev preko naključno vzorčenje (preverite transakcije v drobcu)
  • State Root (stanje korena merkle delca pred in po dodanih transakcijah)

Karoserija

  • Vse transakcije, ki pripadajo skupini transakcij, ki so del določenega delca.

Transakcije so specifične za vsak delček in se zgodijo med računi, ki so izvorni za ta delček.

Ko so transakcije preverjene, se stanje omrežja spremeni in stanje na računu, shranjevanje itd. se posodobi. Da se transakcijska skupina preveri kot veljavna, se mora koren predstanja transakcijske skupine ujemati s korenom drobca v globalnem stanju. Če se ujemata, je transakcijska skupina potrjena in globalno stanje se posodobi prek določenega korena stanja ID-ja delca.

Namesto da bi vseboval samo koren stanja, zdaj vsak blok verige blokov Ethereum vsebuje koren stanja in koren skupine transakcij. Koren skupine transakcij je merkle koren vseh transakcijskih skupin iz specifičnih delčkov za ta blok transakcij.

V bistvu obstaja merkle koren vseh različnih delčkov, ki vsebujejo posodobljene in preverjene skupine transakcij. Ta koren je shranjen v verigi blokov skupaj s posodobljenim korenom stanja.

Uporaba konceptov drevesa Merkle v tej strukturi je ključnega pomena za zagotavljanje veljavnosti verige blokov. Razumevanje, kako a Merkle drevo in še posebej korensko delo merkle, vam lahko pomaga veliko lažje razumeti te koncepte.

Kaj je drevo Merkle

Se glasi: Kaj je drevo Merkle?

Konsenz znotraj delca je dosežen s soglasjem dokazila o vlogi naključno izbranih vozlišč, ki se uporabijo za delček za določen krog soglasja.

To ne zagotavlja le dokončnosti soglasja, ki je nujen znotraj drobcev, ampak zagotavlja tudi posebno obrambo pred napadom, ki ga Dokazilo o delu blockchain bi bila v tem primeru dovzetna.

Moč zgoščevanja, ki je potrebna za prekoračitev določenega drobca v razčlenjenem omrežju PoW, je drastično zmanjšana in zmožnost zlonamernega akterja, da prevzame delček z računalniško močjo, je izvedljiva.

S tem bi lahko slab akter napadel druge drobce prek komunikacijskega protokola, ki je ena izmed bolj zapletenih in pomembnih značilnosti arhitekture shardinga. Naključna izbira vzorčenja validatorjev znotraj fragmenta uspe zadušiti to vrsto napada, saj slab akter ne bo vedel, v kateri delček je nameščen, preden je dejansko nameščen vanj.

Nadalje bo naključno vzorčenje uporabljeno za izbiro validatorjev, ki so dejansko preverjanje iz tega naključnega potrjevalnega niza.

Komunikacijski protokol je ključnega pomena za pravilno delovanje arhitekture razdeljevanja v sistemu. Komunikacijski protokol si lahko predstavljate kot univerzalni jezik, ki je skladen med državami kot delom večjih Združenih držav.

Vendar pa je oblikovanje tega protokola zelo zahtevno in ga je treba izvesti tako, da se uporablja le, kadar je to potrebno. To postane potrebno, ko določeno vozlišče zahteva informacije, ki niso shranjene v njegovem lastnem delčku, in mora poiskati delček z zahtevanimi informacijami. Ta komunikacija je znana kot navzkrižna komunikacija.

Navzkrižna komunikacija je dosežena z uporabo koncepta transakcijskih potrdil. Potrdilo o transakciji je shranjeno v korenu merkle, ki ga je mogoče enostavno preveriti, vendar ni del korena države.

Delček, ki prejme transakcijo iz drugega fragmenta, preveri koren merkle, da zagotovi, da potrdilo ni bilo porabljeno. V bistvu so potrdila shranjena v skupnem pomnilniku, ki ga lahko preverijo drugi deli, vendar ne spremenijo. Zato lahko drobci prek porazdeljene shrambe prejemkov komunicirajo med seboj.

Sharding Premikanje naprej

Sharding v Ethereumu naj bi bil uveden po Casperju PoS nadgradnja. Pred kratkim tam je bilo nekaj razvoja v zvezi z Ethereumom 2.0 ki vključujejo izvajanje obeh Casper in drobljenje.

Sharding je bil implementiran tudi na nekaj drugih platformah, predvsem Zilliqa. Vendar pa Zilliqa trenutno ne izvaja delitve stanja in se namesto tega osredotoča na zagotavljanje visoko zmogljive verige blokov z uporabo transakcijskega in računalniškega razdeljevanja.

ZilligaPreberite naše Vodnik po Zilliqi

zaključek

Sharding ponuja nekaj obetavnih rešitev za slona v prostoru blockchain platform prav zdaj, razširljivost.

Medtem ko je Bitcoinovo Lightning omrežje v fazi testiranja in je doslej pokazalo nekaj zelo obetavnega napredka, rešitev Ethereuma prinaša nekaj edinstvenih izzivov, saj je vezana kot svetovni računalnik, ki je Turing popoln.

Razdeljevanje bo delovalo neposredno samo na ravni protokola, zato za končnega uporabnika ali razvijalca dapp morda ni nujno, da se o tem seznani.

Ne glede na to je Ethereumov poskus delitve stanja za obsežno, decentralizirano omrežje impresivno prizadevanje in bo, če bo uspešno izveden, ogromen podvig.

Vir: https://blokonomi.com/sharding/