From what I understand, when you broadcast a transaction from a node or a service provider like Infura, it's broadcasted to other nodes and added to their mempool. Those nodes then broadcast that transaction to other nodes until it's picked up by a miner and processed.
If two transactions have the same GAS price, they will be ordered based on FIFO. But how is this determined:
If each node has it's own mempool, how is this FIFO decided? These two transactions might come from two completely different providers and reach different mempools at different times. Will they be ordered simply by which one reaches the mempool of the miner node?
Does the original broadcast time affect this ordered? I.e. if transaction A was broadcast to it's node first, transaction A will be ordered before transaction B (even though B was broadcast to another node)?