Photo by Juan Jose Porta on Unsplash

Hvordan fungerer bitcoin-mining?

Når du hører begrepet bitcoin-mining eller proof-of-work for første gang, ser du kanskje for deg at mynter blir gravd ut av bakken, og så skal man kunne bevise dette. Men bitcoin er jo ikke fysisk, så hvorfor kaller vi det mining?

I likhet med gullgraving, eksisterer bitcoin protokollens design akkurat slik gull eksisterer under jorden. Alt har ikke blitt brakt ut i lyset ennå, akkurat som gullet ennå ikke er gravd opp.

Bitcoin-protokollen bestemmer at maksimalt 21 millioner bitcoin kan eksistere. Det minere gjør, er å “bringe dem ut i lyset”, litt etter litt. Når minere er ferdig med å mine alle bitcoins, vil det ikke være mulig å mine flere, med mindre bitcoin-protokollen endres for å gi større tilbud. Minere blir betalt i transaksjonsgebyrer og mining rewards for å legge til blokker med validerte transaksjoner i blokkjeden.

Noder

Hva er en node? En node er en kraftig datamaskin som kjører bitcoin-programvaren og validerer transaksjoner og blokker. Siden bitcoin-nettverket er desentralisert, er disse nodene, samlet, ansvarlige for å bekrefte ventende transaksjoner.

Hvem som helst kan kjøre (være) en node – du laster bare ned gratis bitcoin-programvare. Ulempen er at den bruker mye energi og lagringsplass. I skrivende stund krever nettverket hundrevis av gigabyte med data.

Noder sprer bitcoin-transaksjoner i nettverket. En node sender informasjon til noen andre få noder som den kjenner, som vil videreformidle informasjonen til noder som de kjenner osv. På den måten vil den ventende transaksjonen komme seg rundt hele nettverket ganske raskt, og bli godkjent.

Så alle noder er minere?

Ikke nødvendigvis. Noen noder er mining nodes. Mining nodes sorterer store utestående transaksjonene i blokker og legger dem til blokkjeden. Dette gjøres ved å løse et komplekst matematisk puslespill som er en del av bitcoin-programmet, for så å inkludere svaret i blokken.

Puslespillet som må løses, er å finne et tall som, når det kombineres med dataene i blokken, og føres gjennom en hash-funksjon. (som konverterer input-data av hvilken som helst størrelse til output-data med en fast lengde, gir et resultat som er innenfor en viss område.)

Nonce

For triviaelskere kalles dette tallet en “nonce”, som er en forkortelse av “Number used once.” I blokkjeden er nonce et helt tall mellom 0 og 4 294 967 296.

Hvordan finner de dette nummeret? Ved å gjette tilfeldig. Hashfunksjonen gjør det umulig å forutsi hva output-dataene vil være. Miners gjetter mysterienummeret, og bruker hash-funksjonen i kombinasjon med det gjettede nummeret og dataene i blokken. Den resulterende hashen starter med et visst antall nuller. Det er ingen måte å vite hvilket tall som vil fungere, fordi to påfølgende heltal vil gi veldig varierende resultater. Dessuten kan det være flere nonces som gir det ønskede resultatet, eller så kan ingen gi det ønskede resultatet. I så fall fortsetter minerene å prøve, men med en annen blokkonfigurasjon.

10 minutters behandlingstid

Vanskeligheten ved beregningen (det nødvendige antall nuller i begynnelsen av hash stringen) justeres ofte, slik at det i gjennomsnitt tar omtrent 10 minutter å behandle/godkjenne en blokk med transaksjoner.

Hvorfor 10 minutter? Det er den tiden bitcoinutviklerne mener er nødvendig for en jevn og avtagende strøm av nye coins, til det maksimale antallet på 21 millioner er nådd (forventet en gang i år 2140).

Den første mineren som får en resulterende hash innenfor ønsket område, kunngjør sin seier til resten av nettverket. Alle de andre minerene stopper straks arbeidet med den blokken, og begynner arbeidet med å finne ut mysterienummeret for den neste. Som en belønning for sitt arbeid, får den seirende mineren bitcoin. (Mining reward) Rewarden ble fraogmed 11.Mai 2020, 6,25 BTC per blokk.

6,25 BTC er i skrivende stund verdt nesten $170 000, som igjen er verdt over 1,5 millioner NOK.

Tøff konkurranse

Det er dog ikke så “enkelt” som det høres ut. Det er mange minere som konkurrerer om den belønningen, og jo mer datakraft du har, og jo flere gjetningsberegninger du kan utføre, jo “heldigere” er du.

Dessuten er kostnadene ved å være en miner betydelige. Ikke bare på grunn av den kraftige datakraften som trengs, men også på grunn av de store mengdene strøm som forbrukes av disse prosessorene.

Halvering

Antallet bitcoins tildelt som “mining rewards” vil reduseres. Det er 6,25 nå, men det halveres ca hvert fjerde år (neste halvering er forventet i 2024). Verdien av bitcoin i forhold til kostnadene for elektrisitet og maskinvare kan øke de neste årene for delvis å kompensere for denne reduksjonen, men det er ikke sikkert.

Det er fremdeles mye mer å forklare om proof-of-work systemet, men nå har du i det minste den brede oversikten over genialiteten til programmeringen og konseptet.

Kryptografen nyhetsbrev