Proof of Work (PoW) vs. Proof of Stake (PoS): Sharding Edition
HodlX gjestepost Send inn innlegget ditt
Blockchain-skalerbarhetsproblemet er for tiden den viktigste begrensningen for masseadopsjon av blockchain-teknologi. I standard tillatelsesfri P2P-blockchain-design introdusert av Satoshi Nakamoto, må hver node behandle alle dataene i nettverket.
Imidlertid har noder i nettverket ofte forskjellige muligheter. I Nakamotos standarddesign er ytelsen til nettverket begrenset av ytelsen til de svakeste fullnodene i nettverket.
En naiv tilnærming for å skalere et blockchain-nettverk er å begrense nettverksdeltakelse for svake noder. I dette tilfellet er nettverket bare avhengig av såkalte “høye noder” med brede og raske nettverkstilkoblinger som kan behandle en stor mengde data.
Imidlertid blir et slikt nettverk uunngåelig mer sentralisert, ettersom vedlikeholdet av høye noder ofte er dyrere. I denne sammenheng oppnås derfor skalering på bekostning av desentralisering, som er kjent for å være den mest verdifulle funksjonen i blockchain-nettverk..
Forskere over hele verden har kommet med forskjellige forslag for å løse skalerbarhetsproblemet. Sharding anses å være den mest lovende. Likevel er det ingen felles visjon om hvordan man kan implementere skjæring for å finne det beste akseptable kompromisset blant de mange parametrene i nettverket.
Prosjekter som Ethereum 2.0, Algorand, Cardano, Near og Zilliqa har utviklet sine egne blockchain-design basert på sharding. Imidlertid har alle disse prosjektene et lignende mønster i designene. De er alle avhengige av en proof-of-stake (PoS) konsensusalgoritme og pseudo-tilfeldig utvalg av validatorer for skjærkomiteer.
For å delta i blokkvalideringsprosessen under PoS-sharding-tilnærmingen, låser hver deltaker noen mengder mynter i innsatsen. For eksempel i Ethereum 2.0 tilsvarer en innsats på minst 32 mynter 1 stemme under en blokkvalideringsrunde.
Det er viktig å merke seg at hver validator kan gjøre flere innsatser og samle flere stemmer. Som sådan kan brukeren som satset et spesifikt antall innsatser, bli en validator på et like antall forskjellige skjær basert på en pseudo-tilfeldig utvalgsmekanisme..
Noen talsmenn for PoS-sharding kombinerer ofte begrepet “stake” med “validator”. Jeg tror at mange lesere har sett fengende overskrifter om at et bestemt testnett av mynt X har tiltrukket seg over 20 tusen “validatorer”.
Dette estimatet handler imidlertid ikke om antall deltakere. Det handler om antall innsatser. Det er umulig å vite hvem som plasserte disse innsatsene. Det kan være tusen eller hundre interessenter. Det er også mulig at flertallet av eierandeler kontrolleres av en enkelt enhet. I dette tilfellet er det klart at nettverket er sentralisert.
Derfor er påstått merking av de ovennevnte innsatsene til denne enkeltenheten som separate validatorer ikke bare forvirrende og misvisende, men også ondsinnet..
Vår tilnærming er å skille deltakerne fra deres innsats. For å illustrere, la oss utføre noen beregninger. La oss anta at det er et D-antall forskjellige skjær i nettverket, og noen deltakere satser et S-antall innsatser.
Deretter er sannsynligheten for at denne deltakeren blir valgt som validator med en eller flere stemmer i den spesielle skjæringen av den ideelle pseudo-tilfeldige funksjonen.
Det er også en matematisk forventning om funksjonen som oppnår 1 hvis deltakeren er en validator, og 0 i motsatt tilfelle. Summen av disse funksjonene over alle skjærene er antall skjær som er validert av deltakerne.
Dermed er den matematiske forventningen om antall skjær validert av en deltaker gitt av formelen:
I Ethereum 2.0-testnettet er for eksempel antall skår D 64. I henhold til formelen vil en deltaker som låser 44 innsatser validere i gjennomsnitt 32 skjær.
Det betyr at denne deltakeren i gjennomsnitt vil administrere 32 skjær, eller nøyaktig halvparten av dataene i nettverket. Deltakeren vil laste ned og behandle halvparten av dataene i nettverket. Man kan hevde at halvparten ikke er helheten. PoS-skjæring ble annonsert som et stort gjennombrudd for å lindre belastningen på svake noder i systemet.
Dette er imidlertid ikke så stor forbedring, og slike deltakere vil fortsatt måtte behandle en stor arbeidsbelastning for å vedlikeholde systemet. Derfor vil svake noder ikke merke den forventede forbedringen i ytelse.
Man kan hevde at det ikke er behov for å låse 44 innsatser. Hvis deltakeren har begrensede ressurser, kan de låse en eller to innsatser og behandle en eller to skjær. Dessverre antar PoS-skjæringsdesignet at skjærkomiteer blandes hver epoke for å forhindre angrep fra adaptive motstandere..
Adaptive motstandere ødelegger målrettede noder, for eksempel gjennom DDoS eller formørkelsesangrep. Korrupte noder mister sin innsats på grunn av den underliggende straffen og forlater komiteen. Til slutt kunne en ondsinnet skuespiller få kontroll over hele komiteen. I
derimot, i PoW-systemet kan noden fortsette sitt arbeid umiddelbart etter angrepet.
Derfor er komite-blanding en viktig del av PoS-sharding. Etter slik omstøtning blir utvalgene valgt på nytt, og deltakerne blir tildelt som validatorer til andre skjær.
Dessverre, for å ærlig kunne utføre valideringsoppgavene og verifisere transaksjoner, må deltakere med en innsats laste ned tilstanden til skjæret. Dette er ganske stor trafikk.
Deltakerne bør kjenne til alle de ubrukte transaksjonene eller alle kontosaldoer for å fortsette arbeidet. Alternativet er å miste innsatsen eller bli en marionett av andre noder som har de nødvendige dataene.
La oss utføre noen beregninger. Anta at hver innsats er låst i rundt 180 dager, og hver innsats blir valgt som validator en gang om dagen. Legg merke til at formelen ovenfor fungerer perfekt også i dette tilfellet. Vi satte D = 64 og S = 180.
I gjennomsnitt vil denne deltakeren ende opp med å laste ned staten på 60 av 64 skjær. Det er nesten hele nettverket. Her er et annet eksempel. Anta at deltakeren har låst fire innsatser. Deretter, etter 11 dager, vil de laste ned nesten 32 skjær, noe som utgjør halvparten av nettverkets tilstand.
Likevel vurderer vi belastningen som bæres av mindre interessenter. Den andre siden av mynten representerer de velstående interessentene med mange innsatser. Tenk deg en server med 64 prosesseringsenheter som validerer 64 skjær, der hver behandlingsenhet verifiserer deres respektive skjær. Å administrere denne serveren er en ganske enkel oppgave.
Hver gang komiteomskifting skjer, er det ikke nødvendig å laste ned eller oppdatere noen skjervtilstander. Det er bare nødvendig å stokke nøklene som er knyttet til innsatsen mellom behandlingsenhetene i henhold til komiteens valgresultat.
Dermed er en operasjon som er kostbar for små interessenter relativt billig for en stor interessent som kjører disse 64 prosesseringsenhetene på serveren. Jeg tror den oppmerksomme leseren forstår at den nevnte serveren er en full node. Under denne utformingen vil de som har råd til å kjøre denne fulle noden spare mye mer penger på nettverkstrafikk.
Man kan hevde at 60 er mindre enn 64 og en halv av staten er ikke hele staten. Likevel er det ikke den etterlengtede løsningen som er verdt “et milliard dollar budsjett og 10 års utvikling”.
Likevel må små interessenter med svake noder håndtere en enorm mengde data eller en enorm mengde nettverkstrafikk. Dette kravet overgår helt hensikten med skalering gjennom skjæring.
Ulike prosjekter som setter målet om å implementere bevis for stavdeling, kan ha forskjellige skjærdetall, utvalgskomferingsintervaller og tidsintervaller for å låse en stav.
Imidlertid kan man observere “ytelse under forventningene” for ethvert praktisk sett med parametere. Når slike prosjekter står overfor “lanseringsforsinkelser”, presenterer kjerneteamene dem ofte som utviklingsspørsmål. Imidlertid er de, som jeg nettopp beskrev, enkle designfeil som ligger i PoS-skjæring.
Interessant nok var det ikke behov for å implementere skjæring basert på bevis på innsats for å redusere arbeidsmengden til små deltakere. La oss forestille oss at prosjektet foreslår skjæring basert på bevis på arbeid.
I motsetning til PoS-design, tilbyr den en innstilling som er praktisk for svake noder, slik at de kan håndtere arbeidsbelastningen. I dette tilfellet blir alle deltakerne belønnet proporsjonalt til deres innsats i nettverksvedlikehold. Som et resultat er det fortsatt lønnsomt å kjøre svake noder.
En annen fordel med PoW-skjæring er fraværet av typiske problemer for PoS, dvs. ingenting som står på spillangrep og angrep på sliping av stavene. Som et resultat gir bevis på arbeid en bedre avveining for skalering enn den som proke av stav kan.
Vinod Manoharan er en teknologientreprenør og grunnlegger og administrerende direktør for Jax Multiversal Holdings, et holdingselskap hvis portefølje inkluderer online spillselskaper, betalingsportaler og Blockchain-teknologiselskaper. Manoharan er også grunnleggeren av JAX.Network, en teknisk oppstart i Ukraina, fokusert på Blockchain-teknologi og mer spesifikt, å løse det beryktede Blockchain Scalability Trilemma.
Utvalgt bilde: Shutterstock /wirow