I mitt forrige innlegg om DLT kom jeg inn på konseptet Proof of Work og nevnte i forbifarten Proof of Stake. I denne bloggen utdyper jeg disse konseptene og hvordan de er grunnleggende for ideen om en tillitsløs distribuert konsensus.
Først må vi beskrive hva problemet er som vi prøver å løse. Bitcoin satte seg for å løse det kompliserte problemet med å skape tillit mellom en gruppe tillitsløse agenter.
Så hva er dette problemet? En person ber om å få låne penger av deg og godtar å betale deg tilbake i morgen. Siden du stoler på, låner du dem ti dollar. Dagen etter ber du om pengene tilbake, svarer de at de aldri har lånt pengene av deg. Hva gjør du? Det var ingen transaksjonspost; du har ikke mye av en utvei. Du blir sannsynligvis mindre tillitsfull i fremtiden. Neste gang du legger inn en transaksjon av denne typen involverer du en tredjepart for å holde styr på transaksjonen. Når låntakeren misligholder, kan du hente inn tredjeparten for å attestere at transaksjonen skjedde. Hvis låntakeren nekter å betale deg tilbake, kan du gå til rettssystemet og be dem om å gripe inn på dine vegne. Ideelt sett er tredjeparten en person som er pålitelig, sier en advokat, og transaksjonen kan notariseres for å bevise ektheten. Tenk deg at du ønsker å gjøre dette i massiv skala med folk som ikke er i samme land som deg. Det er forskjellige rettssystemer, forskjellige muligheter, oh hodepine.
Den distribuerte hovedboken tar sikte på å erstatte den juridiske strukturen med identitet av eierskap, kryptografiske notariseringer og en måte å etablere tillit på. Den første delen er rimelig grei. Vi har hver en identitet; i form av en privat nøkkel; vi kan bruke denne identiteten til å "signere" alle vilkårlige data.
På sitt enkleste kan innehaverne av skamnøkkelen bevise med eksepsjonelt høy sikkerhet at signaturen tilhører innehaveren av den private nøkkelen og kun den ene private nøkkelen. Denne digitale signaturen er et overbevisende konsept ettersom den lar alle med en privat nøkkel hevde at de eier den private nøkkelen. Det er trygt å gi den offentlige nøkkelen til hvem som helst, siden det ikke er mulig å ta den offentlige nøkkelen og lage en privat nøkkelkopi. Bare pass på at du ikke mister din private nøkkel!
Notarisering følger naturlig av identitet; hvis en part signerer en melding, kan en tredjepart kontrasignere den signerte meldingen. Hvis du stoler på identiteten til den notariserende parten, har du den offentlige nøkkelen deres, og du vet hvem de er; de kan komme med uttalelser om den opprinnelige parten, slik som jeg kjenner denne personen, og du kan stole på dem. Du kan observere denne forestillingen om tillit over hele internett hver gang du besøker et kryptert nettsted; du stoler på et sertifikat som er attestert gjennom en tillitskjede. På toppen av denne kjeden er en rotenhet; i dette eksemplet er det «Baltimore CyberTrust Root».
Denne tillitskjeden etterlater oss fortsatt med et problem. Hvis du ikke vet eller ikke vil stole på noen sentral part, hvordan notariserer du transaksjoner slik at de kan være ugjendrivelige? Den klassiske BlockChain løser dette problemet ved en prosess som kalles gruvedrift. Gruvedrift kan stort sett deles inn i to kategorier, bevis på arbeid og bevis på innsats. Vi vil snakke om det snart.
Først bør vi henvende oss til elefanten i rommet, den såkalte tillatelsesbaserte blokkjeden. I løpet av de siste årene har mange eksempler på disse kjedene dukket opp, vanligvis tilbudt som høyytelsesalternativer til de tillitsløse blokkjedene. Gruvedriftens natur er at det tar tid og har en kostnad. Disse tillatelsesbaserte kjedene identifiserer en eller flere pålitelige grupper som utfører notarisering av meldinger i kjeden. Hvis det er en feil eller en endring av sinnet, kan disse betrodde notarene omskrive historien, og hvis de er dårlige skuespillere, kan de handle på vegne av andre for å lure. I vårt opprinnelige eksempel har en elendig notarius potensial til å stille seg på side med personen som låner pengene.
Fra tillitsperspektivet kan man argumentere for at en tillatelsesbasert kjede ikke er bedre enn å ha en administrert og drevet database av en tredjepart. Det er fortsatt fordeler med den digitale hovedboken i disse tilfellene; for eksempel har hver part en full kopi av hovedboken, transaksjoner er standardiserte og kryptografisk signering av transaksjoner. Den digitale signeringen er en overbevisende grunn i seg selv, tenk å sjekke en menneskelig signatur kontra dens digitale motpart. Kompleksitet, ytelse og operasjonelle hensyn er generelt lettere å løse i en tradisjonell database enn med DLT.
Vi kommer nå tilbake til gruvedrift. Innerst inne er gruvedrift en operasjon som viser at en aktør, vanligvis referert til som en node, har bygget tilstrekkelig tillit til at den kan signere et sett med transaksjoner (blokken i blockchain) for å si at transaksjonene er konsistente og dobbeltbruker gratis. Double-spend er en enkel forestilling i den 'virkelige verden'; hvis jeg gir deg en dollarseddel, kan jeg bare gi deg den nøyaktige regningen én gang med mindre du senere ga den tilbake til meg. I den digitale verden er dette et mye mer komplekst problem. Klassiske databaser løser dette ved å implementere transaksjoner. Du vil ofte høre dette referert til som en ACID-transaksjonsgaranti.
I et tradisjonelt dobbeltbokføringssystem registrerer hovedboken bevegelsen av en eiendel fra en konto (eller lommebok) til en annen. For en hovedbok som sporer én enkelt valuta, kan du håndheve to hovedegenskaper. For det første beholder hovedboken det totale antallet av en gitt eiendel i hovedboken på tvers av alle bevegelsestransaksjoner. Du kan ikke opprette eller ødelegge med mindre en spesifikk ensidig transaksjon støttes. For det andre kan du sørge for at du bare kan flytte en eiendel fra en lommebok til en annen lommebok hvis kildelommeboken har en forekomst av den ressursen tilgjengelig. I en transaksjon med flere lommebøker må alle lommebøker forbli i balanse etter transaksjonen. Disse reglene kan generaliseres til en transaksjon med flere eiendeler ved å sikre at kostnaden (verdien av hver eiendel konvertert til en felles eiendel) summerer seg til null over transaksjonen. Multi-aktiva modellen er en lengre dekningsbetingelse.
For en DLT må alle overføringer av tokens (eller eiendeler) følge reglene ovenfor. Vanligvis er den eneste ensidige transaksjonen som støttes av kjeden å skape nye tokens gjennom gruveprosessen. Så hvordan gjør en distribuert hovedbok dette?
Vi tar først tak i Proof of Work da det er det mest etablerte systemet. I Proof of Work «kappløper» hver gruve node i systemet mot hverandre for å finne en løsning på et tilstrekkelig komplekst problem. For Bitcoin beregner dette problemet hashen til dataene i blokken og legger til en "nonce" (et heltall) verdi for å beregne blokkens kryptografiske hash. Mining er vellykket når den siste hashen nevnt ovenfor har et spesifikt antall innledende nuller i sin binære representasjon. Nonce oppdateres gjentatte ganger til en løsning er funnet. I virkeligheten er det litt mer komplekst enn dette, med flere hasher som forekommer.
Hver gruvearbeider er i stand til å utføre et fast antall hash-beregninger på et sekund. Maskinvaren til beregningsnoden setter denne grensen. Problemets vanskelighetsgrad er justert slik at summen av alle gruvearbeidernes hash-rater vil finne en blokk på omtrent ti minutter. Nettverket justerer vanskelighetsgraden for å ta hensyn til gjeldende hash-rate. I skrivende stund har Bitcoin-nettverket en hash-rate på hundre og åtti millioner terra-hasjer per sekund. Denne hashhastigheten er en enorm mengde beregningskraft og peker på en av Bitcoins betydelige debatter, dens innvirkning på miljøet. Selv om prisene på fornybar energi faller under andre energiformer, gir lønnsomhet i gruvedrift et insentiv til å bytte til den laveste kraftkilden; hvor sant dette er vil spille seg ut i løpet av de neste årene.
En av "feilene" som ofte identifiseres i Bitcoin-gruveprotokollen er å trivielt lamme hashing-operasjonen. Denne funksjonen har ført til betydelig sentralisering av hashing-kraft og beseirer uten tvil noe av den desentraliserte utformingen av kjeden. Å samle hasjer sammen er kjent som pool mining. Solo gruvedrift er verdiløs for alle hensikter; oddsen på at en enkelt node i nettverket finner en løsning på egen hånd før de sammenslåtte hashene er uendelig små. Bassenger deler belønningene fra gruvedrift i direkte forhold til hash-raten som er donert til bassenget. Selv om du ikke får den store utbetalingen, kan du få et lite beløp hver gang et basseng miner en blokk. Et lite antall bassenger (8) utgjør et overflertall av hashkraft. Hvis disse bassengene skulle konspirere sammen, har de mulighet til å ta valg om fremtidige regler for kjeden.
Proof of Work gir tillit og integritet når det er dyrere å enten omskrive kjedens historie eller kontrollere nok hash-rate (større enn 6.25 prosent) til å endre protokollen for å gagne en part fremfor en annen enn å ta gruvebelønningen. Gruvebelønningen er definert som en del av Bitcoin-protokollen og inkluderer nylig pregede mynter og gebyrer for transaksjonene som behandles i blokken. For øyeblikket er gruvebelønningen for en blokk XNUMX BTC, pluss transaksjonsgebyrene. Denne belønningen er mer enn tre hundre tusen dollar per blokk. Hver dag skrives det ut hundre og førtifire blokker, som genererer nærmere førtifem millioner dollar i gruveinntekter.
Gruvearbeidere har et sterkt insentiv til å gjøre det rette. Dette økonomiske insentivet oppmuntrer også gruvearbeidere til å investere i mer gruvemaskinvare og bidrar til å sikre at ingen gruppe har majoritetskontroll over kjeden. Det er selve "kostnaden" ved gruvedrift som gir denne garantien. Etter hvert som verdien av Bitcoin øker, øker også insentivet til å utvinne mer.
Nyere kjeder som Ethereum implementerer Proof of Work ved å bruke forskjellige algoritmer. I dag er det mange alternativer, de mest bemerkelsesverdige er de som utleder arbeid fra kostnadene ved å flytte data i minnet (dette er hvordan Etherium fungerer) kontra rå datakraft. Ved å "båndbredde" begrense Proof of Work-kjedene som Etherium muliggjør lønnsom gruvedrift på sluttbrukervaremaskinvare (GPUer). For å være lønnsomt i utvinning av Bitcoin, må man investere i tilpasset ASIC-maskinvare.
Proof of Stake er en ny erstatning for Proof of Work som forsøker å takle energiforbruket (og maskinvarekappløpet) som gjennomsyrer de nåværende generasjonene av kjeder. I Proof of Stake legger gruvearbeidere ut (eller satser) en mengde av kjedens valuta slik at de får en belønning for å signere en blokk, i form av transaksjonsgebyrer, og står til å miste innsatsen hvis de signerer en blokk på en måte som er i strid med kjederegelen. Dvs. Ingen dobbeltforbruk.
La oss prøve et enkelt tankeeksperiment. Tenk på et rom med syv personer i det, hver plasser en hundre-dollarseddel på et bord midt i rommet. Disse pengene er deres innsats; nå, to av de syv går med på en avtale, vil den ene låne de andre ti dollarene tilbake neste dag. De skriver ned avtalen på en lapp og legger den på stavbordet. Vi velger nå, tilfeldig, en av de syv personene i rommet til å notarisere dokumentet. De leser avisen og legger til signaturen sin for å si at dette er en gyldig transaksjon. De andre seks kan undersøke dokumentet og validere at vilkårene for transaksjonen er i samsvar med reglene i rommet. Forutsatt at alle er enige, er transaksjonen bindende. Hver av personene i rommet får en liten betaling for å validere transaksjonen. Folket som gjorde handelen ga gebyret. Denne avgiften gir kompensasjon for å ha eiendeler innelåst som innsats.
Tenk deg nå at personen som er valgt til å validere, er en av de to personene som er en del av transaksjonen eller samarbeidet. De signerer dokumentet selv om det bryter med reglene i rommet. Nå når de andre personene i rommet validerer handelen og mer enn femti prosent av rommet indikerer at denne kontrakten er ugyldig, blir handelen angret. Innsatsen som tilhører verifikatoren fjernes fra bordet og deles likt mellom de andre seks personene. Den syvende personen har ikke lenger en innsats og kan ikke lenger delta i valideringen, og de er ute av sin innsats på hundre dollar. Siden innsatsverdien oppveide verdien av valideringstransaksjonen, er det ikke i personens interesse å lyve.
Når du har mer enn femti prosent av deltakernes handling ærlig, fungerer systemet. For dette får de beholde sin innsats, og de får rimelig kompensert for handlingene sine. Mens for en transaksjon kan det være verdt å svindle systemet; når du ser på totalen, er det overveldende i deres interesse å oppføre seg ærlig.
En interessant observasjon om bevis på innsats er at det må gjenstandene du satser for å være verdifulle. Denne observasjonen er en av kjernegrunnene til at Ethereum startet med et Proof of Work-system og jobber med å bytte til Proof of Stake nå som Ether er høyt verdsatt.
Vi har ennå ikke sett et Proof of Stake-system som fungerer i stor skala med høy risiko, i løpet av de neste årene vil vi se hvor godt de erstatter Proof of Work.
Jeg håper denne bloggen hjelper til med å forklare noen av vilkårene, neste gang videre til Smart Contracts.
- Logg inn
- agenter
- Avtale
- algoritmer
- Alle
- ASIC
- eiendel
- Eiendeler
- autentisitet
- Bill
- Bitcoin
- Bitcoin gruvedrift
- blockchain
- Blogg
- Låne
- BTC
- sertifikat
- endring
- kontroll
- Mynter
- handelsvare
- Felles
- Kompensasjon
- Beregn
- selvtillit
- Konsensus
- forbruk
- kontrakt
- kontrakter
- Opprette
- valuta
- Gjeldende
- dato
- Database
- databaser
- dag
- avtale
- desentralisert
- utforming
- ødelegge
- digitalt
- Distribuert Ledger
- DLT
- Dollar
- dollar
- dobbeltbruk
- økonomisk
- energi
- Miljø
- Eter
- ethereum
- EU
- EV
- Expand
- eksperiment
- Trekk
- avgifter
- Først
- skjema
- Gratis
- fullt
- framtid
- Gruppe
- maskinvare
- hash
- hash rate
- hashing
- Høy
- historie
- Hvordan
- hr
- HTTPS
- ia
- Tanken
- identifisere
- Identitet
- Påvirkning
- interesse
- Internet
- IT
- nøkkel
- føre
- ledende
- Ledger
- Lovlig
- Flertall
- Making
- medium
- millioner
- Miners
- Gruvedrift
- modell
- penger
- flytte
- flere aktiva
- nettverk
- Forestilling
- Opportunity
- alternativer
- Annen
- Papir
- Betale
- betaling
- Ansatte
- ytelse
- perspektiv
- basseng
- pools
- makt
- privat
- private Key
- lønnsomhet
- bevis
- offentlig
- offentlig Key
- Race
- priser
- Raw
- Reality
- grunner
- poster
- fornybar energi
- inntekter
- Belønninger
- Risiko
- regler
- trygge
- Skala
- valgt
- sett
- Del
- Skilt
- Enkelt
- SIX
- liten
- Smart
- Smarte kontrakter
- So
- LØSE
- bruke
- splittet
- stake
- staking
- startet
- Tilstand
- vellykket
- Støttes
- Bytte om
- system
- Systemer
- Earth
- Kilden
- tid
- tokens
- topp
- Sporing
- handel
- Transaksjonen
- Transaksjoner
- Stol
- us
- verdi
- verdsatt
- lommebok
- Lommebøker
- Nettsted
- Hva er
- HVEM
- Arbeid
- virker
- verden
- verdt
- skriving
- år
- null