Halving
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;
}