I mit tidligere indlæg om DLT kom jeg ind på begrebet Proof of Work og nævnte i flæng Proof of Stake. I denne blog uddyber jeg disse begreber, og hvordan de er grundlæggende for ideen om en tillidsløs distribueret konsensus.
Først skal vi beskrive, hvad problemet er, som vi forsøger at løse. Bitcoin satte sig for at løse det komplicerede problem med at skabe tillid mellem en gruppe af tillidsløse agenter.
Så hvad er dette problem? En person beder om at låne nogle penge af dig og indvilliger i at betale dig tilbage i morgen. Da du har tillid, låner du dem ti dollars. Næste dag du beder om dine penge tilbage, svarer de, at de aldrig har lånt pengene af dig. Hvad laver du? Der var ingen transaktionsregistrering; du har ikke meget af en udvej. Du bliver sandsynligvis mindre tillidsfuld i fremtiden. Næste gang du indtaster en transaktion af denne type, involverer du en tredjepart til at holde styr på transaktionen. Når låntageren misligholder, kan du hente tredjeparten til at attestere, at transaktionen er sket. Hvis låntager nægter at betale dig tilbage, kan du gå til retssystemet og bede dem om at gribe ind på dine vegne. Ideelt set er tredjeparten en person, man stoler på, siger en advokat, og transaktionen kan notariseres for at bevise dens ægthed. Forestil dig, at du vil gøre dette i massivt omfang med mennesker, der ikke er i samme land som dig. Der er forskellige juridiske systemer, forskellige muligheder, åh hovedpine.
Den distribuerede hovedbog har til formål at erstatte den juridiske struktur med identitet af ejerskab, kryptografiske notariseringer og en måde at etablere tillid på. Den første del er rimelig ligetil. Vi har hver især en identitet; i form af en privat nøgle; vi kan bruge denne identitet til at 'signere' enhver vilkårlig data.
På det enkleste kan indehaverne af skambenøglen med usædvanlig høj sikkerhed bevise, at signaturen tilhører indehaveren af den private nøgle og kun den ene private nøgle. Denne digitale signatur er et overbevisende koncept, da det giver enhver med en privat nøgle mulighed for at hævde, at de ejer den private nøgle. Det er sikkert at give den offentlige nøgle til nogen, da der ikke er nogen måde at tage den offentlige nøgle og oprette en privat nøglekopi. Bare sørg for at du ikke mister din private nøgle!
Notarisering følger naturligt af identitet; hvis en part underskriver en meddelelse, kan en tredjepart kontrasignere den underskrevne meddelelse. Hvis du stoler på den notargivende parts identitet, har du deres offentlige nøgle, og du ved, hvem de er; de kan komme med udtalelser om den oprindelige part, som jeg kender denne person, og du kan stole på dem. Du kan observere denne forestilling om tillid overalt på internettet, hver gang du besøger et krypteret websted; du stoler på et certifikat notariseret gennem en tillidskæde. I toppen af denne kæde er en rod enhed; i dette eksempel er det 'Baltimore CyberTrust Root'.
Denne tillidskæde efterlader os stadig med et problem. Hvis du ikke kender eller ikke ønsker at stole på nogen central part, hvordan notariserer du så transaktioner, så de kan være uigendrivelige? Den klassiske BlockChain løser dette problem ved en proces kaldet mining. Minedrift kan groft sagt opdeles i to kategorier, bevis for arbejde og bevis for indsats. Det vil vi tale om inden længe.
Først bør vi henvende os til elefanten i rummet, den såkaldte tilladelsesbaserede blockchain. I løbet af de sidste par år er der opstået mange eksempler på disse kæder, typisk tilbudt som højtydende alternativer til de tillidsløse blockchains. Naturen ved minedrift er, at det tager tid og har en omkostning. Disse tilladelsesbaserede kæder identificerer en eller flere betroede grupper, som udfører notarisering af meddelelser i kæden. Hvis der er en fejl eller en ændring i sindet, kan disse betroede notarer omskrive historien, og hvis de er dårlige skuespillere, kan de handle på vegne af andre for at bedrage. I vores oprindelige eksempel har en elendig notar potentiale til at stille sig på side med den person, der låner pengene.
Fra et tillidsperspektiv kan man argumentere for, at en tilladelsesbaseret kæde ikke er bedre end at have en administreret og drevet database af en tredjepart. Der er stadig fordele ved den digitale hovedbog i disse tilfælde; for eksempel har hver part en fuld kopi af hovedbogen, transaktioner er standardiserede og kryptografisk signering af transaktioner. Den digitale signatur er en overbevisende grund i sig selv, tænk at kontrollere en menneskelig signatur i forhold til dens digitale modstykke. Kompleksitet, ydeevne og operationelle overvejelser er generelt nemmere at løse i en traditionel database end med DLT.
Vi kommer nu tilbage til minedrift. Grundlæggende er minedrift en operation, der viser, at en aktør, sædvanligvis omtalt som en node, har opbygget tilstrækkelig tillid til, at den kan underskrive et sæt transaktioner (blokken i blockchain) for at fastslå, at transaktionerne er konsistente og dobbeltudgifter. gratis. Dobbeltforbrug er et simpelt begreb i den 'virkelige verden'; hvis jeg giver dig en dollarseddel, kan jeg kun give dig den nøjagtige regning én gang, medmindre du efterfølgende har givet mig den tilbage. I den digitale verden er dette et meget mere komplekst problem. Klassiske databaser løser dette ved at implementere transaktioner. Du vil ofte høre dette omtalt som en ACID transaktionsgaranti.
I et traditionelt dobbelt bogføringssystem registrerer hovedbogen bevægelsen af et aktiv fra en konto (eller tegnebog) til en anden. For en hovedbog, der sporer en enkelt valuta, kan du håndhæve to hovedegenskaber. For det første bevarer hovedbogen det samlede antal af et givet aktiv i hovedbogen på tværs af alle bevægelsestransaktioner. Du kan ikke oprette eller ødelægge, medmindre der er en specifik ensidig transaktion understøttet. For det andet kan du sikre dig, at du kun kan flytte et aktiv fra én tegnebog til en anden tegnebog, hvis kildepungen har en forekomst af dette aktiv tilgængelig. I en multi-wallet-transaktion skal alle wallets forblive i balance efter transaktionen. Disse regler kan generaliseres til en transaktion med flere aktiver ved at sikre, at omkostningerne (værdien af hvert aktiv konverteret til et fælles aktiv) summer til nul på tværs af transaktionen. Multi-aktiv-modellen er en længere dækning.
For en DLT skal alle overførsler af tokens (eller aktiver) overholde reglerne ovenfor. Typisk er den eneste ensidige transaktion, der understøttes af kæden, at skabe nye tokens gennem minedriftsprocessen. Så hvordan gør en distribueret hovedbog dette?
Vi tager først fat på Proof of Work, da det er det mest etablerede system. I Proof of Work 'ræser' hver mineknude i systemet mod hinanden for at komme med en løsning på et tilstrækkeligt komplekst problem. For Bitcoin beregner dette problem hashen af dataene i blokken og tilføjer en 'nonce' (et heltal) værdi for at beregne blokkens kryptografiske hash. Mining er vellykket, når den sidste hash nævnt ovenfor har et specifikt antal foranstillede nuller i sin binære repræsentation. Nonce opdateres gentagne gange, indtil en løsning er fundet. I virkeligheden er det lidt mere komplekst end dette, hvor der forekommer flere hashes.
Hver minearbejder er i stand til at udføre et fast antal hash-beregninger på et sekund. Computerknudepunktets hardware sætter denne grænse. Problemets sværhedsgrad er justeret, så summen af alle minearbejderes hash-rater vil finde en blokering om cirka ti minutter. Netværket justerer sværhedsgraden for at tage højde for den aktuelle hash-rate. I skrivende stund har Bitcoin-netværket en hash-rate på hundrede og firs millioner terra-hashes i sekundet. Denne hash-rate er en enorm mængde beregningskraft og peger på en af Bitcoins væsentlige debatter, dens indvirkning på miljøet. Selvom priserne på vedvarende energi falder under priserne for andre energiformer, giver minedriftsrentabiliteten et incitament til at skifte til den laveste energikilde; hvor sandt dette er, vil vise sig i løbet af de næste par år.
En af de 'fejl', der ofte identificeres i Bitcoin-mineprotokollen, er at trivielt lamme hashing-operationen. Denne funktion har ført til en betydelig centralisering af hash-kraft og besejrer uden tvivl noget af det decentraliserede design af kæden. At samle hash sammen er kendt som pool mining. Solo minedrift er værdiløs i alle henseender og formål; oddsene på, at en enkelt knude i netværket finder en løsning på egen hånd, før de samlede hashes er uendeligt små. Puljer deler belønningerne fra minedrift i direkte forhold til hash-raten doneret til puljen. Selvom du ikke får den store udbetaling, kan du få et lille beløb hver gang en pulje udvinder en blok. Et lille antal puljer (8) udgør et superflertal af hashkraft. Hvis disse puljer skulle konspirere sammen, har de mulighed for at træffe valg om de fremtidige regler for kæden.
Proof of Work giver tillid og integritet, når det er dyrere enten at omskrive kædens historie eller kontrollere nok hash-rate (større end enoghalvtreds procent) til at ændre protokollen for at gavne en part frem for en anden end at tage minedriftsbelønningen. Minebelønningen er defineret som en del af Bitcoin-protokollen og inkluderer nyslåede mønter og gebyrer for de transaktioner, der behandles i blokken. I øjeblikket er minedriftsbelønningen for en blok 6.25 BTC plus transaktionsgebyrerne. Denne belønning er mere end tre hundrede tusinde dollars pr. blok. Hver dag bliver der udskrevet hundrede og fireogfyrre blokke, hvilket genererer tæt på femogfyrre millioner dollars i mineindtægter.
Minearbejdere har et stærkt incitament til at gøre det rigtige. Dette økonomiske incitament tilskynder også minearbejdere til at investere i mere minehardware og hjælper med at sikre, at ingen gruppe har flertalskontrol over kæden. Det er selve 'omkostningerne' ved minedrift, der giver denne garanti. Efterhånden som værdien af Bitcoin stiger, stiger incitamentet til at mine mere også.
Nyere kæder som Ethereum implementerer Proof of Work ved hjælp af forskellige algoritmer. I dag er der mange muligheder, de mest bemærkelsesværdige er dem, der stammer fra omkostningerne ved at flytte data i hukommelsen (det er sådan Etherium virker) vs. rå beregningskraft. Ved at "båndbredde" begrænse Proof of Work-kæder som Etherium muliggør rentabel minedrift på slutbruger commodity hardware (GPU'er). For at være rentabel i minedrift af Bitcoin skal man investere i tilpasset ASIC-hardware.
Proof of Stake er en ny erstatning for Proof of Work, der forsøger at tackle energiforbruget (og hardwarekapløbet), der præger de nuværende generationer af kæder. I Proof of Stake posterer (eller sætter minearbejdere) en mængde af kædens valuta, så de får en belønning for at underskrive en blok, i form af transaktionsgebyrer, og står til at miste deres indsats, hvis de underskriver en blokering på en måde, som er i strid med kædens regel. Dvs. Intet dobbeltforbrug.
Lad os prøve et simpelt tankeeksperiment. Overvej et værelse med syv personer i det, og læg hver en hundrede-dollarseddel på et bord i midten af rummet. Disse penge er deres indsats; nu er to af de syv enige om en aftale, den ene vil låne de andre ti dollars tilbage næste dag. De skriver aftalen ned på et stykke papir og lægger det på satsbordet. Vi vælger nu tilfældigt en af de syv personer i lokalet til at notarisere dokumentet. De læser avisen og tilføjer deres underskrift for at sige, at dette er en gyldig transaktion. De andre seks kan undersøge dokumentet og validere, at vilkårene for transaktionen er i overensstemmelse med rummets regler. Forudsat at alle er enige, er transaktionen bindende. Hver af personerne i lokalet får en lille betaling for at validere transaktionen. De mennesker, der foretager handelen, sørgede for gebyret. Dette gebyr giver kompensation for at have aktiver låst som indsats.
Forestil dig nu, at den person, der er valgt til at validere, er en af de to personer, der er en del af transaktionen eller samarbejder. De underskriver dokumentet, selvom det bryder rummets regler. Når nu de andre personer i lokalet validerer handlen, og mere end halvtreds procent af rummet angiver, at denne kontrakt er ugyldig, fortrydes handelen. Indsatsen tilhørende verifikatoren fjernes fra bordet og deles ligeligt mellem de andre seks personer. Den syvende person har ikke længere en indsats og kan ikke længere deltage i valideringen, og de er ude af deres indsats på hundrede dollar. Da indsatsværdien opvejede værdien af den validerende transaktion, er det ikke i personens interesse at lyve.
Når du har mere end halvtreds procent af deltagernes handling ærligt, fungerer systemet. For dette får de beholde deres indsats, og de bliver rimeligt kompenseret for deres handlinger. Mens det for en transaktion kan være værd at snyde systemet; når man ser på totalen, er det overvejende i deres interesse at opføre sig ærligt.
En interessant observation om bevis for indsats er, at det kræver, at de ting, du sætter, er værdifulde. Denne observation er en af kerneårsagerne til, at Ethereum startede med et Proof of Work-system og arbejder på at skifte til Proof of Stake, nu hvor Ether er højt værdsat.
Vi har endnu til gode at se et Proof of Stake-system, der fungerer i stor skala med høj risiko, i løbet af de næste par år vil vi se, hvor godt de erstatter Proof of Work.
Jeg håber, at denne blog hjælper med at forklare nogle af vilkårene, næste gang videre til Smart Contracts.
- Konto
- midler
- Aftale
- algoritmer
- Alle
- ASIC
- aktiv
- Aktiver
- ægthed
- Bill
- Bitcoin
- Bitcoin minedrift
- blockchain
- Blog
- låntagning
- BTC
- certifikat
- lave om
- kontrol
- Mønter
- råvare
- Fælles
- Compensation (Kompensation)
- Compute
- tillid
- Konsensus
- forbrug
- kontrakt
- kontrakter
- Oprettelse af
- Valuta
- Nuværende
- data
- Database
- databaser
- dag
- deal
- decentral
- Design
- ødelægge
- digital
- Distribueret Ledger
- DLT
- Dollar
- dollars
- dobbeltforbrug
- Økonomisk
- energi
- Miljø
- Ether
- ethereum
- EU
- EV
- Udvid
- eksperiment
- Feature
- Gebyrer
- Fornavn
- formular
- Gratis
- fuld
- fremtiden
- gruppe
- Hardware
- hash
- hash rate
- hashing
- Høj
- historie
- Hvordan
- hr
- HTTPS
- ia
- idé
- identificere
- Identity
- KIMOs Succeshistorier
- interesse
- Internet
- IT
- Nøgle
- føre
- førende
- Ledger
- Politikker
- Flertal
- Making
- medium
- million
- minearbejdere
- Mining
- model
- penge
- bevæge sig
- multi-aktiv
- netværk
- Begreb
- Opportunity
- Indstillinger
- Andet
- Papir
- Betal
- betaling
- Mennesker
- ydeevne
- perspektiv
- pool
- Pools
- magt
- private
- private nøgle
- rentabilitet
- bevis
- offentlige
- offentlig nøgle
- Løb
- priser
- Raw
- Reality
- årsager
- optegnelser
- vedvarende energi
- indtægter
- Belønninger
- Risiko
- regler
- sikker
- Scale
- valgt
- sæt
- Del
- Skilte
- Simpelt
- SIX
- lille
- Smart
- Smarte kontrakter
- So
- SOLVE
- tilbringe
- delt
- spil
- Afsætning
- påbegyndt
- Tilstand
- vellykket
- Understøttet
- Kontakt
- systemet
- Systemer
- Jorden
- The Source
- tid
- Tokens
- top
- Sporing
- handle
- transaktion
- Transaktioner
- Stol
- us
- værdi
- værdiansættes
- tegnebog
- Punge
- Hjemmeside
- Hvad er
- WHO
- Arbejde
- virker
- world
- værd
- skrivning
- år
- nul