Are you referring to @murch solution?
Or to @zawy’s comment after that?
Can someone explain why the attack needs to alternate and can’t just use a constant low difficulty?
I suspect that would cause a mess. It could potentially introduce new attack vectors by messing with (node connections to) NTP servers. The current two hour margin is so wide you could set your computer clock with a sundial.
Block propagation throughout the whole network is probably in the order of seconds, but sometimes it seems take half minute: Mining Pool Behavior during Forks
Slowly validating blocks, poor internet connections and having to use Tor can all add many seconds to when you receive a block.
Later on:
With FTL meaning “Future Time Limit”. So do you mean just the existing rule that when we see a block it can’t be more than 2 hours in the future? Or do you mean the timestamp can’t be more than 2 hours ahead of that in the previous block?
It’s probably impossible to make testnet safe against all abuse, without making it permissioned. Otherwise we would have invented an actual alternative to proof-of-work. So in practice we should probably only:
- Fix attacks that actually happened and caused, or continue to cause, significant problems. E.g. the loppocapse blockstorms.
- Deployment things we want to see on mainnet, to see if they have bugs and to see if anyone comes up with an attack that wasn’t foreseen and could_be used on mainnet.