I just sent a message to Terk asking if he can take a look at the amount of hashrate thrown at NLG.
DGW3 does better re-adjustment than KGW, but as we can see it's not good enough.
DGW3 calculates diff based on the 24 last blocks.
When there's a long blocktime, and then someone mines 1 block, then clevermining takes 23 blocks, the long blocktime block is not taken into the calculation anymore, and the diff spikes.
Now I hear you say: "why don't we increase the number of blocks taken into the DGW3 calculation". Well, I did some simulations and I believe in the end that will only affect the number of blocks clevermining gets before the diff spikes.
So we need something clever (no pun intended).
There are two methods:
- create a re-adjustment algorithm that is actually pretty smart, detecting patterns, applying penalties if a lot of blocks were mined in short time.
- work out how a block reward based on block time. e.g.: `reward = 1000 * (secsSinceLastBlock/150)` with a max of, say, 3000 (after 3x the target blocktime).
Best would be: both.
Please let me know what you think about this!
I'll work out more details this evening (CEST).