0

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)?

1

There is no FIFO. Miners are free to include any transactions they wish as long as the transactions are:

  1. Correct in syntax

  2. With correct wallet nonce (can't mine transaction with nonce 5 before 4 has been mined)

In reality the miners prefer transactions which give them the best rewards: the transactions with the highest gas price. So the higher gas price you give to a transactions the more likely it is to get higher priority. But there are no guarantees.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.