<p>Most miners today simply use sort transactions by fee/byte and include them in blocks. This is optimal strategy for revenue maximization(ignoring the knapsack errors).</p>

<p>When the nonce space is exhausted, miners can either change the timestamp of the header or they can use the additional space in the first transaction(called coinbase) where they can put random data. Changing this random data changes the merkle root, on which you try out 2^32 nonces.</p>

<p>So, to answer your question miners don't necessarily try to find new transactions that will find the solution, they can mine the same set of transactions with a little change in first transaction that does not affect the outputs any transactions in the block.</p>

CC BY-SA 3.0
2017-11-02T20:05:37.407Z
Where can I find more information about you said regarding the changes in timestamp and in coinbase?
JRbarros
CC BY-SA 3.0
2017-11-03T04:24:27.737Z
Please read https://bitcoin.org/en/developer-reference#block-headers on bitcoin wiki. The nonce section in the table has links to relevant sections
sanket1729
CC BY-SA 3.0
2017-11-02T03:17:59.073Z
2017-11-02T03:17:59.073Z
sanket1729
<p>I started reading about Bitcoin a few weeks ago. Reading most the information and watching videos on the web, I though I understood about the mining process. However, I was shocked when I realized than all the 2^32 combinations of possible values of Nonce can be found is less than 1sec with the current mining hardware. I was even more shocked when I saw the explanation that the mining process also includes the selection of each transaction will be processed. Thus, mining process is much more "try to find the transactions" that will provide the solutions than really try to find the correct Nonce. When the solution is found, then does the miner publish the list of all transactions he selected, the Merkel Root and the Nonce. If the miner's solution is correct, he receives the block reward (currently is 12.5BTC) plus all the transactions fees included in the publish list (not all initial transactions).</p>

<p>At the same time, the concept of "Priority transactions" (<a href="https://en.bitcoin.it/wiki/Transaction_fees" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Transaction_fees</a>) no longer applies , since the miners choose the transactions to be processed.</p>

<p>Is my understanding correct? </p>

CC BY-SA 3.0
2017-10-31T21:12:10.853Z
Your understanding is a little bit nervous, but without significant errors. Why are you shocked? Modern computers are very fast and can calculate billions operations per second in parallel
amaclin
CC BY-SA 3.0
2017-11-01T03:36:34.700Z
It’s more than that! The miner on my desk can do 25,000 2**32 nonce ranges a second, and it’s not even particularly modern. Miners are fast at doing their very specific task.
Claris
<transactions><mining-theory><merkle-tree><nonce>
Mining Process - Transactions Selection
JRbarros
# Mining Process - Transactions Selection

(Asked by: username_0 on 2017-10-31)

I started reading about Bitcoin a few weeks ago. Reading most the information and watching videos on the web, I though I understood about the mining process. However, I was shocked when I realized than all the 2^32 combinations of possible values of Nonce can be found is less than 1sec with the current mining hardware. I was even more shocked when I saw the explanation that the mining process also includes the selection of each transaction will be processed. Thus, mining process is much more "try to find the transactions" that will provide the solutions than really try to find the correct Nonce. When the solution is found, then does the miner publish the list of all transactions he selected, the Merkel Root and the Nonce. If the miner's solution is correct, he receives the block reward (currently is 12.5BTC) plus all the transactions fees included in the publish list (not all initial transactions).

At the same time, the concept of "Priority transactions" (<https://en.bitcoin.it/wiki/Transaction_fees>) no longer applies , since the miners choose the transactions to be processed.

Is my understanding correct?

**Tags:** transactions, mining-theory, merkle-tree, nonce

> **Comments:**
> **username_1**: Your understanding is a little bit nervous, but without significant errors. Why are you shocked? Modern computers are very fast and can calculate billions operations per second in parallel  
> **username_2**: It’s more than that! The miner on my desk can do 25,000 2**32 nonce ranges a second, and it’s not even particularly modern. Miners are fast at doing their very specific task.  

---

## 1 answers

### Answer by username_3 on 2017-11-02. Score: 2 | Accepted answer

Most miners today simply use sort transactions by fee/byte and include them in blocks. This is optimal strategy for revenue maximization(ignoring the knapsack errors).

When the nonce space is exhausted, miners can either change the timestamp of the header or they can use the additional space in the first transaction(called coinbase) where they can put random data. Changing this random data changes the merkle root, on which you try out 2^32 nonces.

So, to answer your question miners don't necessarily try to find new transactions that will find the solution, they can mine the same set of transactions with a little change in first transaction that does not affect the outputs any transactions in the block.

> **Comments:**
> **username_0**: Where can I find more information about you said regarding the changes in timestamp and in coinbase?  
> **username_3**: Please read https://bitcoin.org/en/developer-reference#block-headers on bitcoin wiki. The nonce section in the table has links to relevant sections  

---

