Unfortunately, for now this means we won't have 20-minute block times in a while, i.e. no solo-mined tBTC.
You can always have some 20-minute block with the minimal difficulty.
Not at the current difficulty. People are mining blocks every 2 minutes; there is realistically no chance for a 20 min time period without blocks.
After 20 minutes, there are two options:
1. Some block with difficulty one will be accepted.
2. Some block with the real difficulty will be accepted.
I know, that's what this whole thread is about and I've been scooping up tons of 1-difficulty blocks months ago, myself!
When it comes to weak blocks, everyone can produce them, by using CPU, GPU, FPGA, ASIC or whatever.
That is not true; LoyceV has shown it in an experiment and we've calculated it on paper, too. ASICs solve these blocks in a fraction of a second, meanwhile a (regular / not highest-end) CPU can need minutes or more; no advantage in internet speed will be enough to offset that.
In those cases, CPUs are more important than other hardware, because they are used to send blocks, so it is a competition between nodes, and not between miners.
That's incorrect.
This is where I was wrong:
The highest possible target (difficulty 1) is defined as 0x1d00ffff
The average time to find a block can be approximated by calculating:
time = difficulty * 2**32 / hashrate
The expected number of hashes we need to calculate to find a block with difficulty D is therefore
D * 2**256 / (0xffff * 2**208)
Actually, if we use this formula, it appears that with difficulty=1, you need on average 4295032833 or ~4.3GH to find a valid one. So on a 7MH/s machine, that's 613 seconds or 10 minutes. Impossible..

>>> 1 * 2**32 / 7000000
613.5667565714285
[...]
>>> 4.3e9 / 300e9 # hashes needed on average / hashrate of compac f
0.014333333333333333
With just 300GH/s and difficulty=1, it only takes it 0.0143s to go through those 7 million hashes.
This would also mean that the formula expecting @LoyceV's CPU to take on average 10 minutes, is correct.