Statistically this is possible, yes, but it should be a "tail event," if not an outright "black swan." Difficulty is supposed to dynamically adjust so that the target time to find each block is reached, yes?*
* - I suspect if the difficulty adjustment function was too aggressive oscillations in difficulty would result, with severe over and undershoot; perhaps that is what we are seeing as a result of, e.g., wild swings in network hashrate from NiceHash coming on/offline?
Hours would definitely be a tail event, yes, but it could theoretically happen just as 100 straight "heads" could happen in a long enough series of coin tosses. DERO's adjustment seems to do very nicely when we see spikes like yesterday's where IIRC we hit over 15MH/s for a while. I've seen blockchains get locked up for hours / days because of a spike like that.
12 minutes, which is what the original poster was asking about, wouldn't be especially uncommon with a 2 minute target time. More like 5 or 6 straight "heads" to continue the analogy.
Aww, crap - I forgot to mention in that post that the time since the last block was found when I was writing it was about an hour; 30x the average ttf most definitely qualifies as the wispy, asymptotic end of the bell curve.
A very simple block-to-block difficulty adjustment such as "last block was 30 seconds, multiply difficulty by 7" would be awful as you say. Varying by block but with some smoothing by averaging out the last X number of block times and calculating from there is the best case scenario.
Yep, I'm an EE for my day job specializing in switchmode power conversion (generically speaking) so I have plenty of experience with feedback loops and how they misbehave. A simple, digital-friendly and usually bulletproof means of maintaining good transient response while not going batshit crazy responding to every whipsaw change is the moving or rolling average. While the general principle is applicable here - that is, adjusting difficulty vs. changes in network hashrate - I am not quite sure how that could be implemented in practice (hey, I'm a coin miner, not a developer!).