I don't really understand which transactions a miner includes in a block. Since the transactions are hashed, any newly included transaction in a block should cause a restart of finding the correct nounce, shouldn't it? So a miner has to collect the whole set of transactions he wants to include in the block he is calculating for before beginning to find the nounce?

I presume it works the following way: A Miner collects all transactions reaching him while the network still calculates the nounce for the block before. If he receices a newly found block from another miner, the includes all transactions that reached him up to this time and begins trying to finde the node. Is this correct?


There is hardly any performance penalty for updating the block with a new hash (including new transactions) for the miners. In fact, even if they do not get any new transactions, they change the hash (using an extra nounce), at the very latest when they have exhausted all possible 32-bit nonce value in the block they were currently working on.

You likely have a misunderstanding of the mining process. It does not work such that you have to invest a large fixed amount of work. Instead, you do something fairly fast, calculating a double SHA256 hash, to see if the result is just right (for the current level of difficulty). Then you repeat the process until you get lucky.

| improve this answer | |

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