Hjem
Artikler
Hvad er Proof of Work (PoW)?

Hvad er Proof of Work (PoW)?

Let øvet
Offentliggjort Dec 6, 2018Opdateret Apr 18, 2024
10m

Vigtigste budskaber

  • Proof-of-Work (PoW) er en konsensusmekanisme, der er skabt for at forhindre dobbeltforbrug i digitale betalingssystemer.

  • PoW er en vigtig del af miningprocessen, som involverer at føje nye blokke af transaktioner til blockchainen og skabe nye enheder af kryptovaluta.

  • Bitcoin og mange andre kryptovalutaer bruger PoW som en metode til at sikre deres blockchain-netvĂŚrk og data.

Introduktion

Kort sagt er Proof of Work (PoW) en mekanisme, der er skabt for at forhindre dobbeltforbrug i digitale betalingssystemer. Bitcoin og mange andre kryptovalutaer bruger PoW som en metode til at sikre deres blockchain-netvĂŚrk og data. SĂĽdanne mekanismer kaldes ofte konsensusalgoritmer eller konsensusmekanismer, fordi de indebĂŚrer, at flere parter opnĂĽr konsensus uden at skulle stole pĂĽ hinanden.

Proof of Work var den første konsensusalgoritme, der dukkede op, og den er stadig Ên af de vigtigste sammen med Proof of Stake (PoS). Den blev introduceret af Satoshi Nakamoto i Bitcoin-whitepaper fra 2008, men selve teknologien blev udtÌnkt lÌnge før det.

Adam Backs HashCash er et tidligt eksempel pü en Proof of Work-algoritme i tiden før kryptovaluta. Ved at krÌve, at afsendere udfører en lille mÌngde databehandling, før de sender en e-mail, kan modtagere afbøde spam. Denne beregning ville nÌsten ikke koste noget for en legitim afsender, men hurtigt løbe op i et større beløb for nogen, der sender e-mails i massevis.

Hvad er et dobbeltforbrug?

Et dobbeltforbrug opstår, når de samme midler bruges mere end én gang. Udtrykket bruges næsten udelukkende i forbindelse med digital valuta – når alt kommer til alt, ville du have svært ved at bruge de samme fysiske kontanter to gange. 

Nür du betaler for en kop kaffe i dag, afleverer du kontanter til en medarbejder ved kassen, der sandsynligvis lüser dem i et kasseapparat. Du kan ikke gü til kaffebaren pü tvÌrs af vejen og betale for en anden kaffe med den samme regning. Men i digitale kontantsystemer er der mulighed for, at du kan. 

Du har helt sikkert duplikeret en computerfil, før du bruger copy-and-paste-kommandoerne. Det er ogsü nemt for dig at e-maile den samme fil til snesevis af mennesker. Eftersom digital valuta kun er data, skal du forhindre folk i at kopiere og bruge de samme enheder forskellige steder. Et digitalt betalingssystem, der ikke forhindrer dobbeltforbrug, vil kollapse pü ingen tid.

For et mere dybtgĂĽende kig pĂĽ dobbeltudgifter kan du lĂŚse Forklaring af dobbeltudgifter.

Hvorfor er Proof of Work nødvendigt?

Hvis du har lÌst vores artikel om blockchain-teknologi, vil du vide, at brugere af kryptovaluta konstant sender transaktioner til netvÌrket. Disse transaktioner betragtes dog ikke umiddelbart som gyldige. Det sker kun, nür de bliver bekrÌftet og føjet til blockchainen.

Bitcoin-blockchainen fungerer f.eks. som en offentlig transaktionsdatabase (ledger), som enhver bruger kan se. Forestil dig det südan: du og tre venner har en notesblok til at spore dine bitcoin-transaktioner. Hver gang Ên af jer ønsker at foretage en overførsel af vÌrdi, skriver du det ned:

Alice betaler Bob 5 BTC, Bob betaler Carol 2 BTC osv.

Men hver gang du foretager en transaktion, henviser du til transaktionen, hvorfra midlerne kom. Sü hvis Bob betalte Carol med 2 BTC, ville posten faktisk se ud som følgende: 

Bob betaler Carol 2 BTC, der stammer fra denne tidligere transaktion med Alice.

Nu har vi en müde at spore enhederne pü. Hvis Bob forsøger at foretage en anden transaktion ved hjÌlp af de samme enheder, som han lige har sendt til Carol, vil alle vide det med det samme. Gruppen tillader ikke, at transaktionen føjes til notesblokken, fordi disse 2 BTC allerede er brugt.

Nu fungerer dette müske godt i en lille gruppe. Alle kender hinanden, sü de vil sandsynligvis blive enige om, hvilken af vennerne der skal føje transaktioner til notesblokken. Hvad nu, hvis vi ønsker en gruppe pü 10.000 deltagere? Notesblokideen skalerer ikke godt, fordi ingen ønsker at stole pü en fremmed til at styre den.

Det er her, Proof of Work kommer ind i billedet. Den sikrer, at brugerne ikke bruger penge, som de ikke har ret til at bruge. Ved at bruge en kombination af spilteori og kryptografi gør en PoW-algoritme det muligt for enhver at opdatere blockchainen i henhold til systemets regler.

Hvordan fungerer PoW?

Forestil dig, at vores notesblok fra eksemplet ovenfor er blockchainen. Men vi tilføjer ikke transaktioner én efter én – i stedet klumper vi dem i blokke. Vi annoncerer transaktionerne til netværket, så brugere, der opretter en blok, inkluderer dem i en kandidatblok. Transaktionerne betragtes kun som gyldige, når deres kandidatblok bliver en bekræftet blok, hvilket betyder, at den er blevet føjet til blockchainen.

Processen med at validere transaktioner og tilføje nye blokke kaldes mining. Det er dyrt og svÌrt, men det kan ogsü vÌre givende. Block-belønningen bestür af transaktionsgebyrer fra brugere og helt nye bitcoins oprettet af protokollen. 

Proof of Work-mekanismen krÌver, at en miner (den bruger, der opretter blokken) investerer ressourcer süsom elektricitet og computerkraft for at hashe sin kandidatbloks data, indtil der er fundet en løsning pü et puslespil.

Hashing af blokkens data betyder, at du sender dem gennem en hashing-funktion for at generere en blok-hash. Blok-hashen fungerer som et "fingeraftryk" – det er en identitet for dine inputdata og er unik for hver blok.

Med andre ord skal en miner verificere og indsamle afventende transaktioner, organisere dem i en kandidatblok og videregive blokkens data gennem en hashing-funktion for at skabe en gyldig hash. Hvis det lykkes dem at finde en gyldig hash til deres kandidatblok, sender de den til netvÌrket, føjer blokken til blockchainen og indsamler miningbelønningerne.

Nür en miner udsender sin kandidatblok og hash til netvÌrket, vil andre netvÌrksdeltagere gentage hashing-processen for at verificere, at outputtet faktisk er gyldigt. 

Selvom det krÌver utallige hashingforsøg at finde en gyldig hash, er det trivielt for enhver at bekrÌfte, at den genererede hash er korrekt. De skal bare indsende det samme input (blokdata) gennem hash-funktionen og kontrollere, om outputtet er det samme.

I Proof of Work skal du angive data, hvis hash matcher visse betingelser. Men du ved ikke, hvordan du kommer derhen. Din eneste mulighed er at videregive dine data gennem en hash-funktion og kontrollere, om de matcher betingelserne. Hvis de ikke gør det, bliver du nødt til at ændre dine data lidt for at få en anden hash. Ændring af bare et enkelt tegn i dine data vil resultere i et helt andet resultat, så der er ingen måde til at forudsige, hvad et output kan være.

Som et resultat spiller du et puslespil, hvis du vil oprette en blok. Du tager typisk oplysninger om alle de transaktioner, du vil tilføje, og nogle andre vigtige data og hasher derefter det hele sammen. Men eftersom dit datasÌt ikke Ìndres, skal du tilføje et stykke information, der er variabelt. I modsat fald vil du altid fü den samme hash som output. Disse variable data er det, vi kalder en nonce. Det er et tal, som du Ìndrer for hvert forsøg, sü du für en anden hash hver gang.

For at sammenfatte er mining processen med at indsamle blockchain-data og hashe dem sammen med en nonce, indtil du finder en bestemt hash. Hvis du finder en hash, der opfylder betingelserne i protokollen, fĂĽr du ret til at udsende den nye blok til netvĂŚrket. PĂĽ dette tidspunkt opdaterer de andre deltagere i netvĂŚrket deres blockchains, sĂĽ de omfatter den nye blok.

For store kryptovalutaer i dag er betingelserne utroligt udfordrende at opfylde. Jo højere hash-hastigheden pü netvÌrket er, desto vanskeligere er det at finde en gyldig hash. Dette gøres for at sikre, at blokke ikke findes for hurtigt.

Som du kan forestille dig, kan det vÌre dyrt at prøve at gÌtte enorme mÌngder hashes pü din computer. Du spilder beregningscyklusser og elektricitet. Men protokollen vil belønne dig med kryptovaluta, hvis du finder en gyldig hash.

Lad os opsummere, hvad vi ved indtil videre:

  • Mining er svĂŚrt og dyrt, men giver sikkerhed til netvĂŚrket.

  • Minere, der formĂĽr at producere en gyldig blok, belønnes med nyudstedte kryptovalutaer og transaktionsgebyrer.

  • Det tager tid at generere en gyldig hash, men andre brugere kan nemt kontrollere dens gyldighed ved at gentage hashing-processen.

Sü langt sü godt. Men hvad nu, hvis du prøver at snyde? Hvad skal forhindre dig i at lÌgge en masse falske transaktioner i blokken og producere en gyldig hash?

Det er her kryptering med offentlig nøgle kommer ind i billedet. Vi vil ikke gü i dybden i denne artikel, men du kan lÌse Hvad er kryptering med offentlig nøgle? for et omfattende kig pü det. Kort sagt bruger vi nogle smarte kryptografiske tricks, der giver enhver bruger mulighed for at verificere, om nogen har ret til at flytte de midler, de forsøger at bruge.

Nür du opretter en transaktion, underskriver du den. Alle pü netvÌrket kan sammenligne din signatur med din offentlige nøgle og kontrollere, om de stemmer overens. De vil ogsü kontrollere, om du rent faktisk kan bruge dine midler, og at summen af dine input er højere end summen af dine output (dvs. at du ikke bruger mere, end du har).

Enhver blok, der indeholder en ugyldig transaktion, afvises automatisk af netvÌrket. Det er dyrt for dig selv at forsøge at snyde. Du spilder dine egne ressourcer uden nogen belønning.

Deri ligger skønheden i Proof of Work: den gør det dyrt at snyde, men rentabelt at handle Ìrligt. Enhver rationel miner vil søge et afkast af sin investering, sü vedkommende kan forventes at opføre sig pü en müde, der er mere tilbøjelig til at bringe indtÌgter.

Proof of Work (PoW) vs. Proof of Stake (PoS)

Der er mange konsensusalgoritmer udover PoW, men ĂŠn af de mest populĂŚre er Proof of Stake (PoS). Konceptet gĂĽr tilbage til 2011 og er blevet implementeret i Ethereum og flere andre protokoller.

I Proof of Stake-systemer erstattes minere med validatorer. Der er ingen mining involveret og intet kapløb om at gÌtte hash. I stedet vÌlges brugerne tilfÌldigt. Hvis de vÌlges, skal de foreslü (eller "smede") en blok. Hvis blokken er gyldig, modtager de en belønning bestüende af gebyrerne fra blokens transaktioner.

Det er ikke bare en hvilken som helst bruger, der kan vælges – protokollen vælger dem ud fra en række faktorer. For at være berettiget skal deltagerne låse en stake, som er et forudbestemt beløb af blockchainens tilhørende valuta. Staken fungerer som kaution: Ligesom tiltalte skal lægge en stor sum penge for at afskrække dem fra at blive væk fra retssagen, låser validatorer en stake for at afskrække snyd. Hvis de handler uærligt, vil deres stake (eller en del af den) blive taget.

Proof of Stake har nogle fordele i forhold til Proof of Work. Den mest bemærkelsesværdige er det mindre kulstofaftryk – eftersom der ikke er behov for kraftige miningfarme i PoS, er den brugte elektricitet kun en brøkdel af den, der forbruges i PoW. 

Nür det er sagt, har PoS ikke samme resultater som PoW. Selvom det kan opfattes som spildt, er mining den eneste konsensusalgoritme, der er blevet kamptestet i over et ürti. Siden lanceringen har Bitcoins PoW sikret billioner af dollar i transaktioner. For at kunne fastslü om PoS kan konkurrere med sin sikkerhed, skal staking testes pü behørig vis af offentligheden.

Sammenfatning

Proof of Work var den oprindelige løsning pü problemet med dobbeltforbrug og har vist sig at vÌre pülidelig og sikker. Bitcoin beviste, at vi ikke har brug for centraliserede enheder for at forhindre, at de samme midler bruges to gange. Med smart brug af kryptografi, hash-funktioner og spilteori kan deltagere i et decentraliseret miljø blive enige om tilstanden af en finansiel database.

Yderligere lĂŚsning

Ansvarsfraskrivelse: Dette indhold prÌsenteres for dig, "som det er", udelukkende til generel information og uddannelsesmÌssige formül, uden nogen form for erklÌring eller garanti. Det skal ikke opfattes som finansiel, juridisk eller anden professionel rüdgivning, og det er heller ikke hensigten at anbefale køb af et bestemt produkt eller en bestemt tjeneste. Du bør søge din egen rüdgivning hos relevante professionelle rüdgivere. Hvis artiklen er skrevet af en tredjepart, skal du vÌre opmÌrksom pü, at de synspunkter, der kommer til udtryk, tilhører den pügÌldende tredjepart og ikke nødvendigvis afspejler Binance Academy. LÌs vores fulde ansvarsfraskrivelse her for yderligere oplysninger. Priserne pü digitale aktiver kan vÌre ustabile. VÌrdien af din investering kan falde eller stige, og det er ikke sikkert, at du für det investerede beløb tilbage. Du er eneansvarlig for dine investeringsbeslutninger, og Binance Academy er ikke ansvarlig for eventuelle tab, du mütte lide. Dette materiale skal ikke opfattes som finansiel, juridisk eller anden professionel rüdgivning. For yderligere oplysninger kan du lÌse vores vilkür for anvendelse og risikoadvarsel.