Halvering
I kryptovalutaområdet henviser udtrykket halvering til en proces, der reducerer udstedelseshastigheden af nye coins. Mere præcist er halvering den periodiske reduktion af bloktilskuddet til minere. Halveringen sikrer, at et kryptoaktiv vil følge en stabil udstedelseshastighed, indtil dets
maksimale udbud til sidst nås.
Når det drejer sig om bitcoin, genereres der løbende nye coins som en del af
block reward (som består af bloktilskuddet plus transaktionsgebyrer). Så hver gang en miner "opdager" og validerer en ny
blok, tjener vedkommende nyoprettede coins som kompensation for sit
arbejde.
Så
mining-processen er det, der introducerer nye
bitcoins i systemet, og det sker i et forudsigeligt og kontrolleret tempo. Nye bitcoin-blokke mines i gennemsnit hvert 10. minut, og bloktilskuddet følger en kontrolleret aftagende hastighed. Halveringen sikrer således, at bloktilskuddet falder med 50 % for hver 210.000 blokke (ca. hvert fjerde år).
Fra
oprindelsesblokken blev bitcoins bloktilskud oprindeligt sat til 50 BTC. Derefter blev det reduceret til 25 BTC i 2012 og til 12,5 BTC i 2016. Den efterfølgende halvering forventes at ske omkring maj 2020, hvilket vil reducere bloktilskuddet til 6,25 BTC. Når der er sket 32 halveringer, stopper processen, og der bliver ikke oprettet flere bitcoins. På dette tidspunkt vil det maksimale udbud på 21 millioner BTC være nået.
Følg med i halveringen af bitcoin
Halveringen er en vigtig del af Bitcoin-protokollen, og da koden er open source, kan alle se den. F.eks. er
Bitcoin Core-implementeringen tilgængelig på
GitHub, og ét af
kodeafsnittene, der definerer bloktilskuddet, ser således ud:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Tvinger block reward til nul, når højre forskydning er udefineret.
if (halveringer >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Tilskuddet halveres for hver 210.000 blokke, hvilket vil ske ca. hvert 4. år.
nSubsidy >>= halveringer;
return nSubsidy;
}