How to choose the transactions for a block? From my understanding, the memory pool (or transaction pool) contains &quot;open&quot; or &quot;unconfirmed&quot; transactions that have to be validated and can be chosen (arbitrarily?) to be part of a &quot;candidate block&quot;. For this block, the hash puzzle in a proof of work blockchain has to be solved before it can be added as a valid block to the blockchain.

How do miners choose the transaction(s)?

Does the difficulty vary depending on the number of chosen transactions? If not, wouldn't it be advisable to include as many transactions as possible when trying to find a new &quot;candidate&quot; block (maybe depending on the reward - just currency units or also (or only) transaction fees for the transactions included in the block)?

If the difficulty varies based on the number of selected transactions, however, wouldn't it be best to just choose one transaction and then &quot;quickly&quot; (i.e. as the first) come up with a valid candidate block to be added to the blockchain?

If it makes sense to choose &quot;all open/unconfirmed&quot; transactions and then try to solve the hash puzzle (by, as I've read starting with a Nonce value of 0 and then sequentially increasing it), wouldn't it simply boil down to the result that the miner with the largest processing power would always win?
How do miners choose the transaction(s)?

However they want. Usually by picking the ones with the highest fees, but also sometimes picking ones that have been unconfirmed for the longest, sometimes prioritizing their own transactions, etc.

Does the difficulty vary depending on the number of chosen transactions?

No.

If not, wouldn't it be advisable to include as many transactions as possible when trying to find a new &quot;candidate&quot; block (maybe depending on the reward - just currency units or also (or only) transaction fees for the transactions included in the block)?

Yes, this is the general idea.

If the difficulty varies based on the number of selected transactions, however, wouldn't it be best to just choose one transaction and then &quot;quickly&quot; (i.e. as the first) come up with a valid candidate block to be added to the blockchain?

The difficulty doesn't vary based on the number of selected transactions.

If it makes sense to choose &quot;all open/unconfirmed&quot; transactions and then try to solve the hash puzzle (by, as I've read starting with a Nonce value of 0 and then sequentially increasing it),

You can't include &quot;all unconfirmed transactions&quot; -- there's a size limit to the block. It's in the miner's best interest to include as many will fit in the block though, since the transactions come with transaction fees that are paid to the miner.

wouldn't it simply boil down to the result that the miner with the largest processing power would always win?

I don't understand what you mean by win, but miners who have the most processing power will mine the most blocks.