I've been trying to understand what exactly happened in July 2015. Specifically, I can't figure out why F2Pool and AntPool mined for so long (~1 hour) on an unverified chain?
According to blockchain.info, the first orphaned block was generated at 2:09am [1], while the 6th block was generated at 3:05am [2]. This suggests that F2Pool was "SPV mining" for over an hour, which seems very risky considering they had no information about the validity of the preceding block that they built their first (invalid) block on (i.e. the block in [1]). I realize that block header timestamps could be off by a little bit, but the time should still be close to an hour, right?
Here's my understanding: I think I see how "SPV mining" can reduce orphan rates by starting to mine earlier on an empty block before verifying its predecessor. From [3] and [4], I understand that an SPV miner would mine block B on top of an unverified block header A (or hash, as in July 2015) under the assumption that it would receive A's block contents soon and verify them. This way, the miner would be sure that its SPV-mined, empty block B is also valid. I also understand that if block A is invalid, then the Bitcoin P2P network (and perhaps other gossip channels Bitcoin miners use such as BRN) will not relay the invalid block's contents to save bandwidth, which means the SPV miner now has to rely on a timeout to tell whether A is valid or not.
What I don't understand is how come F2Pool did not time out in July 2015? Did they not implement that logic? That would seem silly from a money making perspective.
I could not find much about this online.
PS: I've read the answer here but it doesn't explain why F2Pool went on to SPV mine for so long.