Халвинг
В криптовалютном пространстве термин «халвинг» обозначает процесс замедления эмиссии новых монет. Иными словами, халвинг — это периодическое сокращение вознаграждения за блок, которое получают майнеры. Халвинг гарантирует стабильную эмиссию криптоактива до тех пор, пока не будет достигнуто
максимальное предложение.
В случае Биткоина новые монеты постоянно генерируются в форме
вознаграждения за блок (которое, помимо самого вознаграждения, включает комиссии за транзакции). Поэтому каждый раз, когда майнер успешно «обнаруживает» и подтверждает новый
блок, он зарабатывает созданные монеты в качестве награды за свою
работу.
В результате процесс
майнинга способствует введению новых
биткоинов в систему в предсказуемом и контролируемом темпе. Новые блоки Биткоина создаются в среднем каждые 10 минут, а вознаграждение постепенно сокращается. Соответственно, халвинг гарантирует, что вознаграждение за блок будет уменьшаться на 50% каждые 210 000 блоков (примерно раз в четыре года).
Начиная с
генезис-блока, размер вознаграждений в блокчейне Биткоина изначально составлял 50 BTC. Затем он сократился до 25 BTC в 2012 году и до 12,5 BTC в 2016 году. Следующий халвинг произошел в мае 2020 года, в результате чего размер вознаграждения уменьшился до 6,25 BTC. 32-й халвинг станет последним, после чего новые биткоины больше не будут создаваться. К тому моменту будет достигнуто максимальное предложение в 21 миллион BTC.
Перейдите по ссылке, чтобы отслеживать халвинг биткоина
Халвинг — это важная часть протокола Биткоина. Так как у платформы открытый исходный код, любой желающий может отслеживать этот процесс. Например, реализация
Bitcoin Core доступна на
GitHub, и одна из
секций кода, определяющая размер вознаграждения, выглядит следующим образом:
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;
}