Bloka pusdale ir process, kura laikā tiek samazināts jaunu kriptovalūtas vienību ģenerēšanas ātrums. Konkrētāk ar to domāta periodiskā pusdale, kas samazina ieguvējiem piešķiramās bloka atlīdzības.
Uz pusdali balstās kriptovalūtu ekonomikas modeļi, jo ar tās palīdzību tiek nodrošināta kriptovalūtu emisija vienmērīgā tempā, ievērojot prognozējamu apjoma samazināšanās ātrumu. Šāds kontrolēts monetārās inflācijas līmenis ir viena no galvenajām atšķirībām starp kriptovalūtām un tradicionālajām bezseguma valūtām, kuru apjoms būtībā ir neierobežots.
Uz 2019. gada jūliju bija veiktas vien divas Bitcoin pusdales. Tās notika 2012. gada 28. novembrī un 2016. gada 9. jūlijā. Pirmās pusdales brīdī Bitcoin cena bija 12,31 $, bet otrās pusdales laikā – 650,63 $.
Kopā tiks veiktas tikai 32 Bitcoin pusdales. Kad tās visas būs notikušas, pusdales vairs netiks veiktas, un netiks radītas arī jaunas Bitcoin vienības, jo būs sasniegts to maksimālais skaits.
Bitcoin pusdale ir būtiska Bitcoin protokola funkcija. Kods, kurš padara iespējamu Bitcoin pusdali, ir pieejams Bitcoin Core GitHub vietnē, un tālāk ir sniegts koda fragments. Kodā ir dokumentēts, ka bloka subsīdija tiks samazināta uz pusi ik pēc 210 000 blokiem.
Iespējams, ievēroji, ka mūsu piedāvātā laika atskaite atšķiras no citām Bitcoin pusdales laika atskaitēm, un vēlies zināt – kāpēc.
Mūsuprāt, mūsu laika atskaite ir precīzāka, jo tā vietā, lai izmantotu ierasto vidējo bloka izveides laiku (10 minūtes), mēs izmantojam blokķēdes tiešsaistes statistiku un aprēķinām aptuveno vidējo bloka izveides laiku dotajā brīdī, un pēc tam veicam aprēķinus, pamatojoties uz šiem datiem. Mūsu laika atskaites taimeris ir mainīgs, tomēr esam pārliecināti, ka tas ir precīzākais bloka pusdales taimeris.
Bitcoin pusdales taimerim Binance Akadēmijā aprēķinos tiek izmantota šāda formula:
(Pusdales bloks - nākamā bloka augstums) * vidējais laiks starp blokiem - paredzamais laiks līdz nākamajam blokam.
Vairāk informācijas par pusdalēm atradīsi mūsu vārdnīcā.
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;
}