<blockquote>
<p>Is it necessary for the miner to know the transactions from the beginning of mining process?</p>
</blockquote>
<p>Yes.</p>
<blockquote>
<p>Or he won't need these information until he succeed in the mining and find the nonce that its output starts with a certain number of zeroes?</p>
</blockquote>
<p>What can he do after he's already mined a block? He can't change the block.</p>
<blockquote>
<p>In other words aren't the only information the miner need before success are: Version, Previous Block, Merkle Root, Time, and Bits?</p>
</blockquote>
<p>Sure, but the merkle root cannot be computed without knowing the transactions in the block.</p>

CC BY-SA 4.0
2022-02-16T10:13:28.960Z
2022-02-16T10:13:28.960Z
David Schwartz
<p>Is it necessary for the miner to know the transactions from the beginning of mining process? Or he won't need these information until he succeed in the mining and find the nonce that its output starts with a certain number of zeroes? In other words aren't the only information the miner need before success are: Version, Previous Block, Merkle Root, Time, and Bits?</p>

CC BY-SA 4.0
2022-02-16T03:51:37.097Z
The Merkle root depends on all of the transactions in the block (including their order); in fact the entire reason it exists in the block header is to bind the transactions to the block.
dave_thompson_085
CC BY-SA 4.0
2022-02-16T11:15:41.783Z
@dave_thompson_085 So the Merkle root differs from a miner to another (because the first transaction that is the reward transaction its address depends on the miner)?
Prometheus
CC BY-SA 4.0
2022-02-16T15:22:53.630Z
@Roofnos Exactly.
Pieter Wuille
CC BY-SA 4.0
2022-02-17T08:21:56.303Z
For a _solo_ miner, as was common years ago, yes each will use a different coinbase output, making the txn and thus the Merkle root different. Miners in a pool, which is practically all today, share the same coinbase _output_, but are assigned different 'extranonce' values in the coinbase's basically-dummy _input_, with the same result.
dave_thompson_085
<blockchain><mining-theory>
When exactly do I need to know the list of transactions during the mining process?
Prometheus
# When exactly do I need to know the list of transactions during the mining process?

(Asked by: username_0 on 2022-02-16)

Is it necessary for the miner to know the transactions from the beginning of mining process? Or he won't need these information until he succeed in the mining and find the nonce that its output starts with a certain number of zeroes? In other words aren't the only information the miner need before success are: Version, Previous Block, Merkle Root, Time, and Bits?

**Tags:** blockchain, mining-theory

> **Comments:**
> **username_1**: The Merkle root depends on all of the transactions in the block (including their order); in fact the entire reason it exists in the block header is to bind the transactions to the block.  
> **username_0**: @username_1 So the Merkle root differs from a miner to another (because the first transaction that is the reward transaction its address depends on the miner)?  
> **username_2**: @Roofnos Exactly.  
> **username_1**: For a _solo_ miner, as was common years ago, yes each will use a different coinbase output, making the txn and thus the Merkle root different. Miners in a pool, which is practically all today, share the same coinbase _output_, but are assigned different 'extranonce' values in the coinbase's basically-dummy _input_, with the same result.  

---

## 1 answers

### Answer by username_3 on 2022-02-16. Score: 0 | Accepted answer

> Is it necessary for the miner to know the transactions from the beginning of mining process?

Yes.

> Or he won't need these information until he succeed in the mining and find the nonce that its output starts with a certain number of zeroes?

What can he do after he's already mined a block? He can't change the block.

> In other words aren't the only information the miner need before success are: Version, Previous Block, Merkle Root, Time, and Bits?

Sure, but the merkle root cannot be computed without knowing the transactions in the block.


---

