Mikä on Sharding?

Kun salakirjoitusten skaalauskeskustelu jatkuu, joitain potentiaalisia ratkaisuja on kehitetty jo jonkin aikaa.

Erityisesti Ethereumin tapauksessa, jossa hajauttamiseen ja turvallisuuteen kiinnitetään paljon huomiota skaalautuvuuden kustannuksella, sirpeen soveltamista yhdessä Vaarnan todistamisen konsensuksen toteuttamisen kanssa pidetään kaikkein kaikkein tarvittavimpana mekanismina, jonka kautta verkko voi skaalautua sovellusten käytännön taso säilyttäen samalla sen hajauttamisen ja turvallisuuden.

Sirpoutuminen on monimutkainen aihe, varsinkin kun sitä sovelletaan hajautettuun vertaisverkkoon, kuten Ethereum, jossa verkon globaalia tilaa päivitetään jatkuvasti.

Joten mikä sietää tarkalleen ja miten se voi auttaa blockchain-verkkoja laajentamaan?

Jaettu ja hajautettu tietojenkäsittelytausta

Sharding on itse asiassa paljon vanhempi kuin blockchain-tekniikka, ja se on otettu käyttöön useissa järjestelmissä yritystietokantojen optimoinnista aina Googlen maailmanlaajuinen Spanner-tietokanta.

  • Pohjimmiltaan sirottelu on erityinen menetelmä tietojen horisontaaliseen osiointiin tietokannassa.
  • Yleisemmin tietokanta on jaettu pieniksi paloiksi, joita kutsutaan sirpaleiksi, jotka yhdessä koottuina muodostavat alkuperäisen tietokannan.
  • Hajautetuissa blockchain-verkoissa verkko koostuu sarjasta solmuja, jotka on yhdistetty peer to peer -muodossa, ilman keskusviranomaista.
  • Kuten nykyisissä lohkoketjujärjestelmissä, kukin solmu tallentaa kaikki verkon tilat ja käsittelee kaikki tapahtumat.
  • Vaikka tämä tarjoaa korkean tason turvallisuuden hajauttamisen kautta, erityisesti Proof of Work -järjestelmissä, kuten Bitcoin ja Ethereum, se johtaa oikeutettuihin skaalausongelmiin.

Ethereumin sirpale

Ethereumia käytettäessä esimerkkinä Ethereum-verkon täydellinen solmu tallentaa koko lohkoketjun tilan, mukaan lukien tilisaldot, tallennustilan ja sopimuskoodin.

Valitettavasti, kun verkko kasvaa eksponentiaalisesti, konsensus kasvaa vain lineaarisesti. Tämä rajoitus johtuu solmujen välisestä tiedonsiirrosta, jota tarvitaan yksimielisyyden saavuttamiseksi.

Verkon solmuilla ei ole erityisiä käyttöoikeuksia, ja jokainen verkon solmu tallentaa ja käsittelee kaikki tapahtumat. Tämän seurauksena Ethereumin kokoisessa verkossa sellaisista kysymyksistä kuin korkeat kaasukustannukset ja pidemmistä tapahtumien vahvistusajoista tulee havaittavia ongelmia verkon rasitellessa. Verkko on vain yhtä nopea kuin yksittäiset solmut eikä sen osien summa.

Sharding auttaa lievittämään näitä asioita tarjoamalla mielenkiintoisen, mutta monimutkaisen ratkaisun. Käsite käsittää solmujen alaryhmien ryhmitelmän sirpaleiksi, jotka puolestaan ​​käsittelevät kyseiselle sirulle ominaisia ​​tapahtumia. Sen avulla järjestelmä voi käsitellä useita tapahtumia rinnakkain, mikä lisää merkittävästi läpimenoa.

Yksinkertaisempi tapa sanoa olisi kuvitella Yhdysvaltojen jakautuminen osavaltioihin.

Vaikka jokainen osavaltio (tässä tapauksessa sirpale) kuuluu suurempaan Yhdysvaltoihin (Ethereum-verkosto), niillä on omat erityiset säännöt, rajat ja populaatioiden osajoukot. Heillä on kuitenkin yleinen kieli ja kulttuuri osana suurempaa verkostoaan, joka muodostaa maan.

Tai vielä parempi, Vitalik Buterinin omin sanoin:

 Kuvittele, että Ethereum on jaettu tuhansiin saariin. Jokainen saari voi tehdä oman asiansa. Jokaisella saarella on omat ainutlaatuiset piirteensä, ja kaikki saarelle kuuluvat eli tilit voivat olla vuorovaikutuksessa toistensa kanssa ja he voivat vapaasti nauttia kaikista sen ominaisuuksista. Jos he haluavat ottaa yhteyttä muihin saariin, heidän on käytettävä jonkinlaista protokollaa. “

Kuten näette, verkon hajottamisen tehokkaammiksi paloiksi -toiminto antaa verkon toimia osiensa summana sen sijaan, että se rajoitettaisiin kunkin yksittäisen solmun nopeudella.

Kuinka sirpaloituminen toimii lohkoketjuissa?

Jatkamme Ethereumin käyttöä esimerkkinä tässä, koska se on tunnetuimmat ja raskaimmat sirpaleet blockchain-areenalla, kun Ethereumin kehittäjät toteuttavat ns. “Valtion sirpaloitumista”.

Ethereum-lohkoketjun nykyinen tila tunnetaan nimellä “globaali tila”, ja kaikki ovat nähtävissä, kun he katsovat lohkoketjua tietyssä instanssissa.

Haastava osa sirpaloitumisen toteuttamisessa Ethereumissa on, että sirpomalla solmut pienemmiksi osajoukoiksi, näiden osajoukkojen on kyettävä käsittelemään tiettyjä tapahtumasarjoja päivittämällä samalla verkon tila samalla kun varmistetaan, että se on kelvollinen.

Ethereumin sirpaleiden on tarkoitus olla toteutettu kaksivaiheisessa käyttöönotossa, enemmän kuin todennäköistä sen jälkeen, kun Proof of Stake on otettu käyttöön verkossa. Ensimmäinen vaihe on tietokerros, joka koostuu yhteisymmärryksestä siitä, mitä tietoja sirpaleissa on. Toinen vaihe on tilakerros. Kaikki tämä on hyvin sujuvaa, joten alla on yleinen erittely sen toiminnasta.

Ethereum hajottaa verkon erityisiksi sirpaleiksi. Jokaiselle sirulle osoitetaan tietty tapahtumaryhmä, joka määritetään ryhmittelemällä tietyt tilit (älykkäät sopimukset mukaan lukien) sirpaleeksi. Jokaisella tapahtumaryhmällä on otsikko ja runko, jotka koostuvat seuraavista.

Otsikko

  • Tapahtumaryhmän sirun tunnus
  • Vahvistimien osoittaminen satunnaisotannalla (tarkista sirun tapahtumat)
  • State Root (sirun merkle-juuren tila ennen ja jälkeen tapahtumien)

Runko

  • Kaikki tapahtumaryhmään kuuluvat tapahtumat, jotka kuuluvat tiettyyn sirpaleeseen.

Tapahtumat ovat kullekin sirulle ominaisia, ja ne tapahtuvat kyseiselle sirulle syntyneiden tilien välillä.

Kun tapahtumat tarkistetaan, verkon tila muuttuu ja tilin saldot, tallennustila jne. Päivitetään. Jotta tapahtumaryhmä voidaan vahvistaa kelvolliseksi, tapahtumaryhmän pre-state-juuren on vastattava sirun juurta globaalissa tilassa. Jos ne vastaavat toisiaan, tapahtumaryhmä vahvistetaan ja globaali tila päivitetään tietyn sirun ID-tilan juuren kautta.

Sen sijaan, että se sisältäisi vain tilan juuren, Ethereum-lohkoketjun jokainen lohko sisältää nyt sekä tilan juuren että tapahtumaryhmän juuren. Tapahtumaryhmän juuret ovat kaikkien tapahtumaryhmien merkle-juuret kyseisen tapahtumalohkon erityisistä sirpaleista.

Pohjimmiltaan on merkle-juuret kaikista erilaisista sirpaleista, jotka sisältävät päivitetyt ja vahvistetut tapahtumaryhmät. Tämä juuri tallennetaan lohkoketjuun päivitetyn tilan juuren kanssa.

Merkle-puukonseptien käyttö tässä rakenteessa on välttämätöntä estoketjun pätevyyden varmistamiseksi. Ymmärtäminen merklen puusta ja erityisesti merklen juuresta voi auttaa sinua ymmärtämään nämä käsitteet paljon helpommin.

Mikä on Merklen puu

Lue: Mikä on Merklen puu ?

Sirpaleessa saavutetaan yksimielisyys todistamalla vaarnan konsensus satunnaisesti valituista solmuista, joita käytetään sirpaleeseen tietyllä konsensuskierroksella.

Tämä ei pelkästään anna yhteisymmärrykseen lopullisuutta, mikä on välttämätöntä sirpaleissa, mutta tarjoaa myös erityisen puolustuksen hyökkäykselle, jolle työtodistuksen lohkoketju olisi altis tässä tapauksessa.

Tiettyjen sirpaleiden ylittämiseen tarvittava hajautusvoima PoW-sirpaleisessa verkossa on huomattavasti vähentynyt, ja pahantahtoisen toimijan kyky ottaa sirpale huomioon laskentatehon avulla on mahdollista.

Tämän avulla huono näyttelijä voisi hyökätä muihin sirpaleisiin kommunikaatioprotokollan kautta, joka on yksi sirpaloituvan arkkitehtuurin monimutkaisemmista ja tärkeimmistä piirteistä. Satunnainen näytteenotto valittajien sisällä sirussa onnistuu tukahduttamaan tämän tyyppisen hyökkäyksen, koska huono näyttelijä ei tiedä mihin sirpaleeseen heidät sijoitetaan ennen kuin hänet todella sijoitetaan siihen.

Lisäksi satunnaista näytteenottoa käytetään validointilaitteiden valitsemiseen, jotka tosiasiallisesti validoivat siitä satunnaisesta validointijoukosta.

Tiedonsiirtoprotokolla on elintärkeää järjestelmässä oikein toimivalle sirpaleiselle arkkitehtuurille. Voit ajatella viestintäprotokollaa universaalina kielenä, joka on yhdenmukainen osavaltioiden keskuudessa osana suurempaa Yhdysvaltoja.

Tämän protokollan suunnittelu on kuitenkin erittäin haastavaa ja se on suoritettava niin, että sitä käytetään vain tarvittaessa. Se on välttämätöntä, kun tietty solmu vaatii tietoja, joita ei ole tallennettu omaan sirpaansa, ja niiden on löydettävä siru tarvittavien tietojen kanssa. Tätä viestintää kutsutaan ristikkäisviestinnäksi.

Ristikkäisviestintä saavutetaan soveltamalla transaktiokuittien käsitettä. Tapahtuman kuitti tallennetaan merkle-juuressa, joka voidaan helposti tarkistaa, mutta joka ei ole osa valtion juuria.

Toisesta sirpaleesta tapahtuman vastaanottava sirpale tarkistaa merkle-juuren varmistaakseen, että kuittia ei ole käytetty. Pohjimmiltaan kuitit tallennetaan jaettuun muistiin, jonka muut sirpaleet voivat tarkistaa, mutta joita ei voi muuttaa. Siksi sirut pystyvät kommunikoimaan keskenään kuittien hajautetun tallennuksen avulla.

Sharding eteenpäin

Ethereumin sirpaleiden odotetaan toteutettavan Casper PoS -päivityksen jälkeen. Äskettäin siellä on ollut jonkin verran kehitystä Ethereum 2.0: n suhteen joihin liittyy sekä Casperin että sirpaleiden käyttöönotto.

Sharding on toteutettu myös muutamissa muissa alustoissa, etenkin Zilliqassa. Zilliqa ei kuitenkaan toteuta tilan sirpoutumista tällä hetkellä ja keskittyy sen sijaan tarjoamaan suuren läpijuoksun lohkoketjun hyödyntämällä transaktio- ja laskennallista sirpaletta.

ZilliqaLue Zilliqa-oppaamme

Johtopäätös

Sharding tarjoaa nyt lupaavia ratkaisuja norsulle blockchain-alustojen huoneessa, skaalautuvuus.

Vaikka Bitcoinin salamaverkko on testausvaiheessa ja osoittanut toistaiseksi erittäin lupaavaa edistymistä, Ethereumin ratkaisu tuo mukanaan ainutlaatuisia haasteita, koska se on sidottu maailman tietokoneeksi, joka on valmis.

Sharding toimii suoraan vain protokollatasolla, joten loppukäyttäjälle tai dapp-kehittäjälle ei välttämättä ole merkitystä oppia.

Ethereumin pyrkimys valtion pilkkaamiseen laajasta, hajautetusta verkosta on kuitenkin vaikuttava pyrkimys ja siitä tulee valtava saavutus, jos se onnistuu onnistuneesti.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me