Bloko pusiavimas – tai naujų kriptovaliutos vienetų generavimo greičio mažinimo procesas. Konkrečiai tai susiję su periodiniais pusiavimo įvykiais, kurie sumažina kasėjams teikiamą blokų atlygį.
Pusiavimai yra kriptovaliutų ekonominių modelių pagrindas, nes jie užtikrina, kad virtualiosios monetos bus išleidžiamos nuolatiniu tempu, laikantis prognozuojamo mažėjimo greičio. Toks kontroliuojamas pinigų infliacijos lygis yra vienas iš pagrindinių skirtumų tarp kriptovaliutų ir tradicinių dekretinių pinigų valiutų, kurių pasiūla iš esmės yra begalinė.
Nuo 2019 m. liepos mėn. buvo tik du bitkoino pusiavimo įvykiai. Tai įvyko 2012 m. lapkričio 28 d. ir 2016 m. liepos 9 d. Pirmojo pusiavimo įvykio metu bitkoino kaina buvo 12,31 JAV dolerio, o antrojo pusiavimo įvykio metu – 650,63 JAV dolerio.
Iš viso bus tik 32 bitkoinų pusiavimo įvykiai. Kai visi jie įvyks, daugiau pusiavimų nebebus ir nebebus sukurta daugiau bitkoinų, nes bus pasiekta maksimali pasiūla.
Bitkoino pusiavimas yra pagrindinė bitkoino protokolo funkcija. Kodą galite rasti „Bitcoin Core Github“, o žemiau yra kodo fragmentas, leidžiantis atlikti bitkoino pusiavimą. Kaip nurodyta kodekse, blokų subsidija bus sumažinama perpus kas 210 000 blokų.
Galite pastebėti, kad mūsų atgalinis skaičiavimas skiriasi nuo kitų bitkoinų pusiavimo atgalinių skaičiavimų, ir paklausti „Kodėl?“
Manome, kad mūsų atgalinis skaičiavimas yra tikslesnis, nes užuot naudoję dažniausiai nurodomą vidutinį bloko laiką (10 minučių), naudojame tiesioginę blokų grandinės statistiką ir skaičiuojame esamą vidutinį bloko laiką, o tada pagal tai atliekame skaičiavimus. Mūsų laikmačio rodmenys gali svyruoti, tačiau manome, kad tai yra tiksliausias bloko pusiavimo laikrodis.
Bitkoino pusiavimo laikmatis „Binance Academy“ skaičiuojamas pagal šią formulę:
(Pusiavimo blokas – kito bloko aukštis) * vidutinis laikas tarp blokų – apskaičiuotas laikas iki kito bloko.
Apsilankykite mūsų žodynėlyje, jei norite daugiau paskaityti apie pusiavimus.
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;
}