A miner is in the process of creating and mining a block of 1400 transactions. Suddenly they receive a broadcast that a new block was confirmed with 200 of the transactions currently in that miner's block. How does a miner proceed in this scenario - dropping the 200 and adding 200 others from the mempool and trying to mine a block?
In a second scenario, two blocks are created almost at the same time and they each have some of the same and some different transactions. I'm assuming (a) that there is then a race to consensus for each and the first to 51% wins a confirmation. If so, then similar to above (b) the block with losing transactions has all the dissimilar transactions dumped back in the mempool. But what if a second chain surfaces with two blocks? Now all the confirmations in (a) that aren't confirmed in this second block get dumped back into the mempool and hopefully finally mined into the blockchain?
The takeway for me >>> Obviously this system does work since its very popular! But it seems that transactions can take a very long time and no way to really guarantee that they will occur unless a payor decides to pay a high fee to almost confirm that miners will pay attention to his transactions first and most will include that transaction into the miner's next block to add to the chain.