3

I've just read the following question Does block size effect Miner's Hashing speed?

and it appears that the answer is no - since miners only need to hash the Merkle root.

However, updating the Merkle root will take a lot of CPU power if/when bitcoin transactions reach a rate of 4000 tps.

What is the incentive for miners/pools to expend effort maintaining the merkle root at this rate? Obviously if they do not expend this effort the result will be an ever growing backlog of unverified transactions.

6

The merkle root ensures that transactions were part of the block that is being found. It links the block header to the set of transactions in the block.

So if you don't update the merkle root you are not actually confirming the transactions, and you won't be able to collect the fee of the transactions. So the incentive to update the merkle root is the same as for including transactions into a block: you get transaction fees for doing so.

  • Thanks, that makes perfect sense. I think the thing that confused me was that when I read the paper I got the impression that "transaction fees" were a thing of the future, and that for now the incentive comes from the fact you are allowed to introduce a new coin - owned by the miner - as the first transaction in a block. – Alex Zeffertt Apr 1 '13 at 17:16
  • But, aren't there transaction without fees? In those cases, what is the incentive? – Eyal Apr 2 '13 at 7:46
  • 1
    While there are no direct incentives to include free transactions, there is an indirect one: as the miners profit from an overall healthy Bitcoin ecosystem they are likely to also include them. – cdecker Apr 2 '13 at 17:28
0

well, when you run through the whole 32 bit nonce value and cannot get the hash with the difficulty level required, you may as well included additional transactions which will indirectly change the merkle root value and hopefully a new set of nonce value will enable miner to get the hash value matching the difficulty level.it just one of their strategies.

0

There are two reasons for updating the root. Typically, only the second one is the reason for updating it.

  1. The 32-bit nonce for the current Merkle root has already been exhausted, a new root must be calculated by permuting the transaction order to continue the PoW problem.
  2. More transactions with better fees have been collected in the mempool. Calculating a new Merkle tree means more potential profit with less potential loss.

Receiving more transactions typically happens much more than exhausting the entire 32-bit nonce, and is done to include as many transactions as possible to receive the highest fee reward.

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.