Why doesn't the mining stop even if there are no further transactions?

+6 votes
I'm running a blockchain with 2 nodes in which only one node has the mining permission. I performed only 5 to 6 transactions. But the number of blocks keep increasing and the mining doesn't stop. What am I actually mining? And what do these block actually contain?
asked Mar 24, 2016 by Cypher

2 Answers

+3 votes
Best answer
Yes, block mining proceeds for now even if there are no transactions. We may add an option to change this in future, but certain features use the block number as a way to time-limit things, like temporary permissions and the setup period. For now these blocks only contain the coinbase transaction which contains the miner signature and reward (if you have one).
answered Mar 25, 2016 by MultiChain
selected Apr 21, 2016 by Cypher
When can we expect this feature because this really makes sense for a private blockchain with no mining reward associated?
We don't yet have a fixed ETA for it - the priority depends on how many other users request it.
I think, it is important for mining to continue even if there no transactions are performed by the users in the time frame defined in the block time. I thought it provides security to the chain. Assuming blocks are not added when no transactions are performed, it would provide a bad node ample time to perform changes to the transactions it had mined (assuming in the round robin, the last block was added by the bad node). Please guide me this regard.
I'm not sure this consideration is relevant because it does not take any meaningful processing time to change transactions (there is no proof of work).
+3 votes

Version 1.0 alpha 28 of MultiChain adds a mine-empty-rounds parameter which controls how long mining goes on for, after there are no new transactions: http://www.multichain.com/developers/blockchain-parameters/

answered Feb 17, 2017 by MultiChain