Hvor mange Bitcoin kan det faktisk finnes?
Som kjent har Bitcoin et tak på 21 millioner bitcoin, men hvordan oppnås dette? Og er det faktisk akkurat 21 millioner?
La oss først se på hvordan nye bitcoin skapes. Omtrent hvert tiende minutt klarer minere rundt om i verden å finne en ny gyldig blokk, og distribuerer da denne blokken ut til nettverket. Dersom blokken er gyldig, så vil fullnoder akseptere blokken og legge den til i sin lokale versjon av blokkjeden. Disse blokkene inneholder et varierende antall transaksjoner mellom bitcoinadresser, der eierskap av bitcoin overføres fra sender til mottaker.
Den aller første transaksjonen i en blokk er en helt spesiell transaksjon som kalles «Coinbase Transaction» (må forveksles med Coinbase selskapet), og gjennom denne Coinbase-transaksjonen kan mineren gjøre krav på helt nyskapte bitcoin. Mineren som finner en ny gyldig blokk får altså eierskap til nye bitcoin uten at noen andre må ha gitt fra seg eierskap over sine bitcoin. Det betyr at disse bitcoinene ikke kommer fra noen plass, og er dermed Bitcoins måte å «printe» opp nye bitcoin. Forskjellen mellom fiat og Bitcoin er selvfølgelig at raten der nye bitcoin blir skapt på er for det første forutbestemt, og for det andre går mot null.
Det samme er absolutt ikke tilfelle for fiat, der raten nye fiat blir skapt på ikke er forutbestemt, og ser heller ut til å øke enn å gå mot null.
Tilbake til Bitcoin. Blokkbelønningen, på engelsk block reward, er hvor mange Bitcoin en miner kan gi seg selv i Coinbase-transaksjonen. For de første 210 000 blokkene, som tilsvarer ca 4 år, kunne minere gi seg selv 50 Bitcoin per blokk. Det betyr at for de første 210 000 blokkene ble det skapt 210 000 x 50 BTC = 10 500 000 BTC.
For hver 210 000 blokk så halveres denne blokkbelønningen, noe som halverer raten av nye bitcoin som skapes, og er Bitcoins måte å kontrollere inflasjonen. Fra blokk 210 000 til blokk 419 999, kunne dermed hver blokk skape 25 nye Bitcoin. Dette gir 210 000 x 25 BTC=5 250 000 BTC. Hvis vi legger dette sammen med den forrige halveringsperioden, vil det være skapt totalt 15 750 000 Bitcoin etter ca 8 år.
Denne halveringen av blokkbelønningen skjer totalt 33 ganger, der 32 ganger halveres blokkbelønningen og halvering nr 33 gjør at blokkbelønningen faller helt til null. Dette skjer fra og med blokk 6 930 000. Denne blokken vil antageligvis bli funnet rundt år 2140, men sannsynligvis litt tidligere ettersom antall minere øker og effektiviteten på mining-utstyret blir bedre.
Å finne ut hvor mange Bitcoin som vil eksistere er dermed enkel matematikk, og vi kan vise dette i tabellen under.
Ved halvering nr 10 oppstår en interessant situasjon, markert med gult. Blokkbelønningen per blokk skulle blitt halvert fra 0,09765625 til den halve verdien som tilsvarer 0,048828125. Dette tallet har 9 desimaler, men Bitcoin tillater bare 8 desimalers presisjon, fordi den minste enheten i Bitcoin er én satoshi, som er en 100-milliontedel av én bitcoin. Bitcoin er altså delt opp i 100 millioner satoshis, men en satoshi kan ikke deles i to. Andrelagsløsninger, som Lightning Network, tillater å dele satoshi videre opp i mindre enheter, men selve Bitcoin-blokkjeden tillater ikke det.
Dersom Bitcoin får i oppgave å dele en satoshi i to, så er den programmert til å runde ned til nærmeste hele satoshi. Derfor vil ikke blokkbelønningen etter den tiende halveringen være 0,048828125, men heller 0,04882812.
Dette fører til at 0,5 satoshi per blokk skapes mindre enn hva som ellers ville blitt skapt dersom større presisjon hadde vært tillatt i Bitcoin. Dette summeres opp til 0,5satoshi*210 000= 0,00105 færre Bitcoin skapt i løpet av de fire årene.
Denne situasjonen oppstår totalt 10 ganger, ved halvering nr 10, 13, 14, 15, 16, 17, 19, 26, 28, og 30, alle markert med gult under
Dette gjør at den maksimale mengden Bitcoin som kan eksistere er litt mindre enn 21 millioner, nemlig 20 999 999,9769 bitcoin.
Underbetaling av Bitcoin
Blokkbelønningen er det maksimale antallet bitcoin en minere har lov til å kreve per blokk, men det er ingenting i konsensusreglene som hindrer en miner i å kreve mindre. Det er kun en maksimumsgrense, og ikke en minimumsgrense. Det har faktisk skjedd med flere anledninger at en miner enten har tatt mindre i blokkbelønningen enn det protokollen tillater, eller mindre avgifter enn senderne betaler, noe som i begge tilfeller effektivt fjerner bitcoin fra sirkulasjon.
Det første eksempelet der en miner underbetalte seg selv skjedde i blokk 124724, da mineren med viten og vilje underbetalte seg selv med én satoshi. Han kunne ha krevd 50 Bitcoin, men krevde i istedenfor 49,9999999, noe som minket det totale bitcoin-tilbudet med én satoshi. Han skrev online i en post at «We are missing satoshi, and now the blockchain is missing 1 satoshi too». Siden denne mineren heller ikke krevde transaksjonsavgiftene på 0,01BTC fra blokken tapte mineren, og hele Bitcoin nettverket, totalt 0,01000001 bitcoin.
Da blokk 501726 ble minet den 30 desember 2017, ble ingen nye bitcoin generert. Mineren hadde sannsynligvis en feil i programvaren sin som gjorde at han ikke fikk noen av de 12,5 bitcoinene som kunne ha blitt krevd. Selv om han krevde 0 i blokkbelønning, og hele blokken var tom for transaksjoner, var blokken fortsatt gyldig. Dette gjør at den totale mengden Bitcoin som kan eksistere falt med 12,5 Bitcoin
Noe lignende skjedde i blokk 526 591, der mineren i Coinbase-transaksjonen bare krevde halvparten i blokkbelønning enn det som er tillatt. Mineren krevde nemlig kun 6,25 bitcoin selv om han kunne ha krevd 12,5, noe som førte til et tap på 6,25 Bitcoin, for både mineren og hele Bitcoin nettverket.
Bugs i programvaren
Det finnes noen feil og bugs i programvaren til Bitcoin som har ført til at noen Bitcoin er utilgjengelige for bruk. Dette er bitcoin som har blitt skapt, men som av ulike grunner ikke kan brukes, og er dermed ikke i sirkulasjon. For eksempel er bitcoinene generert i den aller første blokken, nemlig genesis-blokken, umulige å bruke. Grunnen til dette er at selv om Coinbase-transaksjonen i Genesis blokken er en del av blokkjeden så legges den ikke til transaksjons-databasen(UTXO set) når en node synkroniserer seg til nettverket. Om dette ble gjort med vilje eller ved et uhell er vanskelig å vite, siden buggen først ble oppdaget etter at Satoshi Nakamoto hadde forsvunnet, men de 50 bitcoinene er uansett umulig å bruke.
Brenning av Bitcoin
Ved å bruke en opkode som kalles OP_RETURN kan man skrive inn vilkårlig data på Bitcoin blokkjeden, og på samme tid bevise at disse Bitcoin aldri kan brukes igjen. Dersom Bitcoin sendes til en adresse der OP_RETURN brukes i skriptet, så vil fremtidige forsøk på å bruke disse bitcoinene ansees som ugyldig, og er dermed en måte å brenne Bitcoin på. Siden det er åpenbart for hele nettverket at disse bitcoinene aldri kan brukes igjen, så kan man regne med at den totale mengden Bitcoin i sirkulasjon faller hver gang OP_RETURN brukes.
I blokk 749829 ble OP_RETURN brukt i en transaksjon verdt 546 satoshi, som markerte videre bruk av disse bitcoinene som ugyldige. Disse satoshiene kan aldri brukes igjen, og den totale mengden Bitcoin som sirkulerer falt dermed med 546 satoshi.
Det er trivielt å søke igjennom blokkjeden etter OP_RETURN, og alle andre eksempler der minere har krevd mindre enn de kunne enten i blokkbelønning eller transaksjonsavgifter. Som diskutert over så fører halveringene til at det maksimale antall Bitcoin som kan finnes er 20999999.9769 Bitcoin, og ved å vite hvor mange Bitcoin som er beviselige tapt, kan man dermed regne ut hvor mange Bitcoin som faktisk kan være i sirkulasjon. Bitcoin som er tapt ved at folk har mistet sine private nøkler er ikke regnet som tapt siden det ikke er bevist at de aldri kan brukes igjen. Det er jo mulig å finne igjen private nøkler man trodde var tapt.
Nettsiden https://bitcoin-supply.com gjør dette kontinuerlig, og siden det ifølge dem er beviselig tapt 2823,43998885 BTC per 1 september 2022, så er det maksimale antall bitcoin som kan komme i sirkulasjon: 20 997 176,53691115.