Hva betyr bevis på arbeid?
Bevis for arbeid beskriver et system som krever en ikke ubetydelig, men gjennomførbar innsats for å avskrekke useriøs eller ondsinnet bruk av datakraft, for eksempel sende spam-e-poster eller starte angrep på tjenestenekt. Konseptet ble tilpasset penger av Hal Finney i 2004 gjennom ideen om "gjenbrukbart bevis på arbeid." Etter introduksjonen i 2009 ble bitcoin den første allment vedtatte bruken av Finneys idé (Finney var også mottaker av den første bitcoin-transaksjonen). Bevis for arbeid danner også grunnlaget for mange andre kryptokurser.
Bevis for arbeid forklart
Denne forklaringen vil fokusere på bevis på at den fungerer i bitcoin-nettverket. Bitcoin er en digital valuta som understøttes av en slags distribuert hovedbok kjent som en "blockchain." Denne hovedboken inneholder en oversikt over alle bitcoin-transaksjoner, ordnet i sekvensielle "blokker", slik at ingen bruker får lov til å bruke noe av sine beholdninger to ganger. For å forhindre manipulering er hovedboken offentlig eller "distribuert"; en endret versjon vil raskt bli avvist av andre brukere.
Slik brukerne oppdager manipulering i praksis er gjennom hasj, lange antall strenger som fungerer som bevis på arbeid. Sett et gitt datasett gjennom en hasjfunksjon (bitcoin bruker SHA-256), og det vil bare noen gang generere ett hasj. På grunn av "skredeffekten", vil selv en liten endring av noen del av de opprinnelige dataene imidlertid resultere i en totalt ugjenkjennelig hasj. Uansett størrelse på det originale datasettet, vil hasjen som genereres av en gitt funksjon være av samme lengde. Hashen er en enveisfunksjon: den kan ikke brukes til å skaffe de originale dataene, bare for å sjekke at dataene som genererte hasjen samsvarer med originaldataene.
Å generere bare hasj for et sett med bitcoin-transaksjoner ville være trivielt for en moderne datamaskin, så for å gjøre prosessen om til "arbeid", setter bitcoin-nettverket et visst nivå av "vanskeligheter." Denne innstillingen blir justert slik at en ny blokk blir "utvunnet" - lagt til blockchain ved å generere en gyldig hash - omtrent hvert 10. minutt. Innstillingsvanskeligheter oppnås ved å etablere et "mål" for hasjen: jo lavere målet, jo mindre sett med gyldige hasj, og desto vanskeligere er det å generere et. I praksis betyr dette en hasj som begynner med en lang streng med nuller: hasjen for blokk # 429818 er for eksempel 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Den blokken inneholder 2 022 transaksjoner som involverer drøyt 1000 bitcoin, samt toppteksten til den forrige blokken. Hvis en bruker endret ett transaksjonsbeløp med 0, 0001 bitcoin, ville den resulterende hasjen være ugjenkjennelig, og nettverket ville avvise svindelen.
Siden et gitt datasett bare kan generere ett hasj, hvordan sørger gruvearbeidere for at de genererer en hasj under målet? De endrer inndataene ved å legge til et heltall, kalt en nonce ("nummer brukt en gang"). Når en gyldig hash er funnet, sendes den til nettverket, og blokken legges til blockchain.
Gruvedrift er en konkurranseprosess, men det er mer et lotteri enn et løp. I gjennomsnitt vil noen generere akseptabelt bevis på arbeid hvert tiende minutt, men hvem det vil være er noens gjetning. Gruvearbeidere samles for å øke sjansene for gruveblokker, som genererer transaksjonsgebyrer og, for en begrenset periode, en belønning av nyopprettede bitcoins.
Bevis for arbeid gjør det ekstremt vanskelig å endre noen aspekter av blockchain, siden en slik endring vil kreve gjenbruk av alle påfølgende blokker. Det gjør det også vanskelig for en bruker eller et basseng av brukere å monopolisere nettverkets datakraft, siden maskineriet og kraften som kreves for å fullføre hasjfunksjonene er dyre.
