As i see in this page, block height = 248823, if hashrate from 30 to 40 MHz, the reward will be 48-18 XMG,
But in real time, the network hashrate at this moment are 30-34MHz, but the newest block values only 5-6 XMG instead of 47
The block rewards are actually calculated using the average of the previous 2000 block difficulties... so the plotter is probably correct, but it operates as if your inputs are the average difficulty on the network, not the instantaneous difficulty.
So the average hashrate for the last 2000 blocks has apparently been ~46 MH/s.
It's possible to address this issue by keeping a log of block difficulties and performing a rolling average of the most recent 2000 blocks... but that's a lot of work.
It's probably easier to check the most recent block's reward and to use that as a guideline for where the hashrate is.
Thanks for your info
But i personally think that there is a problem with 2000blocks time....
- Magicoin has unique POW: if hashrate is high, the block reward will drop => high hashrate miners will not get much benefit than lower ones => they'll leave or use less hashpower => hashrate lower => block reward raises => lower hashrate miners who stay will get better block rewards.
But If block reward was caculated with average of 2000 blocks's hashrate:
- If hr is high => reward will drop => high hr miners will leave and mine another thing, until the reward raise again => they mine XMG again => lower hr miners who stay wont get good amount of XMG ( because event when reward high, they only get small amount of shares )
It happen because the time we mine 2000 blocks is long enough to high hr miners switch coins... If the time is shorter, high hr miners wont have enough time to switch.
Just my personal thought
Let me bring this up again. Actually the average is done for the past 100 blocks mostly; in other words, only the most recent 100 blocks affects the block reward. There is a complication behind the scene, and it's neither a simple average, nor a simple moving average.
The 2000 block average is here - rDiffAver:
https://github.com/magi-project/magi/blob/master/src/main.cpp#L987However, rDiffAverEMA is the actual quantity of diff for block reward computation, which is done over the past 100 blocks. rDiffAver comes into effect in here:
https://github.com/magi-project/magi/blob/master/src/main.cpp#L1022, simply providing a diff baseline. rDiffAver is used to determine diff deviation. The deviation gets either amplified or compromised; this way re-adjusts the "deviation" which is regarded as a normalization of the fluctuation to better deal with real situations. This is to discourage block reward due to big-miner caused great fluctuation of diff, while the effect of the natural fluctuation of diff needs to be mitigated (the diff compromising). When I look back this right now, I do realize the idea is complicated, while it seems that we do have stabilized the block reward. Any comments are welcome.