I am trying to understand how another block validates the transactions through the merkle root. Shouldn't it be impossible to know what hashes the merkle root is hashed from because you can't reverse it?

For instance, if there are 4 transactions. 0 and 1 are hashed together, 2 and 3 are hashed together and combining these together they are the merkle root. Yet, due to it all being hashed, how can another block or someone validate transaction 2?

1 Answer 1


When validating a block, the verifier has to know all the transactions in full.

So they can just recompute the Merkle root from the transaction hashes, and compare it with the one stored in the block header.

  • Hi Pieter, Thanks for answering. So when a block gets confirmed/validated, is it the miner that checks the transactions, rather than next block? Because the block itself won't hold all the transactions from the previous block.
    – lodeboon
    Nov 10, 2021 at 18:18
  • When verifying/mining a block, you check all the transactions in the block itself. The transactions from previous blocks have already been verified in the past. Nov 10, 2021 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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