I read somewhere (but can't find now) that while a node might receive a stale block, the node won't propagate a block that it knows to be stale. Is that true?
If so I don't quite understand how a secret attacking miner, even if they did unrealistically obtain >51% hashing power, could pull off a massive reorg. I could see the attacker generating a fork with a longer chain, but when they tried to distribute that new chain to the network, they'd have to do it one block at a time. When a node received the first of the attackers new blocks, it would see it as a stale block, thus not propagate it, right?