Halving
W świecie kryptowalut termin halving oznacza proces polegający na zmniejszaniu tempa emisji nowych monet. Mówiąc dokładniej, halving to okresowe zmniejszanie subwencji blokowej przekazywanej górnikom. Halving daje pewność, że dane kryptoaktywo będzie mieć stałe tempo emisji, dopóki ostatecznie nie osiągnie swojej
podaży maksymalnej.
Jeżeli chodzi o Bitcoina, nowe monety są wytwarzane w sposób ciągły w ramach
nagrody blokowej, (na którą składa się subwencja blokowa plus opłaty transakcyjne). Tak więc za każdym razem, kiedy górnikowi uda się „odkryć” i zatwierdzić nowy
blok, dostaje nowo utworzone monety w ramach wynagrodzenia za swoją
pracę.
Zatem to
górnicy wprowadzają do systemu nowe
Bitcoiny. Odbywa się to w przewidywalnym i kontrolowanym tempie. Nowe bloki Bitcoina wydobywane są średnio co 10 minut, a wartość subwencji blokowej zanika w kontrolowanym tempie. Dlatego właśnie halving daje pewność, że subwencja blokowa będzie się zmniejszać o 50% co 210 000 bloków (mniej więcej co cztery lata).
Począwszy od
bloku genesis subwencja blokowa Bitcoina była początkowo ustalona na 50 BTC. Następnie w 2012 roku została zmniejszona do 25 BTC, a w 2016 roku do 12,5 BTC. Kolejny halving ma nastąpić w okolicach maja 2020 roku, kiedy to subwencja blokowa zmniejszy się do 6,25 BTC. Po wystąpieniu 32 halwingów proces się zatrzyma i nie będą już powstawać żadne Bitcoiny. Zostanie wówczas osiągnięta podaż maksymalna 21 milionów BTC.
Obserwuj Halving Bitcoina
Halving to ważny element protokołu Bitcoina, a ponieważ kod jest otwartoźródłowy, każdy jest w stanie go zobaczyć. Np. implementacja oprogramowania
Bitcoin Core jest dostępna na
GitHubie, a oto jeden z
fragmentów kodu, który określa subwencję blokową:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Wymuszaj dążenie nagrody blokowej do zera, jeżeli przesunięcie w prawo jest nieokreślone.
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Subwencja jest obcinana o połowę co 210 000 bloków i ma to miejsce mniej więcej co 4 lata.
nSubsidy >>= halvings;
return nSubsidy;
}