<blockquote>
  <p>Do all people mining the next block use the same transactions to form the Merkle tree?</p>
</blockquote>

<p>No. This can arise because miners choose transactions differently (I say there shouldn't be free transactions!) or because a transaction is only known about by 90% of the network.</p>

<blockquote>
  <p>I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?</p>
</blockquote>

<p>That depends on why you didn't include XYZ in your first block. </p>

<ul>
<li>If you didn't include them because you don't know about them, then you won't.</li>
<li>If you didn't include them because they didn't pay enough fees, then you might.</li>
<li>If you didn't include them because there wasn't enough space in the block, then you probably would.</li>
</ul>

<blockquote>
  <p>If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.</p>
</blockquote>

<p>Yes. Mining clients download and fully validate blocks before mining on top of them.</p>

CC BY-SA 3.0
2015-01-08T01:12:03.130Z
2015-01-08T01:12:03.130Z
Nick ODell
<p>I've read the Developers Guide ( bitcoin.org/en/developer-guide ), asked a few peers and I still don't understand how the transactions are used to form the block.</p>

<p>I did get that the transactions are used to form the Merkle tree. Do all people mining the next block use the same transactions to form the Merkle tree?</p>

<p>Let's say that the Bitcoin network has the transactions A, B, C, X, Y, and Z. All of them are unconfirmed.</p>

<p>I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?</p>

<p>If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.</p>

CC BY-SA 3.0
2015-01-06T17:24:50.057Z
anonimou, I've attempted to clarify your question. If I've changed the intent of your question, feel free to use the 'rollback' feature. (It's under the revision history.)
Nick ODell
CC BY-SA 3.0
2015-01-06T17:30:54.747Z
Nick, Thanks!! I think that with your edition you kinda asked my question. I was not sure if the transactions that are used for mining HAD TO BE the same for all people that were mining on a single time or it could be different (me working on A,B,C and you on X,Y,Z, for example). Thanks!!
anonimou
<blockchain><mining-theory><merkle-tree><transaction-selection>
Transactions used to form a block
anonimou
# Transactions used to form a block

(Asked by: username_0 on 2015-01-06)

I've read the Developers Guide ( bitcoin.org/en/developer-guide ), asked a few peers and I still don't understand how the transactions are used to form the block.

I did get that the transactions are used to form the Merkle tree. Do all people mining the next block use the same transactions to form the Merkle tree?

Let's say that the Bitcoin network has the transactions A, B, C, X, Y, and Z. All of them are unconfirmed.

I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?

If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.

**Tags:** blockchain, mining-theory, merkle-tree, transaction-selection

> **Comments:**
> **username_1**: username_0, I've attempted to clarify your question. If I've changed the intent of your question, feel free to use the 'rollback' feature. (It's under the revision history.)  
> **username_0**: username_1, Thanks!! I think that with your edition you kinda asked my question. I was not sure if the transactions that are used for mining HAD TO BE the same for all people that were mining on a single time or it could be different (me working on A,B,C and you on X,Y,Z, for example). Thanks!!  

---

## 1 answers

### Answer by username_1 on 2015-01-08. Score: 2 | Accepted answer

> Do all people mining the next block use the same transactions to form the Merkle tree?

No. This can arise because miners choose transactions differently (I say there shouldn't be free transactions!) or because a transaction is only known about by 90% of the network.

> I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?

That depends on why you didn't include XYZ in your first block.

* If you didn't include them because you don't know about them, then you won't.
* If you didn't include them because they didn't pay enough fees, then you might.
* If you didn't include them because there wasn't enough space in the block, then you probably would.

> If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.

Yes. Mining clients download and fully validate blocks before mining on top of them.


---

