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.

marked as duplicate by Badr Bellaj, Sebi, eth Dec 21 '16 at 9:42

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 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. – Roland Kofler Dec 20 '16 at 18:56
  • and: it gives a nice monetary supply inflation curve. – Roland Kofler Dec 20 '16 at 18:58
  • 1