Just in case Lannister does a bounty hunting ;-)
Here my first submission on an idea, it is really bad and up for discussion:
1. Every work has its own target value
2. Once a work is created, the target value gets initialized with the average final target value of the last 10 closed jobs.
3. As long as no PoW submission is made, the target value or rather the difficulty drops very quickly so that in at most 5 blocks it reaches the "least possible difficulty" (to help readjusting to changed miner population)
4. There can be only 20 unconfirmed PoW submissions in the memory pool (and in each block) at most per work.
5. The retargetting mechanism reacts quickly, per block, to adapt to a targetvalue that results in on average 10 PoW submissions per block
This approach:
- mitigates the problem of a "too easy initial difficulty"
- is accounts for changed number of miners (which can of course change in long periods with no work) in two ways:
1.) If the number of miners decreased or if potent miners disappeared, the takes at most 5 blocks to "heal" the problem
2.) If we have too many miners suddenly, or if potent miners joined in the meantime, they can only clutter the blockchain at a rate of max. 20 tx / block until the retarget mechanism kicks in (should take 1 or at most 2 blocks).
- mitigates the attack when a potent miner "waits" until the difficulty drops to burst his precomputed PoW submissions. He, in this case, can only get through 20 at most until the difficulty readjusts in the following block.
PS: If I win, I dedicate my "bounty" (if one will ever exist) to coralreefer!