Thanks. So is there a way to make mining more decentralised/egalitarian, so that people in developing countries can have a chance?
Can't think of much. If you're in a developing country, you might have an edge if you hold sufficient resources (mining is significantly cheaper in those place). PoW (ASIC resistant algorithm) is possibly the only way that people can mine without huge amount of resources, PoW needs loads more resources.
Great thanks. That's good to hear. So effectively, if another node where to mine a block before you broadcast your own (ie come back online), then your own would be orphaned? Why does the protocol not just ignore it?
I think I can re-explain it.
The network doesn't know who is mining and who isn't. If someone is mining, they consolidate the transactions into a merkle root and tries to hash the block header such that it fits the target. Effectively, the only information you need is the hash of the last block and the transactions not yet in the blockchain (ie. unconfirmed). When someone mines a block and the whole network accepts it as valid, the miners on the network will start to mine on the new block, ignoring other blocks at the same height. Hence, if you broadcast the block a minute or two late, every node on the network will simply ignore your block because there is another block that extends the blockchain, such that its proof of work would be the same as your block.
Nodes do, in fact ignore any chain that has a lesser proof of work than the one that they have. If it's the same, they consider the blocks which is relayed to them first.
Obviously, if you can mine faster than all the others, you wouldn't need internet (other than at the start) and your chain would still be accepted. But I'm not talking about it due to obvious reasons.