2

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.

  • 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 Jan 6 '15 at 17:24
  • 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 Jan 6 '15 at 17:30
2

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.