халвинг
В криптовалютном пространстве термин халвинг относится к процессу, который снижает скорость выпуска новых монет. Точнее, халвинг — это периодическое уменьшение субсидии на блок, предоставляемой майнерам. Сокращение вдвое гарантирует, что криптоактив будет следовать устойчивой скорости выпуска, пока в конечном итоге не будет достигнуто его максимальное предложение .
Когда дело доходит до биткойнов, новостные монеты постоянно генерируются как часть вознаграждения за блок (которое состоит из субсидии на блок плюс комиссия за транзакцию). Таким образом, каждый раз, когда майнер успешно «обнаруживает» и проверяет новый блок,. он зарабатывает вновь созданные монеты в качестве компенсации за свою работу.
Таким образом, процесс майнинга — это то, что вводит новые биткойны в систему, и это происходит в предсказуемой и контролируемой скорости. Новые биткойн-блоки добываются в среднем каждые 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;
// Обнуление вознаграждения за блок, если сдвиг вправо не определен.
если (половины >= 64)
вернуть 0;
CAmount nSubsidy = 50 * МОНЕТА;
// Субсидия сокращается вдвое каждые 210 000 блоков, что будет происходить примерно каждые 4 года.
nСубсидия >>= халвинг;
вернуть субсидию;
}