While poking through my Geth logs I noticed that block 1,000,006 doesn't actually contain any transactions. Why is that?
1 Answer
Some possible reasons:
- No one sent a transaction during that timeframe.
- Someone was mining and found a solution before it received any transactions to include in the block. And this solution was picked up by other miners who mined on top of it.
Just like Bitcoin, there is no rule in the Ethereum protocol that miners have to include transactions: there is only an incentive for them to do so, via transaction fees.
A difference with Bitcoin, is that Ethereum has no coinbase transactions. The miner does get paid, but it isn't a transaction.
-
1thanks for the answer. But it's still not clear to me: how someone found a solution... when there is not block generated? Do you mean the miners just create empty blocks and timestamp them and then try to find the solution? So, after that, if still, no one sends a transaction, they create other blocks. Since some time has passed, time is different, then the solution would be different and so forth? Thanks!– AydinOct 18, 2017 at 18:49
-
1
-
1You are missing the most common reasons, First one is, the miners see the possible profit of including transactions smaller than the opportunity cost of becoming an uncle block during propagation. Second one is attacking the network, to increase price, slow it down. And third one, during forks, miners can do this to ensure that their block will be valid on both chains, in case that some transactions risk failure to some people, that way at least they get the mining subsidy (mining reward given by network not gas) Nov 20, 2018 at 13:18
-
@EnriqueAlcazar Upvoted, thanks, and feel free to add an answer (we strive to have best answers and sometimes our community is shy about adding new answers that may be more thorough and "better").– eth ♦Jan 3, 2019 at 13:25
-
I'm just completing your answer, you wrote it first so you deserve more credit :) Jan 4, 2019 at 15:09