Sorry for the double-post in advance.
Some of you might have noticed the wallets inability to sync for the last 6 hours or so - that Is entirely my doing.
No, the wallet is not broken and it is still perfectly capable of synchronizing - there just hasn't been generated any blocks for the last 6 hours.
I went through the code and noticed that the new algorithm for difficulty retargeting is, although whole-heartedly meant to be better... but in fact it's not.
Doing a few preliminary tests (offline) showed that difficulty retargeting is extremely agressive when a lot of hashing power is thrown at it. I wanted to bring this into light while also showing the downside to this new algorithm.
So I threw all my hashing-power against the network and thus got the difficulty for a n-factor 13 block up to something in the vicinity of 1.7k compared to the roughly 220 it was before. Don't worry, when the current block is solved, difficulty should be down quite drastically - although that might take some time.
TL;DR - devs... fix your new diff. algo.
It looks like everything is back to normal now, But good to know there are people testing this stuff out! So do you think this is worse than before the retargeting or not?
Definitely worse, but it can become better with a little tweaking.
Radus, thanks for testing :-)
I'm curious why you think this algorithm is worse than before though. For example, in the past we were stuck on blocks (i.e. a handful) for many days, and that has not happened again and our network continues (or would you disagree?).
Glad that you noticed the algorithm is aggressive, but from what you describe, it sounds like you're trying to make the algorithm re-target up, and you should see that we specifically dampened the re-target up. Where we're really aggressive is targeting difficulty back down, which is why the network is chugging along despite this test. We're not sure that we fully understand the scenario that you're testing, but we did test ramping up hash power and seeing what happens after a stuck block quite a bit. Can you help us to understand better what you did and why it caused problems? From here things appear to be the expected outcome, but it sounds like we missed something. What would you suggest?