I understand that the miner mines after calling miner.start() until you call miner.stop(). This is already explained here.

However, I want to understand the idea behind this concept of continuous mining even without pending transactions. Why is Ethereum not implemented (or at least configured) to stop mining if there are no pending transactions? The disadvantage is that "empty blocks" are mined. Besides, an elastic architecture might assign less (cloud resources) if there is no need to mine. This would be interesting especially in cloud infrastructures (e.g. I play around with the Ethereum Azure Consortium Template, which starts mining automatically when you spin up the blockchain infrastructure).

What are the advantages of doing continuous mining? Why did Ethereum implement it this way?

I think especially about private or consortium blockchains and if why it sense here.

  • One reason I can think of is to have hold average blocktimes constant. A nice feature to know a timeframe 24h are roughly 6000 blocks. Difficulty adjusts to guarantee this. Sidenote: yes the difficulty bomb is changing this next year, so argument is weakish. Commented Dec 20, 2016 at 18:56
  • and: it gives a nice monetary supply inflation curve. Commented Dec 20, 2016 at 18:58
  • 1
    – Badr Bellaj
    Commented Dec 20, 2016 at 18:58