Å få en dypere forståelse av et populært – men mye misforstått – konsept innen blokkjedeteknologi: konsensusalgoritmen.
Cointelegraph følger utviklingen av en helt ny blockchain fra start til mainnet og videre gjennom sin serie Inside the Blockchain Developer's Mind. I tidligere deler diskuterte Andrew Levine fra Koinos Group noen av utfordringene teamet har møtt siden de identifiserte nøkkelproblemene de har til hensikt å løse, og skisserte tre av «krisene» som holder tilbake blockchain-adopsjon: oppgraderingsevne , skalerbarhet og styring . Denne serien er fokusert på konsensusalgoritmen: Del 1 handler om proof-of-work , del 2 handler om proof-of-stake og del 3 handler om proof-of-burn.
Denne artikkelen er den andre i serien min om konsensusalgoritmer, der jeg utnytter mitt unike perspektiv for å hjelpe leseren til å få en dypere forståelse av dette ofte misforståtte konseptet. I den første artikkelen i serien utforsket jeg proof-of-work (OG-konsensusalgoritmen), og i denne artikkelen skal jeg utforske proof-of-stake.
Som jeg forklarte i forrige artikkel, fra et spillteoretisk perspektiv, er blokkjeder et spill der spillere konkurrerer om å validere transaksjoner ved å gruppere dem i blokker som matcher blokkene med transaksjoner som opprettes av andre spillere. Kryptografi brukes til å skjule dataene som vil tillate disse menneskene å jukse, og deretter brukes en tilfeldig prosess for å distribuere digitale tokens til folk som spiller etter reglene og produserer blokker som samsvarer med blokkene som er sendt inn av andre mennesker. Disse blokkene blir deretter lenket sammen for å lage en verifiserbar registrering av alle transaksjonene som noen gang ble utført på nettverket.
Når folk produserer nye blokker med forskjellige transaksjoner i dem, kaller vi dette en "gaffel", fordi kjeden nå deler seg i to forskjellige retninger, og det som sikrer at alle oppdaterer databasen for å matche hverandre, er hvordan de blir straffet når de ikke.
Den virkelige innovasjonen i Bitcoin ( BTC ) var etableringen av et elegant system for å kombinere kryptografi med økonomi for å utnytte elektroniske mynter (nå kalt "kryptovalutaer") for å bruke insentiver for å løse problemer som algoritmer alene ikke kan løse. Folk ble tvunget til å utføre meningsløst arbeid for å utvinne blokker, men sikkerheten stammer ikke fra utførelse av arbeid, men kunnskapen om at dette arbeidet ikke kunne ha blitt oppnådd uten ofring av kapital. Hvis dette ikke var tilfelle, ville det ikke vært noen økonomisk komponent i systemet.
Verket er en verifiserbar proxy for ofret kapital. Fordi nettverket ikke har noen mulighet til å "forstå" penger som er utenfor det, måtte det implementeres et system som konverterte det eksterne insentivet (fiat-valuta) til noe nettverket kan forstå – hashes. Jo flere hashes en konto skaper, desto mer kapital må den ha ofret, og jo mer incentivert er det for å produsere blokker på riktig gaffel.
Siden disse menneskene allerede har brukt pengene sine på å skaffe seg maskinvare og kjøre den for å produsere blokker, er deres oppmuntrende straff lett fordi de allerede har blitt straffet! De brukte pengene sine, så hvis de vil fortsette å produsere blokker på feil kjede, er det greit. De vil ikke tjene noen belønninger og de vil ikke tjene pengene tilbake. De vil ha ofret pengene for ingenting. Blokkene deres vil ikke bli akseptert av nettverket, og de vil ikke tjene noen tokens.
Dette proof-of-work-systemet sikrer at den eneste måten noen som ikke ønsker å spille etter reglene (også kalt en ondsinnet aktør) er å anskaffe og kjøre mer maskinvare enn alle andre til sammen (dvs. å sette i gang et 51 % angrep). Dette er elegansen bak proof-of-work. Systemet kan ikke fungere uten å ofre stadig økende mengder kapital. Proof-of-stake fungerer imidlertid på en fundamentalt annen måte som har viktige spilteoretiske konsekvenser.
Relatert: Bevis på innsats vs. bevis på arbeid: Forskjeller forklart
Bevis for innsats
Proof-of-stake (PoS) ble først foreslått i 2011 av Bitcointalk-forummedlemmet QuantumMechanic som et mindre kostbart (for gruvearbeideren) alternativ til bevis-på-arbeid:
"Jeg lurer på om etter hvert som bitcoins blir mer utbredt, kan det skje en overgang fra et arbeidsbevisbasert system til et bevis på innsats. Det jeg mener med bevis på innsats er at i stedet for at din "stemme" på den aksepterte transaksjonshistorikken vektes av andelen dataressurser du bringer til nettverket, blir den vektet av antall bitcoins du kan bevise at du eier, ved å bruke din private nøkler."
I stedet for å tvinge blokkprodusenter til å ofre kapital for å anskaffe og drive maskinvare for å få muligheten til å tjene blokkbelønninger, trenger token-innehaverne bare å ofre likviditeten til kapitalen for å tjene blokkbelønninger. Folk som allerede har tokenet til et nettverk, kan tjene enda mer av det tokenet hvis de gir fra seg retten til å overføre disse tokenene i en periode.
Dette er et attraktivt tilbud til folk som er vant til å ofre penger for å kjøpe og kjøre maskinvare for å tjene blokkbelønninger. Proof-of-work er flott for oppstart av en kryptovaluta, men når den fasen er over, finner innehaverne av denne verdifulle valutaen seg nødt til å bytte ut fruktene av arbeidet sitt – den verdifulle valutaen – mot en ekstern valuta (ofte, fiat-valuta de tilsynelatende konkurrerer med) for å kjøpe kapitalutstyr og energi bare for å vedlikeholde systemet.
Relatert: Proof-of-stake vs. proof-of-work: Hvilken er "rettferdigere"?
Proof-of-stake er flott for å gjøre det mulig for disse menneskene å øke fortjenestemarginene sine samtidig som de kan opprettholde kontrollen over nettverket. Problemet er at det reduserer nettverkssikkerheten fordi den ondsinnede aktøren ikke lenger trenger å ofre pengene sine på en stor mengde maskinvare og kjøre den for å sette i gang et angrep. Angriperen trenger bare å anskaffe 51 % av basisvalutaen til plattformen og satse den for å ta kontroll over nettverket.
For å hindre dette angrepet, må PoS-systemer implementere tilleggssystemer for å "skjære" blokkbelønningene til en validator som viser seg å ha produsert irreversible blokker på en "tapende" kjede ("slashing conditions"). Ideen er at hvis noen skaffer seg 49% av tokenforsyningen og bruker den innsatsen til å produsere blokker på en tapende gaffel, vil de miste sine stakede tokens på hovedkjeden.
Dette er kompliserte systemer designet for å "kloke tilbake" blokkere belønninger fra brukerkontoer, noe som øker de beregningsmessige overheadene til nettverket samtidig som det vekker legitime etiske bekymringer ("Er det pengene mine hvis de kan kuttes?"). De fungerer også bare hvis angriperen ikke klarer å skaffe seg 51 % av tokenforsyningen. Dette er spesielt problematisk i en verden med sentraliserte børser som har custodial staking. Dette betyr at det er fullt mulig for en børs å finne seg selv i kontroll over over 51 % av en gitt token-tilførsel uten å ha pådratt seg noen risiko, noe som gjør kostnadene ved et angrep de minimis . Faktisk har dette allerede skjedd i nyere historie på en av de mest brukte blokkjedene i verden, en gang verdsatt til nesten 2 milliarder dollar: Steem.
En utmerket historie om den hendelsen finner du her . De viktige detaljene for våre formål, ifølge den kontoen, er at midlene holdt av tre børser ble brukt til å oppnå 51% kontroll over en stor blokkjede. Med det mest veldedige perspektivet av alle deltakerne "kostet" det ganske enkelt alle disse enhetene veldig lite å ta kontroll over kjeden fordi de hadde skaffet seg store eierandeler til svært lave kostnader. Faktisk blir sentraliserte børser bokstavelig talt betalt for å akkumulere store innsatser fordi formålet deres er å fungere som sentraliserte voktere av tokens.
Relatert: Hvordan Steem-sagaen avslører farene ved å satse bassenger
Å implementere disse kuttbetingelsene er på ingen måte trivielt, og det er grunnen til at så mange proof-of-stake-prosjekter som Solana, etter egen innrømmelse, har lansert med sentraliserte løsninger på plass, og hvorfor så mange andre prosjekter (som ETH 2.0) tar det slik. lenge å implementere PoS. Den typiske løsningen er å gi en stiftelse en stor nok innsats slik at den alene har makten til å bestemme hvem som er en ondsinnet skuespiller og kutte belønningene deres.
For å oppsummere er proof-of-work bra for oppstart av desentralisering, men det er ineffektivt. Proof-of-stake er bra for å senke driftskostnadene til et desentralisert nettverk i forhold til proof-of-work, men det forskanser gruvearbeidere ytterligere, krever komplekse og etisk tvilsomme slashing-forhold, og klarer ikke å forhindre «utvekslingsangrep».
Det jeg vil diskutere i min neste artikkel er det hypotetiske spørsmålet om det finnes en "best of both worlds"-løsning som gir desentralisering og sikkerhet for bevis-på-arbeid med effektiviteten til bevis-av-innsats. Så følg med!
Synspunktene, tankene og meningene som uttrykkes her er forfatterens alene og gjenspeiler eller representerer ikke nødvendigvis synspunktene og meningene til Cointelegraph.