<p>The (hashing) work required to mine a block is effectively the same whether the block contains any transactions or not. Regarding benefit to the miner, the miner collects transaction fees for all transactions in the block. If the block contains no transactions, then no extra reward is collected beyond the normal block reward (currently 12.5 BTC).</p>

CC BY-SA 3.0
2016-07-19T01:07:05.817Z
2016-07-19T01:07:05.817Z
Greg Hewgill
<p>Yes, you are correct that miners get to decide whether to include transactions in their block that they're mining. The protocol itself doesn't force them to include any transactions. Instead, they have a financial incentive to include transactions because they can collect <em>transaction fees</em> and profit more. </p>

<p>It's an interesting trade-off for them, because their profit has to outweigh their costs of validating those transactions. However, I suspect transaction validation doesn't cost miners anything because they can validate and hash transactions for block <code>i+1</code> as they are mining for block <code>i</code> with different hardware: validation is done on CPUs, mining is done on ASICs. </p>

<p>But there are interesting cases: For instance, miner A has to recompute their next block <code>i+1</code> if  another miner B finds block <code>i</code> and it includes transactions from miner A's next <code>i+1</code> block. In that case miner A would have to remove some TXs from his block <code>i+1</code> and recompute the Merkle tree. Or miner A can create an empty block <code>i+1</code> and just mine on that.</p>

<p>Sometimes, when mining on block <code>i+1</code>, miners even skip on validating other miners' block <code>i</code> in the hopes of winning the race by starting earlier <a href="https://bitcoin.stackexchange.com/questions/38437/what-is-spv-mining-and-how-did-it-inadvertently-cause-the-fork-after-bip66-wa">[1]</a>.</p>

<p>Hope this helps clarify things a little.</p>

CC BY-SA 3.0
2016-07-19T01:16:16.470Z
2016-07-19T01:16:16.470Z
Alin Tomescu
<p>I've already read many different answers to this topic. </p>

<p>Is it correct that the miner decides on his own if he includes any transactions in his block and how many (as long as the block size is &lt;1MB?)?</p>

<p>What is more beneficial for the miner and why: Creating an empty block, or creating either a block that contains all transactions of the pool/or &lt;1MB? Or is there an optimum?</p>

<p>Isn't it faster for a miner to not include any transactions in order to get the reward? Even more, if a large mining pool did that, isn't there the danger of taking over the network?</p>

CC BY-SA 3.0
2016-07-19T09:07:27.023Z
A miner that is using a traditional mining pool does not decide which transactions go in the block, the pool does.
David Schwartz
<mining-theory><transaction-selection><empty-blocks>
Creating empty blocks vs creating full blocks
mitchkman
# Creating empty blocks vs creating full blocks

(Asked by: username_0 on 2016-07-19)

I've already read many different answers to this topic.

Is it correct that the miner decides on his own if he includes any transactions in his block and how many (as long as the block size is <1MB?)?

What is more beneficial for the miner and why: Creating an empty block, or creating either a block that contains all transactions of the pool/or <1MB? Or is there an optimum?

Isn't it faster for a miner to not include any transactions in order to get the reward? Even more, if a large mining pool did that, isn't there the danger of taking over the network?

**Tags:** mining-theory, transaction-selection, empty-blocks

> **Comments:**
> **username_1**: A miner that is using a traditional mining pool does not decide which transactions go in the block, the pool does.  

---

## 2 answers

### Answer by username_3 on 2016-07-19. Score: 5 | Accepted answer

Yes, you are correct that miners get to decide whether to include transactions in their block that they're mining. The protocol itself doesn't force them to include any transactions. Instead, they have a financial incentive to include transactions because they can collect *transaction fees* and profit more.

It's an interesting trade-off for them, because their profit has to outweigh their costs of validating those transactions. However, I suspect transaction validation doesn't cost miners anything because they can validate and hash transactions for block `i+1` as they are mining for block `i` with different hardware: validation is done on CPUs, mining is done on ASICs.

But there are interesting cases: For instance, miner A has to recompute their next block `i+1` if another miner B finds block `i` and it includes transactions from miner A's next `i+1` block. In that case miner A would have to remove some TXs from his block `i+1` and recompute the Merkle tree. Or miner A can create an empty block `i+1` and just mine on that.

Sometimes, when mining on block `i+1`, miners even skip on validating other miners' block `i` in the hopes of winning the race by starting earlier [[1]](https://bitcoin.stackexchange.com/questions/38437/what-is-spv-mining-and-how-did-it-inadvertently-cause-the-fork-after-bip66-wa).

Hope this helps clarify things a little.


---

### Answer by username_2 on 2016-07-19. Score: 1

The (hashing) work required to mine a block is effectively the same whether the block contains any transactions or not. Regarding benefit to the miner, the miner collects transaction fees for all transactions in the block. If the block contains no transactions, then no extra reward is collected beyond the normal block reward (currently 12.5 BTC).


---

