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.