I mitt tidigare inlägg om DLT berörde jag konceptet Proof of Work och nämnde i förbigående Proof of Stake. I den här bloggen utvidgar jag dessa begrepp och hur de är grundläggande för idén om ett förtroendlöst distribuerat samförstånd.
För det första måste vi beskriva vad problemet är som vi försöker lösa. Bitcoin satte sig för att lösa den komplicerade frågan om att skapa förtroende mellan en grupp av förtroendlösa agenter.
Så vad är det här problemet? En person ber om att låna lite pengar av dig och går med på att betala tillbaka i morgon. Eftersom du litar på lånar du dem tio dollar. Nästa dag ber du om pengarna tillbaka, de svarar att de aldrig lånade pengarna från dig. Vad gör du? Det fanns inget transaktionsregister; du har inte mycket av en möjlighet. Du blir förmodligen mindre förtroende i framtiden. Nästa gång du anger en transaktion av den här typen involverar du en tredje part för att hålla reda på transaktionen. När låntagaren ställer in sina standardinställningar kan du ta in tredje part för att intyga att transaktionen skett. Om låntagaren vägrar att betala tillbaka kan du gå till rättssystemet och be dem ingripa för dina räkning. Idealt är att tredje part är någon som är betrodd, säger en advokat, och transaktionen kan noteras för att bevisa dess äkthet. Tänk dig att du vill göra detta i stor skala med människor som inte är i samma land som du. Det finns olika rättssystem, olika resurser, oh huvudvärken.
Den distribuerade huvudboken avser att ersätta den rättsliga strukturen med ägaridentitet, kryptografiska notariseringar och ett sätt att skapa förtroende. Den första delen är ganska enkel. Vi har var och en en identitet; i form av en privat nyckel; vi kan använda denna identitet för att "signera" alla godtyckliga uppgifter.
På det enklaste sättet kan innehavarna av skamnyckeln bevisa med exceptionellt högt förtroende för att signaturen tillhör innehavaren av den privata nyckeln och endast den ena privata nyckeln. Denna digitala signatur är ett övertygande koncept eftersom det tillåter alla med en privat nyckel att hävda att de äger den privata nyckeln. Det är säkert att ge den offentliga nyckeln till någon eftersom det inte finns något sätt att ta den offentliga nyckeln och skapa en privat nyckelkopia. Se bara till att du inte tappar din privata nyckel!
Notarisering följer naturligt av identitet; om en part undertecknar ett meddelande kan en tredje part underteckna det signerade meddelandet. Om du litar på den notariserande partens identitet har du deras offentliga nyckel och du vet vem de är; de kan göra uttalanden om det ursprungliga partiet, som att jag känner den här personen, och du kan lita på dem. Du kan följa denna uppfattning om förtroende över hela internet varje gång du besöker en krypterad webbplats; du förlitar dig på ett intyg som är notariserat genom en förtroendekedja. Högst upp i denna kedja finns en rotenhet; i detta exempel är det 'Baltimore CyberTrust Root'.
Denna kedja av förtroende lämnar oss fortfarande med ett problem. Om du inte vet eller inte vill lita på någon central part, hur notiserar du transaktioner så att de kan vara obestridliga? Den klassiska BlockChain löser detta problem med en process som kallas kallad gruvdrift. Gruvdrift kan i stort sett delas in i två kategorier, Proof of Work och Proof of Stake. Vi kommer att prata om det inom kort.
Först bör vi adressera elefanten i rummet, den så kallade tillståndsbaserade blockchain. Under de senaste åren har många exempel på dessa kedjor dykt upp, som vanligtvis erbjuds som högpresterande alternativ till de pålitliga blockkedjorna. Gruvdriftens karaktär är att det tar tid och kostar. Dessa tillståndsbaserade kedjor identifierar en eller flera betrodda grupper som utför notisering av meddelanden i kedjan. Om det uppstår ett fel eller en åsiktsförändring kan dessa betrodda notarier skriva om historien och, om de är dåliga aktörer, kan de agera på andras vägnar för att lura. I vårt ursprungliga exempel har en eländig notarie potential att ställa sig bakom den som lånar pengarna.
Från ett förtroendeperspektiv kan man argumentera för att en tillståndsbaserad kedja inte är bättre än att ha en hanterad och driven databas av en tredje part. Det finns fortfarande fördelar med den digitala storboken i dessa fall; till exempel har varje part en fullständig kopia av huvudboken, transaktioner är standardiserade och kryptografisk signering av transaktioner. Den digitala signeringen är en övertygande orsak på egen hand, tänk att kontrollera en mänsklig signatur kontra dess digitala motsvarighet. Komplexitet, prestanda och operativa överväganden är i allmänhet lättare att lösa i en traditionell databas än med DLT.
Vi kommer nu tillbaka till gruvdrift. I hjärtat är gruvdrift en operation som visar att en skådespelare, vanligtvis kallad en nod, har byggt upp tillräckligt förtroende för att den kan underteckna en uppsättning transaktioner (blocket i blockchain) för att säga att transaktionerna är konsekventa och dubbla utgifter fri. Dubbel spendering är ett enkelt begrepp i den "verkliga världen"; om jag ger dig en dollarsedel kan jag bara ge den exakta räkningen en gång om du inte sedan gav tillbaka den till mig. I den digitala världen är detta ett mycket mer komplext problem. Klassiska databaser löser detta genom att genomföra transaktioner. Du kommer ofta att höra detta kallat ACID-transaktionsgaranti.
I ett traditionellt bokföringssystem med dubbel post registrerar huvudboken förflyttningen av en tillgång från ett konto (eller plånbok) till ett annat. För en storbok som spårar en enda valuta kan du genomdriva två huvudegenskaper. Först bevarar huvudboken det totala antalet för en viss tillgång i storboken över alla rörelsetransaktioner. Du kan inte skapa eller förstöra om inte en specifik ensidig transaktion stöds. För det andra kan du se till att du bara kan flytta en tillgång från en plånbok till en annan plånbok om källplånboken har en instans av den tillgången tillgänglig. I en transaktion med flera plånböcker måste alla plånböcker vara i balans efter transaktionen. Dessa regler kan generaliseras till en transaktion med flera tillgångar genom att säkerställa att kostnaden (värdet på varje tillgång konverterad till en gemensam tillgång) uppgår till noll över hela transaktionen. Multitillgångsmodellen är längre föremål för täckning.
För en DLT måste alla överföringar av tokens (eller tillgångar) följa ovanstående regler. Vanligtvis är den enda ensidiga transaktionen som stöds av kedjan att skapa nya tokens genom gruvprocessen. Så hur gör en distribuerad huvudbok detta?
Vi hanterar först Proof of Work eftersom det är det mest etablerade systemet. I Proof of Work kämpar varje gruvnod i systemet mot varandra för att komma med en lösning på ett tillräckligt komplext problem. För Bitcoin beräknar detta problem hash för data i blocket och lägger till ett 'nonce' (ett heltal) för att beräkna blockets kryptografiska hash. Gruvdrift är framgångsrikt när den sista hash som nämns ovan har ett specifikt antal ledande nollor i sin binära representation. Nonce uppdateras upprepade gånger tills en lösning hittas. I verkligheten är det lite mer komplicerat än så här, med flera hashkoder.
Varje gruvarbetare kan utföra ett fast antal hashberäkningar på en sekund. Datornodens hårdvara ställer in denna gräns. Problemets svårighet justeras så att summan av alla gruvarbetares hashfrekvenser hittar ett block på cirka tio minuter. Nätverket justerar svårigheten att ta hänsyn till den aktuella hashfrekvensen. I skrivande stund har Bitcoin-nätverket en hashhastighet på hundra och åttio miljoner terra hash per sekund. Denna hashhastighet är en enorm mängd beräkningskraft och pekar på en av Bitcoins betydelsefulla debatter, dess inverkan på miljön. Eftersom priserna på förnybar energi sjunker under andra energislag ger gruvlönsamhet ett incitament att byta till den billigaste kraftkällan; hur sant detta är kommer att spela ut under de närmaste åren.
En av de '' brister '' som ofta identifieras i Bitcoin-gruvprotokollet är att trivialt lama hashoperationen. Denna funktion har lett till betydande centralisering av hashkraften och förmodligen besegrar en del av kedjans decentraliserade design. Aggregerande haschar tillsammans kallas pool mining. Ensambrytning är värdelös i alla avseenden och syften; oddsen på att en enda nod i nätverket hittar en lösning på egen hand innan de poolade hasharna är oändligt små. Pooler delar belöningarna från gruvdrift i direkt proportion till hashgraden som doneras till poolen. Även om du inte får den stora utbetalningen kan du få en liten summa varje gång en pool bryter ut ett block. Ett litet antal pooler (8) utgör en överflöd av hashkraft. Om dessa pooler skulle konspirera tillsammans har de möjlighet att göra val om kedjans framtida regler.
Bevis på arbete ger förtroende och integritet när det är dyrare att antingen skriva om kedjans historia eller kontrollera tillräckligt med hashhastighet (större än femtio procent) för att ändra protokollet för att gynna en part framför en annan än att ta gruvbelöningen. Gruvbelöningen definieras som en del av Bitcoin-protokollet och inkluderar nyligen myntade mynt och avgifter för de transaktioner som behandlas i blocket. För närvarande är gruvbelöningen för ett block 6.25 BTC, plus transaktionsavgifterna. Denna belöning är mer än tre hundra tusen dollar per block. Varje dag skrivs ut hundra fyrtiofyra block, vilket genererar nära XNUMX miljoner dollar i gruvintäkter.
Gruvarbetare har ett starkt incitament att göra rätt. Detta ekonomiska incitament uppmuntrar också gruvarbetare att investera i mer gruvhårdvara och hjälper till att säkerställa att ingen grupp har majoritetskontroll över kedjan. Det är själva 'kostnaden' för gruvdrift som ger denna garanti. När värdet på Bitcoin ökar ökar också incitamentet att bryta mer.
Nyare kedjor som Ethereum implementerar Proof of Work med hjälp av olika algoritmer. Idag finns det många alternativ, de mest anmärkningsvärda är de som härrör från kostnaden för att flytta data i minnet (så här fungerar Etherium) mot rå beräkningskraft. Genom att "bandbredd" begränsar Proof of Work-kedjor som Etherium möjliggör lönsam gruvdrift på slutanvändares råvarumaskinvara (GPU). För att vara lönsam med att bryta Bitcoin måste man investera i anpassad ASIC-hårdvara.
Proof of Stake är en växande ersättning för Proof of Work som försöker ta itu med energiförbrukningen (och hårdvaruloppet) som genomsyrar de nuvarande generationerna av kedjor. In Proof of Stake sänder gruvarbetare (eller satsar) en mängd av kedjans valuta så att de får en belöning för att underteckna ett block, i form av transaktionsavgifter, och tappar sin insats om de undertecknar ett block på ett sätt som är oförenligt med kedjans regel. Dvs. Inga dubbla utgifter.
Låt oss prova ett enkelt tankeexperiment. Tänk på ett rum med sju personer i, var och en placerar en hundra-dollarsedel på ett bord mitt i rummet. Dessa pengar är deras insats; nu, två av de sju går med på en överenskommelse, en kommer att låna de andra tio dollar som returneras nästa dag. De skriver ner avtalet på en papperslapp och lägger den på spelbordet. Vi väljer nu slumpmässigt en av de sju personerna i rummet för att notera dokumentet. De läser tidningen och lägger till sin signatur för att säga att detta är en giltig transaktion. De andra sex kan granska dokumentet och verifiera att villkoren för transaktionen är förenliga med reglerna i rummet. Förutsatt att alla är överens, är transaktionen bindande. Var och en av personerna i rummet får en liten betalning för att validera transaktionen. Människorna som handlade tillhandahöll avgiften. Denna avgift ger kompensation för att ha tillgångar låsta som insatsen.
Föreställ dig nu att den person som valts för att validera är en av de två personer som ingår i transaktionen eller samarbetar. De undertecknar dokumentet trots att det bryter mot reglerna i rummet. När de andra personerna i rummet validerar handeln och mer än femtio procent av rummet indikerar att detta kontrakt är ogiltigt, ångras handeln. Insatsen som tillhör verifieraren tas bort från bordet och delas lika mellan de andra sex personerna. Den sjunde personen har inte längre en insats och kan inte längre delta i valideringen, och de är ute med sin hundra dollar insats. Eftersom insatsvärdet överväger värdet på valideringsaffären är det inte i personens intresse att ljuga.
När du har mer än femtio procent av deltagarna agerar ärligt fungerar systemet. För detta får de behålla sin insats, och de får rätt kompensation för sina handlingar. Medan för en transaktion kan det vara värt att bedra systemet; när man tittar på summan är det överväldigande i deras intresse att bete sig ärligt.
En intressant iakttagelse om bevis på insats är att den behöver de saker du sätter in för att vara värdefulla. Denna observation är en av de viktigaste anledningarna till att Ethereum startade med ett Proof of Work-system och arbetar med att byta till Proof of Stake nu när Ether är högt uppskattad.
Vi har ännu inte sett ett Proof of Stake-system som fungerar i stor skala med högt riskvärde, under de närmaste åren kommer vi att se hur bra de ersätter Proof of Work.
Jag hoppas att den här bloggen hjälper till att förklara några av villkoren, nästa gång till Smart Contracts.
- Konto
- medel
- Avtal
- algoritmer
- Alla
- ASIC
- tillgång
- Tillgångar
- äktheten
- Bill
- Bitcoin
- Bitcoin gruvdrift
- blockchain
- Blogg
- upplåning
- BTC
- certifikat
- byta
- kontroll
- Mynt
- råvara
- Gemensam
- Ersättning
- Compute
- förtroende
- Konsensus
- konsumtion
- kontrakt
- kontrakt
- Skapa
- Valuta
- Aktuella
- datum
- Databas
- databaser
- dag
- behandla
- decentraliserad
- Designa
- förstöra
- digital
- Distribuerad Ledger
- DLT
- Dollar
- dollar
- dubbla spendera
- Ekonomisk
- energi
- Miljö
- Eter
- ethereum
- EU
- EV
- Bygga ut
- experimentera
- Leverans
- avgifter
- Förnamn
- formen
- Fri
- full
- framtida
- Grupp
- hårdvara
- hash
- hash rate
- hasch
- Hög
- historia
- Hur ser din drömresa ut
- hr
- HTTPS
- ia
- Tanken
- identifiera
- Identitet
- Inverkan
- intresse
- Internet
- IT
- Nyckel
- leda
- ledande
- Ledger
- Adress
- Majoritet
- Framställning
- Medium
- miljon
- gruvarbetare
- Gruvdrift
- modell
- pengar
- flytta
- flergångs
- nät
- Begrepp
- Möjlighet
- Tillbehör
- Övriga
- Papper
- Betala
- betalning
- Personer
- prestanda
- perspektiv
- poolen
- Pools
- kraft
- privat
- privat nyckel
- lönsamhet
- bevis
- allmän
- Public Key
- Lopp
- rates
- Raw
- Verkligheten
- skäl
- register
- förnybar energi
- intäkter
- Belöningar
- Risk
- regler
- säker
- Skala
- vald
- in
- Dela
- Tecken
- Enkelt
- SEX
- Small
- smarta
- Smarta kontrakt
- So
- LÖSA
- spendera
- delas
- spel
- utsättning
- igång
- Ange
- framgångsrik
- Som stöds
- Växla
- system
- System
- Jord
- källan
- tid
- tokens
- topp
- Spårning
- handla
- transaktion
- Transaktioner
- Litar
- us
- värde
- värderas
- plånbok
- Plånböcker
- Webbplats
- Vad är
- VEM
- Arbete
- fungerar
- världen
- värt
- skrivning
- år
- noll-