DigiByte halvening schedule
With a recent influx of people joining Telegram / Reddit etc, it’s worth explaining the “halvening” (halving?) schedule for DigiByte.
You see, unlike Bitcoin / Litecoin with their 4-year halving event, DigiByte has improved upon this, along with many other aspects, to make a much smoother emissions curve.
Rather than halving the reward every 210,000 blocks (or 840,000 in Litecoins case), DigiByte instead opts for reducing the newly minted supply by approx 1% every 175,200 blocks.
Technically speaking the code that you can find in validation.cpp is:
int64_t blocks = nHeight-consensusParams.workComputationChangeTarget;
int64_t months = blocks*15/(3600*24*365/12);
for(int64_t i = 0; i < months; i++)
{
qSubsidy*=98884;
qSubsidy/=100000;
}
So it’s not quite 1%, but rather it’s a little over at 1.12%…
This means there are 12 reductions in emission schedule every year, as this takes place approx every month.
Quick math:
DigiByte blocks occur every 15 seconds
86400 seconds in a day, divided by 15 seconds, gives us 5760 blocks
5760 blocks per-day * 365 gives us 2,102,400 new blocks per-year
Divide that by 12 (to get average month) and you get 175,200.
You can view the block reward changing:
Block 10540399 : 608.48163085
Block 10540400 : 601.69097584
And then at the next changing:
Block 10715599 : 601.69097584
Block 10715600 : 594.97846854
This also means the next one will happen at Block 10,890,800 next month.
When will the supply of 21 billion DigiByte be reached?
Well thanks to DigiStats.digibyteservers.io we can look at the current blocks, and current total supply, and work back a little:
We currently have 10,726,969 blocks, with a circulating supply (rounded) to 13,073,446,704.
We want to subtract 10,715,600 (When the block subsidy last changed), putting us 11,369 blocks in to the current reward reduction.
11,369 * 594.97846854 DGB = 6764310 DGB
So again we take that off the current supply, giving us a supply of 13,066,682,394 at the time the block reward changed over.
Then, working from Block 10715600 with a timing of 2020–04–24 11:01, we’re also going to round a little bit, and we’ll be using this math for reduction calculation: CurrentBlockReward*0.98884 = NewBlockReward
And starting at 24th of April 2020 going to a block reward of 594.97846854, we’re actually more likely to reach the supply cap of 21 billion DigiByte in November 2034, at which time the block reward will be approx 84 DGB per-block.
However, despite DigiByte having some of the most accurate block timings for any UTXO blockchain, we may find that if it does keep up it’s ever so slight block timing difference, that we end up reaching it in ~October 2034.
The more you know!