Halving

Principiante
En el espacio de las criptomonedas, el término halving se refiere a un proceso que reduce la tasa de emisión de nuevas monedas. Más precisamente, halving es la reducción periódica del subsidio por bloque que se otorga a los mineros. El halving garantiza que un criptoactivo seguirá una tasa de emisión constante hasta que se alcance su suministro máximo .
Cuando se trata de Bitcoin, se están generando monedas nuevas continuamente como parte de la recompensa de bloque (que se compone del subsidio de bloque más las comisiones de transacción). Por este motivo, cada vez que un minero “descubre” y valida con éxito un nuevo bloque, gana monedas recién creadas como compensación por su trabajo
Entonces el proceso de minar es lo que introduce nuevos bitcoins en el sistema, y esto se realiza a un ritmo predecible y controlado. Los nuevos bloques de Bitcoin se extraen, en promedio, cada 10 minutos, y el subsidio de bloque se mantiene en una tasa de declive controlado. En consecuencia, el halving es lo que asegura que el subsidio de bloque disminuya un 50% cada 210,000 bloques (aproximadamente cada cuatro años).
A partir del bloque génesis, el subsidio de bloque de Bitcoin se fijó inicialmente en 50 BTC. Luego, se redujo a 25 BTC en 2012, y a 12.5 BTC en 2016. Se espera que el siguiente halving ocurra alrededor de mayo de 2020, para reducir el subsidio de bloque a 6.25 BTC. Una vez que hayan sucedido 32 halvings, el proceso se detiene y no se crearán más bitcoins. En este punto, se habrá alcanzado el suministro máximo de 21 millones de BTC.

Sigue el proceso de Halving de Bitcoin

El halving es una parte importante del protocolo Bitcoin y, como es de código abierto, cualquiera puede verlo. Por ejemplo, la implementación de Bitcoin Core está disponible en GitHub, y una de las secciones de código que define el subsidio de bloque se ve así:
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;
}