I am wondering how transactions are propagaded in an Ethereum network. Assuming a Miner recieves an transaction, how does he deal with it. Does he immediatly send it to his peers, or does he collect income transactions for a certain amount of time before publishing them?

1 Answer 1


In Ethereum (and basically any blockchain) speed is vital. So as soon as anyone sees a transaction they should forward it - there's no reason to stack them in bundles of some sort or at least the saved bandwidth is not worth it.

The faster transactions propagate throughout the network the less there are side chains and therefore less uncle blocks and dead sidechains. Ethereum uses uncle blocks to mitigate the problem with (relatively) slow propagation but it's only kind of a backup.

Of course when a miner node receives a transaction he has to do his own processing for it (at least to decide whether to include it in his next block or not). But that shouldn't prevent him from forwarding it first. In theory clients can do whatever they want - maybe even not forward it at all but that wouldn't be a very good client implementation and it wouldn't be used.

  • Thanks for your answer. I looked up the geth implementation (github.com/ethereum/go-ethereum/blob/master/core/…) and found there the time intverall statsReportInterval beeing 8 seconds. What does this intverall mean? - That a miner broadcasts it's recieved transactions each 8 second?
    – Thomas
    Oct 14, 2019 at 9:01
  • Sorry, I'm not familiar with the client implementations so I couldn't say. My answer may even be incorrect - maybe they are not incentivized to propagate everything asap, but I just can't think of a reason for acting so. Oct 14, 2019 at 9:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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