As I understand the merkle tree hash is a (semi)unique hash of the combination of the new transactions and the previous blocks hash.
I'm assuming this hash changes when a new transaction is added to the block. Now since there are multiple transactions per second on average (with BTC), this means the nonce is "reset" each time.
As I've understood here: Restarting mining on new transaction 'restarting' is not really a valid concept, since every 'try' for mining a block is the same probability chance.
Since everyone would want to have the newest block to include as much transactions as possible, how is this managed.
Is it wrong to see it like this:
- Every miner hopes to find a new block in 1 second (which means billions of nonces tried if I understand correctly, given you have a fast miner).
- If it doesn't find the nonce in that 1 second, it will grab as many new transactions as possible, and starts bursting out new block hashes, until one is 'difficult' enough. And then advertises that block and everyone will have to verify and then accept/deal with this amount of transactions in the new block.
Is it wrong to think that it doesn't really matter if a miner spends 5 minutes on the same block, or switch to a new block every second or even faster? Since the probability is the same.
My question is basically if there is anything wrong with the above statements or assumptions.