Halving

Începător
În spațiul criptomonedelor, termenul de halving se referă la un proces care reduce rata de emisiune a monedelor noi. Mai exact, halvingul reprezintă reducerea periodică a subvenției de bloc acordate minerilor. Halvingul asigură că un activ cripto va urma o rată de emisiune constantă până când rezerva sa maximă este atinsă în cele din urmă.
Când vine vorba de Bitcoin, monedele noi sunt generate continuu ca parte a recompensei de bloc (care este alcătuită din subvenția blocului plus comisioanele de tranzacție). Deci, de fiecare dată când un miner „descoperă” și validează cu succes un nou bloc, câștigă monede nou create drept compensație pentru munca sa. 
Deci, procesul de minerit este cel care introduce noi Bitcoini în sistem, iar acest lucru se face într-un ritm previzibil și controlat. Noile blocuri Bitcoin sunt minerite, în medie, la fiecare 10 minute, iar subvenția blocurilor urmează o rată de scădere controlată. În consecință, halvingul este cel care asigură că subvenția de bloc va scădea cu 50% la fiecare 210.000 de blocuri (aproximativ la fiecare patru ani).
Începând cu blocul de geneză, subvenția de bloc a Bitcoin a fost stabilită inițial la 50 BTC. Apoi, a fost redusă la 25 BTC în 2012 și la 12,5 BTC în 2016. Se estimează că următorul halving va avea loc în jurul lunii mai 2020, reducând subvenția de bloc la 6,25 BTC. După ce vor avea loc 32 de halvinguri, procesul se va opri și nu se vor mai crea Bitcoini. În acel moment, va fi atinsă rezerva maximă de 21 de milioane de BTC.

Urmăriți halvingul Bitcoin

Halvingul este o parte importantă a protocolului Bitcoin și, deoarece codul este cu sursă deschisă, oricine îl poate vedea. De exemplu, implementarea Bitcoin Core este disponibilă pe GitHub, iar una dintre secțiunile de cod care definește subvenția de bloc arată astfel:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;

CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}