Variables P is present supply,i is interest/annum, N is the number of compounding periods, and Y is the duration of staking.
Do the math:
A = 750000(1+5/365)^365*1
A = 750000(1+0.0137)^365
A = 750000(143.53)
A = 107250000
That may seem like a crazy number... 107,250,000 coins after 1 year... but thats the magic of compounding-daily
Now lets see what happens if this coin compounds monthly:
A = 750000(1+5/12)^12*1
A = 750000(1+0.4167)^12
A = 750000(1.4167)^12
A = 750000^65.36
A = 49,020,000
49 MLN total coins after 1 year.
And what happens if this coin does not compound- just simple interest?
A = P(1+RT)
A = 750000(1+5*1)
A = 750000(6)
A = 4,500,000
4.5 MLN total coins after 1 year.
The compounding rate has a HUGE effect on how many coins exist after 1 year.
These numbers will always differ though, because not everyone stakes (exchange wallets dont stake from what I hear), and also due to the min/max stake age, the estimated supply after 1 year will almost always be less than the calculated amount. Unless the yearly increase of coins has been hard coded, percentage increases following compounding rates will always make calculating estimated supply difficult.
This still doesn't explain the to blocks that I used as an example. There should be constancy with the staking percentages, and there is not. I just picked two blocks with convenient numbers for my example, containing only two transactions each. Here's two more.
a block of 500 yields 0.12922936 GP https://chainz.cryptoid.info/gp/block.dws?14054.htm
a block of 10 yields 0.15853168 GP https://chainz.cryptoid.info/gp/block.dws?14041.htm
The coin isn't old enough, for the block of 10 to have the age to exceed the yield of the block of 500.This doesn't happen with other PoS coins. I'm just looking for an explanation, an actual mathematic equation, so I can stop thinking about it. Pretending everything is fine, doesn't make everything fine. These discrepancies are so very obvious......
It all in the code, I sure u know how to search for words in text editor. CTRL-F or CMD-F works nicely
Here is a hint:
// miner's coin stake reward based on coin age spent (coin-days)
int64_t GetProofOfStakeReward(int64_t nCoinAge, int64_t nFees)
{
int64_t nRewardCoinYear;
nRewardCoinYear = MAX_MINT_PROOF_OF_STAKE;
int64_t nSubsidy = nCoinAge * nRewardCoinYear / 365 / COIN;
if (fDebug && GetBoolArg("-printcreation"))
printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRId64"\n", FormatMoney(nSubsidy).c_str(), nCoinAge);
return nSubsidy + nFees;
}