The reward calculation provided does not agree with the coins actually being rewarded. According to the formula 2222222/(((Difficulty+2600)/9)^2), the maximum reward possible at a difficulty of 0 would be 26.627.
2222222/(((0+2600/9)^2)
2222222/((2600/9)^2)
2222222/(288.889^2)
2222222/83456.8
26.627
Yet I see from the "blocks" pages of the pools that the block reward is much higher than this. When the average difficulty of a block was 6.84, the amount rewarded was 121. Currently, the difficulty is around 46, yet the block reward is still 43. Thoughts?
People who actually are getting a better reward is because they are CPU miners.
The coin main focus is to keep it fair for all so people using CPU are getting a better rewards than the others using GPU because the GPU miners can find much more blocks.
We have also implemented a min and max cap depending on your mining system to keep it smooth, consistent and again fair for all!
I'll update the payment info.
Thanks for reminding me that.
The payment calculation code is as follow:
double dDiff = (double)0x0000ffff / (double)(nBits & 0x00ffffff);
dDiff = ConvertBitsToDouble(nBits);
int64 nSubsidy = 0;
if(dDiff > 75) { // GPU/ASIC difficulty calc 2222222/(((x+2600)/9)^2)
nSubsidy = (2222222.0 / (pow((dDiff+2600.0)/9.0,2.0)));
if (nSubsidy > 25) nSubsidy = 25;
if (nSubsidy < 5) nSubsidy = 5;
} else { // CPU mining calc
nSubsidy = (11111.0 / (pow((dDiff+51.0)/6.0,2.0)));
if (nSubsidy > 500) nSubsidy = 500;
if (nSubsidy < 25) nSubsidy = 25;
}
// printf("height %u diff %4.2f reward %i \n", nHeight, dDiff, nSubsidy);
nSubsidy *= COIN;
// yearly decline of production by 7% per year, projected 21.3M coins max by year 2050.
for(int i = 210240; i <= nHeight; i += 210240) nSubsidy *= 0.93;
return nSubsidy + nFees;
To double check the reward code, please refer to:
https://github.com/fitcoins/fitcoin/blob/master/src/main.cpp