Pusdale
Kriptovalūtu nozarē pusdale nozīmē procesu, kurā tiek samazināt jaunu kriptovalūtu izdošanas ātrums. Precīzāk sakot, pusdale ir ieguvējiem nodrošinātās bloka subsīdijas periodiska samazināšana. Pusdale nodrošina to, ka kriptovalūtas aktīvam līdz
maksimālā skaita sasniegšanai būs vienmērīgs izdošanas ātrums.
Bitcoin gadījumā
bloka atlīdzības ietvaros (kuru veido bloka subsīdijas un darījumu komisijas maksas) nepārtraukti tiek ģenerētas jaunas kriptovalūtas. Tāpēc katru reizi, kad ieguvējs veiksmīgi "atklāj" un validē jaunu
bloku, tas kā kompensāciju par savu
darbu nopelna jaunizveidotu kriptovalūtu.
Tātad
ieguves process sistēmā ievieš jaunas
Bitcoin vienības, turklāt tas notiek paredzamā un kontrolētā ātrumā. Jauni Bitcoin bloki vidēji tiek iegūti ik pēc 10 minūtēm, un bloka subsīdijas tiek piešķirtas saskaņā ar kontrolētu samazināšanās ātrumu. Attiecīgi pusdale nodrošina, ka bloka subsīdijas ik pēc 210 000 blokiem (ik pēc apmēram četriem gadiem) samazinās par 50 %.
Līdz ar
sākotnējo bloku Bitcoin bloka subsīdijas sākotnēji tika noteiktas 50 BTC apmērā. Pēc tam 2012. gadā tās tika samazinātas līdz 25 BTC un 2016. gadā – līdz 12,5 BTC. 2020. gada maijā ir gaidāma nākamā pusdale, kas samazinās bloka subsīdijas līdz 6,25 BTC. Kad būs notikušas 32 pusdales, process tiks pārtraukts un vairs netiks izveidotas jaunas Bitcoin vienības. Tajā brīdī būs sasniegts maksimālais 21 miljona BTC skaits.
Seko līdzi Bitcoin pusdalei
Pusdale ir svarīga Bitcoin protokola daļa un, tā kā tas ir atvērtā pirmkoda risinājums, to var redzēt jebkurš. Piemēram,
Bitcoin Core risinājums ir pieejams
GitHub un viena
koda daļa, kas nosaka bloka subsīdijas, izskatās šādi:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Iestatīt bloka atlīdzību kā nulli, kad pārbīde pa labi nav definēta.
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Subsīdijas tiek samazinātas uz pusi ik pēc 210 000 bloku jeb ik pēc apmēram 4 gadiem.
nSubsidy >>= halvings;
return nSubsidy;
}