Hva er Ethereum-noder og skjæring?

I denne guiden vil du lære Hva er etereumnoder og skjæring. Hvis du vil lære enda mer, kan du ta en titt på blockchain-kursene våre.

Hvis du har vært aktiv i en eller annen form i kryptovaluta det siste året, vil du vite at det har vært ett problem som har plaget både bitcoin og Ethereum: Skalerbarhet.

Bitcoin har noe adressert dette problemet ved å aktivere Segwit og ved hard forking i Bitcoin Cash. Ethereum prøver imidlertid å løse dette problemet på en annen måte. En av de mange protokollene de ønsker å aktivere, når de går inn i neste fase av veksten, er å “skjære”. Før vi forstår hva det betyr, må vi ha en grundig forståelse av nettverk og noder.

What are ethereum Nodes And Sharding?” width=”1200″ height=”628″ /></p></p>
<p><h2>         <div class = “widget”></p>
<p><div class=

Hva er Ethereum noder og Sharding?


Hva er noder, nettverk og parametere?

La oss forstå hva konseptet betyr ved å bruke enkle daglige aktiviteter.

(Før vi begynner, takk til 3dBuzz for den fantastiske forklaringen.)

Tenk på en boks:

Hva er Ethereum-noder og skjæring?

Denne boksen tar inn innganger, utfører en slags operasjoner på dem, og gir deretter en utgang. Denne boksen er en “node”. Husk at noder ikke akkurat er “bokser”, vi bruker bare et hypotetisk tilfelle her.

Et nettverk er en samling av disse nodene som er sammenkoblet til hverandre.

Parametere er reglene som nodene er bundet av.

Det er i det vesentlige hva noder og nettverk er. La oss nå sjekke ut noen enkle daglige aktiviteter forklart via noder og nettverk.

La oss se hvordan en enkel papirförstikker fungerer.

Hva er Ethereum-noder og skjæring?

Så, hva skjedde her?

Du bruker tre noder: Papiret makuleringsmaskinen og… .well … ”makulerte ting”. Disse tre nodene utgjør “Shredding-nettverket”. La oss ha det mer moro med dette. Til nå har vi antatt at noder bare tar inn én inngang. Hva om de tar mer enn det?

La oss ta eksemplet med en brødrister. En brødrister tar inn to innganger:

  • Elektrisitet
  • Brød

Så dette vil det se ut:

Hva er Ethereum-noder og skjæring?

Husk en ting, en brødrister kan ikke fungere hvis en av inngangene mangler.

Nå er det på tide å ta det enda et hakk.

La oss tenke på et komplekst nettverk som bruker parametere. Tenk på TV-apparatet ditt. TV-apparatet er koblet til tjenesteleverandøren. Anta at du eier en PS4, og fordi du suger på å ta avgjørelser, eier du også en Xbox.

Så hvis vi skulle kartlegge hele “TV-nettverket”, så ville det se ut:

Hva er Ethereum-noder og skjæring?

Vi har et problem her.

Du kan bare få tilgang til en av disse nodene via TV-en din. Du kan egentlig ikke se Game of Thrones og spille Uncharted på samme tid nå, kan du? Så hvordan skal du sørge for at TV-en din bare får tilgang til en node om gangen? Det er her du introduserer parametrene. Parametrene er det som gjør nodene dine unike. Anta at du vil legge til en parameter i fjernsynet kalt “Channel Switcher”. Og slik fungerer kanalbryteren:

  • Hvis du trykker “0” vil den vise normal TV aka tjenesteleverandør.
  • Hvis du trykker “1” vil du få tilgang til PS4.
  • Hvis du trykker “2” vil du få tilgang til Xbox.

Bare ved å legge til disse parametrene gjorde du noden din, dvs. TV-en unik. Så la oss undersøke hvilke andre parametere vi kan gi fjernsynet vårt for å gjøre det mer unikt:

  • Størrelse: Si at TV-en vår er en 55-tommers skjerm.
  • Farge: TVen vår er sølvgrå i fargen.
  • Merke: Vi har en Sony TV.
  • Type: Vi har en plasmaskjerm.

Ok, så nå, takket være parametrene våre, har vi en TV som er mer definert. Nå vet vi at vi har en 55-tommers, sølvgrå, plasma-TV fra Sony.

Så av alt vi har lært så langt, skal vi prøve å definere hva noder, nettverk og parametere betyr.

  • Noder: Individuelle komponenter som tar inn input og utfører en funksjon på dem og gir ut output.
  • Nettverk: Samling av noder som er sammenkoblet til hverandre.
  • Parametere: Regler som definerer en node og gjør den mer unik

Noder og nettverk i forbindelse med telekommunikasjon

Hele vårt telekommunikasjonssystem fungerer på grunnlag av nettverk og noder. Internett, samtaler, SMS-er, hver eneste av dem fungerer på grunn av nøye utformede nettverk og noder. Så, hvordan definerer du et telenett? I følge Encyclopedia Britannica,

“Telekommunikasjonsnett er et elektronisk system med lenker og brytere, og kontrollene som styrer driften, som muliggjør dataoverføring og utveksling mellom flere brukere.”

Hvorfor trenger vi et telenett?

Selv om det er mulig å lage en-til-en-forbindelse mellom individuelle mennesker, vil det være ekstremt dyrt og tungvint. I tillegg vil det være en ekstremt ineffektiv prosess fordi de fleste kommunikasjonslinjene vil være inaktiv og under / ikke utnyttet.

For å gjøre denne prosessen mer effektiv bruker vi et telekommunikasjonsnett. Så, hva er definisjonen av en node i denne sammenhengen?

I denne sammenheng er noden enten et omfordelingspunkt eller et kommunikasjonsendepunkt.

Så, la oss se et eksempel på hvordan dette fungerer. Vurder et enkelt GSM-nettverk. Anta at Alice vil sende en SMS til Bob, hvordan vil hele systemet fungere? (Shoutout til Roviell YouTube-kanal for forklaring).

  • Trinn 1: Alice skriver meldingen og trykker send. Meldingen går til basestasjonen aka BST. BST kobler deg til nettverket. Det er mange BST-er rundt. Tenk på dem som servitører på en restaurant. Du løfter ganske enkelt hånden din (send en SMS), og du får oppmerksomheten deres.
  • Steg 2: Basestasjonskontrolleren aka BSC sørger for at BST-er er i orden og at alt er i god stand. Ved å bruke vår restaurantanalogi er BSC “maître d’hôtel” eller hodetjeneren som sørger for at servitører ivaretar hvert bord. (Husker du Jean Phillippe fra Hell’s Kitchen? Ja, den fyren.)
  • Trinn 3: Fra BSC går meldingen nå til Mobile Switching Center aka MSC. Det sørger for at dataene beveger seg sømløst fra stasjonene til nettverkene og omvendt. I vår restaurantanalogi er MSC kjøkkensjefene, som tar imot bestillingene og videreformidler dem til kokkene OG setter også siste hånd på oppvasken før de sendes ut.
  • Trinn 4: Nå blir meldingen sendt til Short Message Service Center aka SMSC. Dette er kokkene i analogien. Her over lagres meldingen til de får mer informasjon om mottakeren. SMSC får hjelp fra kilder som Home Location Register (HLR) og Visitor Location Register (VLR), disse 2 er databaser som inneholder all informasjon om nettverket. De hjelper i utgangspunktet å spore opp avsenderen OG mottakeren for å se om meldingen kan sendes. De sjekker om mottakerens telefon er slått av, eller om den er utenfor dekningsområdet osv. Hvis meldingen av en eller annen grunn ikke kan sendes, blir den lagret i SMSC i maksimalt 6 timer før den blir slettet.
  • Trinn 5: Hvis SMS-en er i orden, overfører SMSC-meldingen meldingen til mottakerens MSC.
  • Trinn 6: SMSen går til BSC.
  • Trinn 7: BSC videresender meldingen til BST.
  • Trinn 8: BST sender endelig meldingen til mottakeren.

Så dette er en oversikt over hvordan hele SMS-systemet fungerer. BSC, BST, MSC, SMSC, HLR og VLR er alle noder i GSM-nettverket. Slik ser det ut:

Hva er Ethereum-noder og skjæring?

Hva er et Peer-to-Peer-nettverk?

En normal nettverksstruktur er “klient server”Struktur.

Hvordan fungerer det??

Hva er Ethereum-noder og skjæring?

Det er en sentralisert server. Og alle som ønsker å koble til serveren kan sende et spørsmål for å få den nødvendige informasjonen. Dette er ganske mye hvordan internett fungerer. Når du vil Google noe, sender du et spørsmål til Google-serveren, som kommer tilbake med de nødvendige resultatene. Så dette er et klientserver-system. Nå, hva er problemet med denne modellen?

Siden alt er avhengig av serveren, er det viktig at serveren til enhver tid fungerer for at systemet skal fungere. Det er en flaskehals. Anta nå, uansett årsak at hovedserveren slutter å fungere, vil alle i nettverket bli berørt. I tillegg er det også sikkerhetsproblemer. Siden nettverket er sentralisert, håndterer serveren selv mye sensitiv informasjon angående klientene. Dette betyr at alle kan hacke serveren og få informasjonen. I tillegg er det også spørsmålet om sensur. Hva om serveren bestemmer at et bestemt element (film, sang, bok osv.) Ikke er behagelig og bestemmer seg for ikke å formere det i nettverket deres?

Så for å motvirke alle disse problemene oppstod en annen nettverksarkitektur. Det er et nettverk som deler hele arbeidsbelastningen mellom deltakerne, som alle er like privilegerte, kalt “jevnaldrende”. Det er ikke lenger en sentral server, nå er det flere distribuerte og desentraliserte jevnaldrende. Dette er et peer-to-peer-nettverk.

Hva er Ethereum-noder og skjæring?

Bilde med tillatelse: InfoZones

Hvorfor bruker folk peer-to-peer-nettverket?

En av de viktigste bruksområdene for peer-to-peer-nettverket er fildeling, også kalt torrenting. Hvis du skal bruke en klientservermodell for nedlasting, er det vanligvis ekstremt tregt og helt avhengig av serverens helse. I tillegg er det som sagt utsatt for sensur.

Imidlertid er det i et peer-to-peer-system ingen sentral autoritet, og hvis selv en av jevnaldrende i nettverket går ut av løpet, har du fortsatt flere jevnaldrende å laste ned fra. I tillegg er det ikke underlagt de idealistiske standardene til et sentralt system, og det er derfor ikke utsatt for sensur

Hvis vi skulle sammenligne de to:

eksempel på nettverkseffekt

Bilde med tillatelse: Quora

Den desentraliserte naturen til et peer-to-peer-system blir kritisk når vi går videre til neste avsnitt. Hvor kritisk? Vel, den enkle (i det minste på papiret) ideen om å kombinere dette peer-to-peer-nettverket med et betalingssystem har fullstendig revolusjonert finansbransjen ved å føde kryptovaluta.

Bruk av nettverk og noder i kryptovalutaer.

La oss ta en titt på Ethereums nettverksstruktur.

Ethereum er strukturert som et peer-to-peer-nettverk, slik at deltakerne alias peers aka nodene ikke får noen ekstra spesielle privilegier. Tanken er å skape et egalitært nettverk. Nodene gis ingen spesielle privilegier, men funksjonene og graden av deltakelse kan variere. Det er ingen sentralisert server / enhet, og det er heller ikke noe hierarki. Det er en flat topologi.

Alle desentraliserte kryptokurver er strukturert slik, på grunn av en enkel grunn, for å holde seg tro mot deres filosofi. Tanken er å ha et valutasystem, der alle blir behandlet som likeverdige og det ikke er noe styrende organ som kan bestemme verdien av valutaen ut fra et innfall. Dette gjelder både bitcoin og ethereum.

Nå, hvis det ikke er noe sentralt system, hvordan ville alle i systemet få vite at en bestemt transaksjon har skjedd? Nettverket følger sladderprotokollen. Tenk på hvordan sladder sprer seg. Anta at Alice sendte 3 ETH til Bob. Nodene nærmest henne vil bli kjent med dette, og så vil de fortelle nodene nærmest dem, og så vil de fortelle naboene, og dette vil fortsette å spre seg til alle vet. Noder er i utgangspunktet dine nysgjerrige, irriterende slektninger.

Så, hva er en node i sammenheng med etereum? En node er ganske enkelt en datamaskin som deltar i eterinnettverket. Denne deltakelsen kan være på tre måter

  • Ved å holde en grunne kopi av blockchain, også kalt en Light Client
  • Ved å beholde en full kopi av blockchain, også kalt Full Node
  • Ved å verifisere transaksjonene aka Mining

Hva er en lett klient?

Som vi har nevnt tidligere, er ideen med et peer-to-peer-system å distribuere nettverksansvar blant noder som kalles “peers”. Ingen foretrekker noen av dem. Men hva med folk som ønsker å delta i nettverket, men som ikke har systemressursene til å laste ned og vedlikeholde hele blockchain i systemet sitt? De kan velge å bli “lette klienter”. Ved å være en lett klient får de høysikkerhetssikringer om visse eterumtilstander og også makten til å verifisere gjennomføringen av en transaksjon.

Hva er en full node?

En hvilken som helst datamaskin, koblet til eterinnettverket, som fullt ut håndhever alle konsensusreglene for eterum kalles Full Node. En full node laster ned hele blockchain på brukerens skrivebord. Fulle noder danner ryggraden i eterumsystemet og holder hele nettverket ærlig. Noen av konsensusreglene som fullstendige noder håndhever er:

  • Sørg for at riktig blokkbelønning gis ut for hver blokk som utvinnes (5 ETH)
  • Transaksjoner har de riktige signaturene
  • Transaksjoner og blokkeringer er i riktig dataformat
  • Ingen dobbeltbruk skjer i noen av blokkene

De fulle nodene validerer i utgangspunktet nodene og transaksjonene og videreformidler informasjonen til de andre nodene (ved hjelp av sladderprotokollen).

Gruvearbeidere mot noder

For å holde det enkelt er alle gruvearbeidere fulle noder, men ikke alle fulle noder er gruvearbeidere. Gruvearbeidere må kjøre fulle noder for å få tilgang til blockchain. Alle som driver en full node, trenger ikke mine for blokker.

Hva er skalerbarhetsproblemet som eterum står overfor?

Hvordan skjer konsensus i Ethereum-nettverket? Hver eneste node i nettverket gjør hver beregning, og når de alle kommer til enighet, anses transaksjonen som god. Dette kan ha fungert ordentlig, i begynnelsen har imidlertid eterum blitt veldig populært, og antall transaksjoner har økt jevnlig. Sjekk ut denne grafen av Etherscan:

Hva er Ethereum-noder og skjæring?

Bilde med tillatelse: Etherscan

Nå, selv om dette er bra, har antall beregninger som nettverkene må gjennom før de kan komme til enighet, økt eksponentielt som et resultat. Sammen med det er det et annet problem som har kommet opp. ethereum har utbredt adopsjon på grunn av støtten fra visse bedriftens tungvektere og populariteten til sine ICO-er. Som et resultat av dette har antall noder i eterinnettverket økt eksponentielt. Faktisk er det kryptovalutaen med flest noder og dermed mest desentralisert.

Faktisk, i mai 2017 hadde ethereum 25.000 noder sammenlignet med Bitcoins 7000 !! Det er mer enn tre ganger. Faktisk øker antall noder fra april til mai med 81% … det er nesten dobbelt!

Hva er Ethereum-noder og skjæring?

Bilde med tillatelse: Tillitsnoder.

Nå tenker du kanskje at å ha flere noder i nettverket vil bidra til å øke hastigheten på transaksjonen. Tenk igjen.

Konsensus skjer lineært. Betydning, anta at det er 3 noder A, B og C.

For at konsensus skal oppstå, vil A først gjøre beregningene og verifisere, og deretter vil B gjøre det samme og deretter C.

Imidlertid, hvis det er en ny node i systemet kalt “D”, vil det legge til en ny node til konsensussystemet, noe som vil øke den totale tidsperioden. Etter hvert som ethereum har blitt mer populært, har transaksjonstidene blitt tregere.

I en hastighetstest ble det faktisk sett at ethereum klarte bare 20 transaksjoner per sekund sammenlignet med PayPal’s 193 og Visa’s 1667!!

Husk nå en ting, ethereum ser ikke for seg å være bare valuta, deres ultimate visjon er å være noe som det nye internett. De vil at folk skal lage DApps på skalaen til Facebook og Youtube for å kjøre på toppen av blockchain. For at noe slikt skal skje, må de gjøre noe med deres skalerbarhetsproblemer.

For å løse dette ble tre forslag reist:

  • Øk blokkstørrelsen
  • Få brukere til å bruke forskjellige altmynter
  • Sharding

Øk blokkstørrelsen

Så en løsning er å øke blokkstørrelsen. Selv om dette definitivt vil forbedre ytelsen ved å øke antall transaksjoner som går inn i en blokk, er det flere problemer som kan skje som et resultat:

  • For det første vil dette fremdeles ikke løse problemet med noder som kommer til enighet i et lavere tempo. Når antall transaksjoner per blokk øker, øker faktisk antall beregninger og verifikasjoner per node også.
  • For å imøtekomme flere og flere transaksjoner, må blokkstørrelsene økes med jevne mellomrom. Dette vil sentralisere systemet mer fordi vanlige datamaskiner og brukere ikke kan laste ned og bevare slike store blokkeringer. Dette strider mot den egalitære ånden til en blockchain.
  • Endelig vil økning i blokkstørrelse bare skje via hardfork, som kan dele samfunnet. Sist gang en stor hardfork skjedde i ethereum, ble hele samfunnet delt og to separate valutaer oppsto. Folk vil egentlig ikke at dette skal skje igjen.

Få brukere til å bruke forskjellige altcoins.

Et annet forslag var å kjøre parallelle blokkjeder i stedet for en hovedblokkjede. I utgangspunktet, i stedet for å få 50 DApps til å kjøre på en hovedblokkjede, må du ha 2 blokkeringer og kjøre 25 DApps hver. Det var to problemer med dette forslaget:

  • Det er ikke lurt å dele opp hashrate av en kjede. Kjedens hashrate avgjør tross alt hvor sikkert det er fra eksterne hackere og raskt systemet er.
  • Det vil være lettere for ondsinnede gruvearbeidere å få 51% flertall på de mindre kjedene.

Sharding

Til slutt ble sharding bestemt som veien for eterum. Før vi går dypt inn i skjæring, la oss få en enkel forståelse av hva det betyr. Anta at det er tre noder A, B og C, og de må verifisere data T. I stedet for at A, B og C verifiserer hele dataen T hver for seg, blir dataene delt inn i tre skjær: T1, T2 og T3. Etter det vil A, B og C verifisere en skjær hver side ved side. Som du ser, er tiden du sparer eksponentiell.

Uansett, la oss gjøre et dypdykk!

Hva er skjæring?

Sharding er et begrep som er hentet fra databasesystemer. La oss se hva skjæring betyr med hensyn til databasen. Anta at du har en enorm klumpete database for nettstedet ditt. Å ha en klumpete database gjør ikke bare søk etter data langsommere, men det hindrer også skalerbarheten din. Så hva gjør du i dette tilfellet?

Hva om du gjør en horisontal partisjon på dataene dine og gjør dem til mindre tabeller og lagrer dem på forskjellige databaseservere?

Hva er Ethereum-noder og skjæring?

Bilde med tillatelse: Dzone

Som så?

Nå spør du kanskje, hvorfor en horisontal partisjon og ikke en vertikal partisjon? Det er på grunn av måten bordene er utformet på:

Hva er Ethereum Nodes And Sharding-

Du ser? Det er den samme tabellen / databasen, men med mindre data. Disse mindre databasene er kjent som skjær i den større databasen. Hver skjær skal være identisk med samme bordstruktur.

Sharding i sammenheng med blockchain

Nå, som vi har sett, er problemet med Ethereum-konsensus at alle nodene trenger å gjøre alle beregningene og verifiseringene for hver eneste transaksjon. Dette gjør hele prosessen veldig treg og tungvint. Så hvordan vil skjæring hjelpe dette?

Tenk på tilstanden til ethereum blockchain som vi vil kalle “Global State”, som er synlig for alle. La oss vurdere Merkle-roten til denne globale staten. (For Merkle trær og røtter, les artikkelen vår om HASHING). Denne statsroten vil bli brutt opp i skjærrøtter, og hver av disse delte røttene vil ha sin egen tilstand. Disse statene kommer til å bli representert i form av et Merkle-tre.

Dette er en veldig enkel struktur for hvordan det skal se ut.

La oss nå gå inn i den interne mekanikken.

Så hva skjer hva etter skjæring aktiveres?

  • Staten er delt i skjær
  • Hver unike konto er i en skjær
  • Kontoer kan bare handles med andre kontoer i samme skjær

I Devcon forklarte Vitalik Buterin skjær slik:

Tenk deg at eterum er delt inn i tusenvis av øyer. Hver øy kan gjøre sine egne ting. Hver av øya har sine egne unike egenskaper, og alle som tilhører den øya, dvs. kontoene, kan samhandle med hverandre OG de kan hengi seg fritt til alle funksjonene. Hvis de ønsker å komme i kontakt med andre øyer, må de bruke en slags protokoll.

Så spørsmålet er hvordan det kommer til å endre blockchain?

Hvordan ser en normal blokk i bitcoin eller ethereum (pre-sharding) ut?

Hva er Ethereum-noder og skjæring?

Så det er en blokkoverskrift og kroppen som inneholder alle transaksjonene i blokken. Merkle-roten til alle transaksjonene vil være i blokkoverskriften.

Nå, tenk på dette. Trengte bitcoin virkelig blokker? Trengte det virkelig en blockchain? Satoshi kunne rett og slett ha laget en kjede av transaksjoner ved å inkludere hashen til den forrige transaksjonen i den nyere transaksjonen, og lage en “transaksjonskjede” så å si.

Årsaken til at de ordner disse transaksjonene i en blokk er å skape ett nivå av interaksjon og gjøre hele prosessen mer skalerbar. Det eterum antyder, er at de endrer dette til to nivåer av interaksjon.

Det første nivået

Første nivå er transaksjonsgruppen. Hver skjær har sin egen gruppe av en transaksjon.

Hva er Ethereum-noder og skjæring?

Bilde med tillatelse: Hackernoon

Transaksjonsgruppen er delt inn i overskriftsgruppens overskrift og transaksjonsgruppens kropp.

Overskrift på transaksjonsgruppe

Overskriften er delt inn i forskjellige venstre og høyre deler.

Den venstre delen:

  • Shard ID: ID-en for skjæret som transaksjonsgruppen tilhører.
  • Pre-state rot: Dette er tilstanden til roten til skjær 43 før transaksjonene ble påført.
  • Innleggstilstand: Dette er tilstanden til roten til skjær 43 etter at transaksjonene er påført.
  • Mottaksrot: Kvitteringsroten etter alle transaksjonene i skjær 43 blir brukt.

Den rette delen:

Den rette delen er full av tilfeldige validatorer som trenger å verifisere transaksjonene i selve skjæringen. De er alle tilfeldig valgt.

Transaksjonsgruppe organ

Den har alle transaksjons-ID-ene i selve skjæret.

Egenskapene til nivå 1

  • Hver transaksjon spesifiserer ID-en for skjær den tilhører.
  • En transaksjon som tilhører et bestemt skjær viser at det har skjedd mellom to kontoer som er hjemmehørende i det aktuelle skjæret.
  • Transaksjonsgruppen har transaksjoner som bare tilhører den skjerv-ID-en og er unike for den.
  • Spesifiserer roten før og etter tilstand.

La oss nå se på det øverste nivået, det andre nivået.

Det andre nivået

krysshardkommunikasjon

Bilde med tillatelse: Hackernoon.

Ikke vær redd! Det er lettere å forstå enn det ser ut.

Det er den vanlige blockchain, men nå inneholder den to primære røtter:

  • Statens rot
  • Transaksjonsgruppen rot

Delstatsrot representerer hele staten, og som vi har sett før, deles staten opp i skjær som inneholder sine egne substater.

Transaksjonsgrupperoten inneholder alle transaksjonsgruppene i den aktuelle blokken.

Egenskaper på nivå to

  • Nivå to er som en enkel blockchain, som godtar transaksjonsgrupper i stedet for transaksjoner.
  • Transaksjonsgruppen er bare gyldig hvis: a) Pre-state root samsvarer med shard-roten i den globale staten.

    b) Signaturene i transaksjonsgruppen er alle validert.

  • Hvis transaksjonsgruppen kommer inn, blir den globale statsrot roten til tilstanden til den spesielle skjær-ID-en.

Så hvordan skjer cross-shard kommunikasjon?

Husk øy-analogien vår?

Skjærene er i utgangspunktet som øyer. Så hvordan kommuniserer disse øyene med hverandre? Husk at formålet med skjær er å få mange parallelle transaksjoner til å skje samtidig for å øke ytelsen. Hvis eterum tillater tilfeldig kryss-shard-kommunikasjon, beseirer det hele formålet med sharding.

Så hvilken protokoll som må følges for kommunikasjon på tvers av skjær?

ethereum valgte å følge kvitteringsparadigmet for kryss-shard-kommunikasjon. Sjekk ut dette:

Hva er Ethereum-noder og skjæring?

Bilde med tillatelse: hackernoon

Som du kan se her, kan du enkelt få tilgang til hver enkelt mottakelse av en hvilken som helst transaksjon via flere Merkle-trær fra transaksjonsgruppen Merkle root. Hver transaksjon i en skjær vil gjøre to ting:

  • Endre tilstanden til skjæret den tilhører
  • Generer kvittering

Her er en annen interessant informasjon. Kvitteringene lagres i et distribuert delt minne, som kan sees av andre skjær, men ikke endres. Derfor kan kryss-shard-kommunikasjonen skje via kvitteringene slik:

krysshardkommunikasjon

Bilde med tillatelse: Hackernoon

Hva er utfordringene med å implementere skjæring?

  • Det må være en mekanisme for å vite hvilken node som implementerer hvilken skjær. Dette må gjøres på en sikker og effektiv måte for å sikre parallellisering og sikkerhet.
  • Bevis for stav må implementeres først for å gjøre skjæring lettere ifølge Vlad Zamfir.
  • Nodene fungerer på et tillitsløst system, noe som betyr at node A ikke stoler på node B, og de bør begge komme til enighet uavhengig av den tilliten. Så hvis en bestemt transaksjon blir brutt opp i skjær og distribuert til node A og node B, må node A komme med en slags bevismekanisme for at de er ferdige med arbeidet fra deres del av skjæret.

Hva er Ethereum Nodes And Sharding: Konklusjon

Når Ethereum utvides og innleder Metropolis og Serenity, blir skjæring mer og mer kritisk for veksten. Hvis ethereum planlegger å bli det nye internett, må de fikse problemer med skalerbarhet. De trenger absolutt å implementere og spikerskjæring for å sikre veksten. Spennende tider ligger foran eterum!

AMAZONPOLLY-ONLYAUDIO-START-I denne guiden vil du lære hva som er ethereum Nodes And Sharding. Hvis du vil lære enda mer, kan du ta en titt på blockchain-kursene våre. Hvis du har vært aktiv i en eller annen form for kryptovaluta det siste året, vil du vite at det har vært ett problem som har plaget både bitcoin og etereum: Skalerbarhet. Bitcoin har noe adressert dette problemet ved å aktivere Segwit og ved hard forking i Bitcoin Cash. Ethereum prøver imidlertid å løse dette problemet på en annen måte. En av de mange protokollene de ønsker å aktivere, når de går inn i neste fase av veksten, er å “skjære”. Før vi forstår hva det betyr, må vi ha en grundig forståelse av nettverk og noder.

Tren for å bli en Blockchain-utvikler

Start din gratis prøveversjon i dag!

Hva er Ethereum-noder og skjæring? Hva er noder, nettverk og parametere? La oss forstå hva konseptet betyr ved å bruke enkle daglige aktiviteter. (Før vi begynner, takk til 3dBuzz for den fantastiske forklaringen.) Tenk på en rute: Denne boksen tar inn innganger, utfører en slags operasjoner på dem, og gir deretter en produksjon. Denne boksen er en “node”. Husk at noder ikke akkurat er “bokser”, vi bruker bare et hypotetisk tilfelle her. Et nettverk er en samling av disse nodene som er koblet sammen. Parametere er reglene som nodene er bundet av. Det er i det vesentlige hva noder og nettverk er. La oss nå sjekke ut noen enkle daglige aktiviteter forklart via noder og nettverk. La oss se hvordan en enkel papirmaskin fungerer. Så, hva skjedde her? Du bruker tre noder: Papiret makuleringsmaskinen og… .well … ”makulerte ting”. Disse tre nodene utgjør “Shredding-nettverket”. La oss ha det mer moro med dette. Inntil nå har vi antatt at noder bare tar inn én inngang. Hva om de tar mer enn det? La oss ta eksemplet med en brødrister. En brødrister tar inn to innganger: Elektrisitetsbrød Så dette vil det se ut: Husk en ting, en brødrister kan ikke fungere hvis ikke en av inngangene mangler. Nå er det på tide å ta det enda et hakk. La oss tenke på et komplekst nettverk som bruker parametere. Tenk på TV-apparatet ditt. TV-apparatet er koblet til tjenesteleverandøren. Anta at du eier en PS4, og fordi du suger på å ta avgjørelser, eier du også en Xbox. Så hvis vi skulle kartlegge hele “TV-nettverket”, så ville det se ut: Uh, oh .. vi har et problem her. Du kan bare få tilgang til en av disse nodene via TV-en din. Du kan egentlig ikke se Game of Thrones og spille Uncharted på samme tid nå, kan du? Så hvordan skal du sørge for at TV-en din bare får tilgang til en node om gangen? Det er her du introduserer parametrene. Parametrene er det som gjør nodene dine unike. Anta at du vil legge til en parameter i fjernsynet kalt “Channel Switcher”. Og slik fungerer kanalveksleren: Hvis du trykker på “0”, vil den vise normal TV aka tjenesteleverandør. Hvis du trykker “1” vil du få tilgang til PS4. Hvis du trykker “2” vil du få tilgang til Xbox. Bare ved å legge til disse parametrene gjorde du noden din, dvs. TV-en unik. Så la oss utforske hvilke andre parametere vi kan gi fjernsynet vårt for å gjøre det mer unikt: Størrelse: Si at fjernsynet vårt er en 55-tommers skjerm. Farge: TVen vår er sølvgrå i fargen. Merke: Vi har en Sony TV. Type: Vi har en plasmaskjerm. Ok, så nå, takket være parametrene våre, har vi en TV som er mer definert. Nå vet vi at vi har en 55-tommers, sølvgrå, plasma-TV fra Sony. Så fra alt vi har lært så langt, la oss prøve å definere hva noder, nettverk og parametere betyr. Noder: Individuelle komponenter som tar inn input og utfører en funksjon på dem og gir utgang. Nettverk: Samling av noder som er sammenkoblet til hverandre. Parametere: Regler som definerer en node og gjør den mer unik Noder og nettverk i forbindelse med telekommunikasjon Hele vårt telekommunikasjonssystem fungerer på grunnlag av nettverk og noder. Internett, samtaler, SMS-er, hver eneste av dem fungerer på grunn av nøye utformede nettverk og noder. Så hvordan definerer du et telenett? Ifølge Encyclopedia Britannica, “Telekom-nettverk er et elektronisk system med lenker og brytere, og kontrollene som styrer driften, som muliggjør dataoverføring og utveksling mellom flere brukere.” Hvorfor trenger vi et telenett? Selv om det er mulig å lage en-til-en-forbindelse mellom individuelle mennesker, vil det være ekstremt dyrt og tungvint. I tillegg vil det være en ekstremt ineffektiv prosess fordi de fleste kommunikasjonslinjene vil være inaktiv og under / ikke utnyttet. For å gjøre denne prosessen mer effektiv bruker vi et telekommunikasjonsnett. Så, hva er definisjonen av en node i denne sammenhengen? I denne sammenheng er noden enten et omfordelingspunkt eller et kommunikasjonsendepunkt. Så, la oss se et eksempel på hvordan dette fungerer. Vurder et enkelt GSM-nettverk. Anta at Alice vil sende en SMS til Bob, hvordan vil hele systemet fungere? (Shoutout til Roviell YouTube-kanal for forklaringen). Trinn 1: Alice skriver meldingen og trykker send. Meldingen går til basestasjonen aka BST. BST kobler deg til nettverket. Det er mange BST-er rundt. Tenk på dem som servitører på en restaurant. Du løfter ganske enkelt hånden din (send en SMS), så får du oppmerksomheten deres. Trinn 2: Basestasjonskontrolleren aka BSC sørger for at BST-ene er i orden og at alt er i stand. Ved å bruke vår restaurantanalogi er BSC “maître d’hôtel” eller hodetjeneren som sørger for at servitører ivaretar hvert bord. (Husker du Jean Phillippe fra Hell’s Kitchen? Ja, den fyren.) Trinn 3: Fra BSC går meldingen nå til Mobile Switching Center aka MSC. Det sørger for at dataene beveger seg sømløst fra stasjonene til nettverkene og omvendt. I vår restaurantanalogi er MSC kjøkkensjefene, som tar imot bestillingene og videreformidler dem til kokkene OG setter også siste hånd på oppvasken før de sendes ut. Trinn 4: Nå blir meldingen sendt til Short Message Service Center aka SMSC. Dette er kokkene i analogien. Her over lagres meldingen til de får mer informasjon om mottakeren. SMSC får hjelp fra kilder som Home Location Register (HLR) og Visitor Location Register (VLR), disse 2 er databaser som inneholder all informasjon om nettverket. De hjelper i utgangspunktet å spore opp avsenderen OG mottakeren for å se om meldingen kan sendes. De sjekker om mottakerens telefon er slått av, eller om den er utenfor dekningsområdet osv. Hvis meldingen av en eller annen grunn ikke kan sendes, blir den lagret i SMSC i maksimalt 6 timer før den blir slettet. Trinn 5: Nå, hvis SMSen er god å gå, overfører SMSC meldingen til mottakerens MSC. Trinn 6: SMSen går til BSC. Trinn 7: BSC videresender meldingen til BST. Trinn 8: BST sender deretter endelig meldingen til mottakeren. Så dette er en oversikt over hvordan hele SMS-systemet fungerer. BSC, BST, MSC, SMSC, HLR og VLR er alle noder i GSM-nettverket. Slik ser det hele ut: Hva er et Peer-to-Peer Network? En normal nettverksstruktur er “klient-server” -strukturen. Hvordan fungerer det? Det er en sentralisert server. Og alle som ønsker å koble til serveren kan sende et spørsmål for å få den nødvendige informasjonen. Dette er ganske mye hvordan internett fungerer. Når du vil Google noe, sender du et spørsmål til Google-serveren, som kommer tilbake med de nødvendige resultatene. Så dette er et klientserver-system. Hva er problemet med denne modellen? Siden alt er avhengig av serveren, er det viktig at serveren til enhver tid fungerer for at systemet skal fungere. Det er en flaskehals. Anta nå, uansett årsak at hovedserveren slutter å fungere, vil alle i nettverket bli berørt. I tillegg er det også sikkerhetsproblemer. Siden nettverket er sentralisert, håndterer serveren selv mye sensitiv informasjon angående klientene. Dette betyr at alle kan hacke serveren og få informasjonen. I tillegg er det også spørsmålet om sensur. Hva om serveren bestemmer at et bestemt element (film, sang, bok osv.) Ikke er behagelig og bestemmer seg for ikke å formere det i deres nettverk? Så, for å motvirke alle disse problemene, oppsto en annen nettverksarkitektur. Det er et nettverk som deler hele arbeidsbelastningen mellom deltakerne, som alle er like privilegerte, kalt “jevnaldrende”. Det er ikke lenger en sentral server, nå er det flere distribuerte og desentraliserte jevnaldrende. Dette er et peer-to-peer-nettverk. Image Courtesy: InfoZones Hvorfor bruker folk peer-to-peer-nettverket? En av de viktigste bruksområdene for peer-to-peer-nettverket er fildeling, også kalt torrenting. Hvis du skal bruke en klientservermodell for nedlasting, er den vanligvis ekstremt treg og helt avhengig av serverens helse. I tillegg er det som sagt utsatt for sensur. Imidlertid er det i et peer-to-peer-system ingen sentral autoritet, og hvis selv en av jevnaldrende i nettverket går ut av løpet, har du fortsatt flere jevnaldrende å laste ned fra. I tillegg er det ikke underlagt de idealistiske standardene til et sentralt system, og det er derfor ikke utsatt for sensur. Hvis vi skulle sammenligne de to: Image courtesy: Quora Den desentraliserte naturen til et peer-to-peer-system blir kritisk når vi går videre til neste avsnitt. Hvor kritisk? Vel, den enkle (i det minste på papiret) ideen om å kombinere dette peer-to-peer-nettverket med et betalingssystem har revolusjonert finansbransjen fullstendig ved å føde kryptovaluta. Bruk av nettverk og noder i kryptovalutaer. La oss ta en titt på Ethereums nettverksstruktur. ethereum er strukturert som et peer-to-peer-nettverk, slik at deltakerne alias peers aka nodene ikke får noen ekstra spesielle privilegier. Tanken er å skape et egalitært nettverk. Nodene gis ingen spesielle privilegier, men funksjonene og graden av deltakelse kan variere. Det er ingen sentralisert server / enhet, og det er heller ikke noe hierarki. Det er en flat topologi. Alle desentraliserte kryptokurver er strukturert slik, på grunn av en enkel grunn, for å holde seg tro mot deres filosofi. Tanken er å ha et valutasystem, der alle blir behandlet som likeverdige og det ikke er noe styrende organ som kan bestemme verdien av valutaen ut fra et innfall. Dette gjelder både bitcoin og ethereum. Nå, hvis det ikke er noe sentralt system, hvordan ville alle i systemet få vite at en bestemt transaksjon har skjedd? Nettverket følger sladderprotokollen. Tenk på hvordan sladder sprer seg. Anta at Alice sendte 3 ETH til Bob. Nodene nærmest henne vil bli kjent med dette, og så vil de fortelle nodene nærmest dem, og så vil de fortelle naboene, og dette vil fortsette å spre seg til alle vet. Noder er i utgangspunktet dine nysgjerrige, irriterende slektninger. Så, hva er en node i sammenheng med etereum? En node er ganske enkelt en datamaskin som deltar i eterinnettverket. Denne deltakelsen kan være på tre måter Ved å holde en grunne kopi av blockchain aka en Light Client Ved å holde en full-copy av blockchain aka en Full Node Ved å verifisere transaksjonene aka Mining Hva er en Light Client? Som vi har nevnt tidligere, er ideen med et peer-to-peer-system å distribuere nettverksansvar blant noder som kalles “peers”. Ingen foretrekker noen av dem. Men hva med folk som ønsker å delta i nettverket, men som ikke har systemressursene til å laste ned og vedlikeholde hele blockchain i systemet sitt? De kan velge å bli “lette klienter”. Ved å være en lett klient får de høysikkerhetsforsikringer om visse eterumtilstander og også makten til å verifisere gjennomføringen av en transaksjon. Hva er en full node? En hvilken som helst datamaskin, koblet til eterinnettverket, som fullt ut håndhever alle konsensusreglene for eterum kalles Full Node. En full node laster ned hele blockchain på brukerens skrivebord. Fulle noder danner ryggraden i eterumsystemet og holder hele nettverket ærlig. Noen av konsensusreglene som fullstendige noder håndhever er: Å sørge for at riktig blokkbelønning blir gitt for hver blokk som utvinnes (5 ETH). Transaksjoner har de riktige signaturene. Transaksjoner og blokker er i riktig dataformat. av blokkene De fulle nodene validerer i utgangspunktet nodene og transaksjonene og videreformidler informasjonen til de andre nodene (ved hjelp av sladderprotokollen). Gruvearbeidere vs noder For å holde det enkelt, er alle gruvearbeidere fulle noder, men ikke alle fulle noder er gruvearbeidere. Gruvearbeidere må kjøre fulle noder for å få tilgang til blockchain. Alle som driver en full node, trenger ikke mine for blokker. Hva er skalerbarhetsproblemet som Ethereum står overfor? Hvordan skjer konsensus i eterinnettverket? Hver eneste node i nettverket gjør hver beregning, og når de alle kommer til enighet, anses transaksjonen som god. Dette kan ha fungert ordentlig, i begynnelsen har imidlertid eterum blitt veldig populært, og antall transaksjoner har økt jevnlig. Sjekk ut denne grafen av Etherscan: Image Courtesy: Etherscan Nå, selv om dette er bra, har antall beregninger som nettverkene må gjennom før de kan komme til enighet, økt eksponentielt som et resultat. Sammen med det er det et annet problem som har kommet opp. ethereum har utbredt adopsjon på grunn av støtten fra visse bedriftens tungvektere og populariteten til sine ICO-er. Som et resultat av dette har antall noder i eterinnettverket økt eksponentielt. Faktisk er det kryptovalutaen med flest noder og dermed mest desentralisert. Faktisk, i mai 2017 hadde ethereum 25.000 noder sammenlignet med Bitcoins 7000 !! Det er mer enn tre ganger. Antall noder fra april til mai øker faktisk med 81% … det er nesten det dobbelte! Bilde med tillatelse: Tillitsnoder. Nå tenker du kanskje at å ha flere noder i nettverket vil bidra til å øke hastigheten på transaksjonen. Tenk igjen. Konsensus skjer lineært. Betydning, anta at det er 3 noder A, B og C. For at konsensus skal oppstå, vil A først gjøre beregningene og verifisere, og deretter vil B gjøre det samme og deretter C. Hvis det er en ny node i systemet som heter “ D ”, som vil legge til en node til konsensussystemet, noe som vil øke den totale tidsperioden. Etter hvert som ethereum har blitt mer populært, har transaksjonstidene blitt tregere. Faktisk, i en hastighetstest, ble det sett at ethereum klarte bare 20 transaksjoner per sekund sammenlignet med PayPal’s 193 og Visa’s 1667 !! Husk nå en ting, ethereum ser ikke for seg å være bare valuta, deres ultimate visjon er å være noe som det nye internett. De vil at folk skal lage DApps på skalaen til Facebook og Youtube for å kjøre på toppen av blockchain. For at noe slikt skal skje, må de gjøre noe med deres skalerbarhetsproblemer. For å løse det ble tre forslag reist: Øk blokkstørrelsen Få brukerne til å bruke forskjellige altmynter Sharding Øk blokkstørrelsen Så en løsning er å øke blokkstørrelsen. Selv om dette definitivt vil forbedre ytelsen ved å øke antall transaksjoner som går inn i en blokk, er det flere problemer som kan skje som et resultat: For det første vil dette fortsatt ikke løse problemet med noder som kommer til enighet i et lavere tempo. Når antall transaksjoner per blokk øker, øker faktisk antall beregninger og verifikasjoner per node også. For å imøtekomme flere og flere transaksjoner, må blokkstørrelsene økes med jevne mellomrom. Dette vil sentralisere systemet mer fordi vanlige datamaskiner og brukere ikke kan laste ned og bevare slike store blokkeringer. Dette strider mot den egalitære ånden til en blockchain. Endelig vil økning i blokkstørrelse bare skje via hardfork, som kan dele samfunnet. Sist gang en stor hardfork skjedde i ethereum, ble hele samfunnet delt og to separate valutaer oppsto. Folk vil egentlig ikke at dette skal skje igjen. Få brukere til å bruke forskjellige altcoins. Et annet forslag var å kjøre parallelle blokkjeder i stedet for en hovedblokkjede. I utgangspunktet, i stedet for å få 50 DApps til å kjøre på en hovedblokkjede, må du ha 2 blokkeringer og kjøre 25 DApps hver. Det var to problemer med dette forslaget: Det er ikke lurt å dele opp hashrate av en kjede. Kjedens hashrate avgjør tross alt hvor sikkert det er fra eksterne hackere og raskt systemet er. Det vil være lettere for ondsinnede gruvearbeidere å få 51% flertall på de mindre kjedene. Sharding Til slutt ble sharding bestemt som veien å gå for ethereum. Før vi går dypt inn i skjæring, la oss få en enkel forståelse av hva det betyr. Anta at det er tre noder A, B og C, og de må verifisere data T. I stedet for at A, B og C verifiserer hele dataen T hver for seg, blir dataene delt inn i tre deler: T1, T2 og T3. Etter det vil A, B og C verifisere en skjær hver side ved side. Som du ser, er tiden du sparer eksponentiell. Uansett, la oss gjøre et dypdykk! Hva er skjæring? Sharding er et begrep som er hentet fra databasesystemer. La oss se hva skjæring betyr med hensyn til databasen. Anta at du har en enorm klumpete database for nettstedet ditt. Å ha en klumpete database gjør ikke bare søk etter data langsommere, men det hindrer også skalerbarheten din. Så, hva gjør du i dette tilfellet? Hva om du gjør en horisontal partisjon på dataene dine og gjør dem til mindre tabeller og lagrer dem på forskjellige databaseservere? Bilde med tillatelse: Dzone Sånn? Nå spør du kanskje, hvorfor en horisontal partisjon og ikke en vertikal partisjon? Det er på grunn av måten bordene er designet: Ser du? Det er den samme tabellen / databasen, men med mindre data. Disse mindre databasene er kjent som skjær i den større databasen. Hver skjær skal være identisk med samme bordstruktur. Sharding i sammenheng med blockchain Nå, som vi har sett, er problemet med etereum-konsensus at alle nodene trenger å gjøre alle beregningene og verifikasjonene for hver eneste transaksjon. Dette gjør hele prosessen veldig treg og tungvint. Så hvordan vil skjæring hjelpe dette? Tenk på tilstanden til ethereum blockchain som vi vil kalle “Global State”, som er synlig for alle. La oss vurdere Merkle-roten til denne globale staten. (For Merkle trær og røtter, les artikkelen vår om HASHING). Denne statsroten vil bli brutt opp i skjærrøtter, og hver av disse delte røttene vil ha sin egen tilstand. Disse statene kommer til å bli representert i form av et Merkle-tre. Dette er en veldig enkel struktur for hvordan det skal se ut. La oss nå gå inn i den interne mekanikken. Så hva skjer hva etter at sharding er aktivert? Staten er delt i skjær. Hver unike konto er i en skjær Kontoer kan bare handle med andre kontoer i samme skjær. I Devcon forklarte Vitalik Buterin skjær som dette: Tenk deg at eterum er delt inn i tusenvis av øyer. Hver øy kan gjøre sine egne ting. Hver av øya har sine egne unike egenskaper, og alle som tilhører den øya, dvs. kontoene, kan samhandle med hverandre OG de kan hengi seg fritt til alle funksjonene. Hvis de ønsker å komme i kontakt med andre øyer, må de bruke en slags protokoll. Så spørsmålet er, hvordan skal det endre blockchain? Hvordan ser en normal blokk i bitcoin eller ethereum (pre-sharding) ut? Så det er en blokkoverskrift og kroppen som inneholder alle transaksjonene i blokken. Merkle-roten til alle transaksjonene vil være i blokkoverskriften. Nå, tenk på dette. Trengte bitcoin virkelig blokker? Trengte det virkelig en blockchain? Satoshi kunne rett og slett ha laget en kjede av transaksjoner ved å inkludere hashen til den forrige transaksjonen i den nyere transaksjonen, og lage en “transaksjonskjede” så å si. Årsaken til at de ordner disse transaksjonene i en blokk er å skape ett nivå av interaksjon og gjøre hele prosessen mer skalerbar. Det eterum antyder, er at de endrer dette til to nivåer av interaksjon. Det første nivået Det første nivået er transaksjonsgruppen. Hver skjær har sin egen gruppe av en transaksjon. Bilde med tillatelse: Hackernoon Transaksjonsgruppen er delt inn i overskrift for transaksjonsgruppen og transaksjonsgruppe. Transaksjonsgruppehode Toppteksten er delt inn i forskjellige venstre og høyre deler. Den venstre delen: Shard ID: IDen til sharden som transaksjonsgruppen tilhører. Pre-state root: Dette er tilstanden til roten til skjær 43 før transaksjonene ble påført. Post state root: Dette er tilstanden til roten til skjær 43 etter at transaksjonene er påført. Mottaksrot: Mottaksroten etter alle transaksjonene i skjær 43 blir brukt. Den rette delen: Den rette delen er full av tilfeldige validatorer som trenger å verifisere transaksjonene i selve skjæringen. De er alle tilfeldig valgt. Transaksjonsgruppe Body Det har alle transaksjons-ID-ene i selve skjæret. Egenskaper på nivå 1 Hver transaksjon angir ID for skjær den tilhører. En transaksjon som tilhører et bestemt skjær viser at det har skjedd mellom to kontoer som er hjemmehørende i det aktuelle skjæret. Transaksjonsgruppen har transaksjoner som bare tilhører den skjerv-ID-en og er unike for den. Spesifiserer roten før og etter tilstand. La oss nå se på det øverste nivået, det andre nivået. Andre nivå bilde med tillatelse: Hackernoon. Ikke vær redd! Det er lettere å forstå enn det ser ut. Det er den vanlige blokkjeden, men nå inneholder den to primære røtter: Tilstandsroten Transaksjonsgruppen rot Tilstandsroten representerer hele staten, og som vi har sett før, deles staten opp i skjær, som inneholder sine egne substater. Transaksjonsgrupperoten inneholder alle transaksjonsgruppene i den aktuelle blokken. Egenskaper på nivå to Nivå to er som en enkel blockchain, som godtar transaksjonsgrupper i stedet for transaksjoner. Transaksjonsgruppen er bare gyldig hvis: a) Pre-state root samsvarer med shard-roten i den globale staten. b) Signaturene i transaksjonsgruppen er alle validert. Hvis transaksjonsgruppen kommer inn, blir den globale statsrot roten til tilstanden til den spesielle skjær-ID-en. Så hvordan skjer kommunikasjon på tvers av skjær? Husker du øy-analogien vår? Skjærene er i utgangspunktet som øyer. Så hvordan kommuniserer disse øyene med hverandre? Husk at formålet med skjær er å få mange parallelle transaksjoner til å skje samtidig for å øke ytelsen. Hvis eterum tillater tilfeldig kryss-shard-kommunikasjon, så beseirer det hele formålet med sharding. Så hvilken protokoll må følges for kryss-shard-kommunikasjon? ethereum valgte å følge kvitteringsparadigmet for kryss-shard-kommunikasjon. Sjekk dette: Bilde med tillatelse: hackernoon Som du kan se her, er det enkelt å få tilgang til hver enkelt mottakelse av enhver transaksjon via flere Merkle-trær fra transaksjonsgruppen Merkle root. Hver transaksjon i en skjær vil gjøre to ting: Endre tilstanden til skjæret den tilhører. Generer en kvittering. Her er en annen interessant informasjon. Kvitteringene lagres i et distribuert delt minne, som kan sees av andre skjær, men ikke endres. Derfor kan kryss-shard-kommunikasjonen skje via kvitteringene slik: Bilde med tillatelse: Hackernoon Hva er utfordringene med å implementere sharding? Det må være en mekanisme for å vite hvilken node som implementerer hvilken skjær. Dette må gjøres på en sikker og effektiv måte for å sikre parallellisering og sikkerhet. Bevis for stav må implementeres først for å gjøre skjæring lettere ifølge Vlad Zamfir. Nodene fungerer på et tillitsløst system, noe som betyr at node A ikke stoler på node B, og de bør begge komme til enighet uavhengig av den tilliten. Så hvis en bestemt transaksjon blir brutt opp i skjær og distribuert til node A og node B, må node A komme med en slags bevismekanisme for at de er ferdige med arbeidet fra deres del av skjæret. Hva er Ethereum-noder og skjæring: Konklusjon Når eterum utvides og innleder Metropolis og Serenity, blir skjæring mer og mer kritisk for deres vekst. Hvis ethereum planlegger å bli det nye internett, må de fikse problemer med skalerbarhet. De trenger absolutt å implementere og spikerskjæring for å sikre veksten. Spennende tider ligger foran eterum!

-AMAZONPOLLY-ONLYAUDIO-SLUTT-

“>

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