Given that a block is collection of transactions that a miner can accumulate in 10 minutes, could it not be the case that every miner gets to work on one's own block? Delays in the network imply that miner A could have collected only 20 transactions in the time Miner B is able to collect 100 transactions. Questions:
Does this imply that every miner could be working an different block to add to the chain? Or, are they all working on the same block in a given 10min interval?
What about adding a newly mined block to the local copies of all other participants? If there is not explicit synchronization between all the participants, some participants (miners) could be working on a stale copy of the blockchain in which the latest transaction has not posted yet. How is this prevented?