減半

初階
在加密貨幣領域,減半這個詞是指減少新代幣發行率的過程。更精確地說,減半是週期性減少提供給礦工的區塊補貼。減半可以確保加密貨幣資產依循穩定的發行率,直到最終達致最大供應量。
對於比特幣而言,作為區塊獎勵的一環 (由區塊補貼加上交易手續費組成),新代幣將會持續創造。所以當礦工每次成功「發現」並驗證新的區塊時,他們會賺得新鑄代幣作為工作酬勞。 
因此,挖礦流程就是將新的比特幣引進系統,且挖礦速可預測並受到控制。平均而言,每 10 分鐘會挖出新的比特幣區塊,而區塊獎勵則是依循受控的衰退率產生。因此,減半是確保每 210,000 個區塊 (大約每四年) 會減少 50% 的區塊補貼。
從創世期區塊開始,比特幣的區塊補貼最初設定在 50 BTC。接著,於 2012 年減少至 25 BTC,並於 2016 年減少至 12.5 BTC。下一個減半預計會在 2020 年 5 月發生,區塊補貼將減少至 6.25 BTC。一旦 32 次減半發生後,挖礦流程就會停止,再也不會創造更多比特幣。此時,就會創造出最大供應量 2,100 萬枚 BTC。

追蹤比特幣的減半

減半是比特幣協定的重要一環,由於原始碼為開源形式,因此任何人都可以查看。例如, 比特幣核心 (Bitcoin Core) 實作可以在 GitHub 查詢,而其中一個代碼區將區塊補貼定義如下:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// 當右移未定義時,強制區塊獎勵為零。
if (halvings >= 64)
return 0;

CAmount nSubsidy = 50 * COIN;
// 每 210,000 個區塊將減半補貼,大約每 4 年發生一次。
nSubsidy >>= halvings;
return nSubsidy;
}