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?