<p>Every transaction has a hash associated with it. In a block, all of the transaction hashes in the block are themselves hashed (sometimes several times — the exact process is complex), and the result is the Merkle root. </p>

<p>In other words, the Merkle root is the hash of all the hashes of all the transactions in the block. <strong>The Merkle root is a part of the block header</strong>. With this scheme, it is possible to securely verify that a transaction has been accepted by the network (and get the number of confirmations) by downloading just the small block headers and Merkle tree – downloading the entire block chain is unnecessary. This feature is currently not used in Bitcoin, but it will be in the future.</p>

<p>UPDATE: This feature is currently used by lightweight bitcoin clients</p>

<blockquote>
  <p>"Is some data is changed, the hash will not be the same so, it is
  possible to notice that some data is changed."</p>
</blockquote>

<p>Yes if some data is changed then the Merkle root hash will be different.</p>

CC BY-SA 4.0
2018-07-30T07:12:54.307Z
*”This feature is currently not used in Bitcoin, but it will be on the future”*...? This is false, light clients use the merkle root to verify the validity of transactions. So the tech is in fact widely deployed and utilized right now.
chytrik
CC BY-SA 4.0
2018-07-30T07:38:04.943Z
I have investigated a bit more, and i tkink that the hash of the block is only performed over the block header, and in the block header there is the Merkle root (If a transaction is changed, merkel root value changge and as the merkle root is stored in the header, the hash of the header will change)
david.t_92
CC BY-SA 4.0
2018-07-29T16:42:32.400Z
2018-07-30T08:32:20.270Z
2018-07-30T08:32:20.270Z
Fuzzybear
<p>That is the question, why a block needs to have a Merkle root hash, as Iundestand, once a block is mined the hash value of this block is stored at the header of the next one so, it generates the chain.</p>

<p>Is some data is changed, the hash will not be the same so, it is possible to notice that some data is changed.</p>

<p>So I see that storing the merkle root hash at the header of a block is unuseful as it is doing the same thing as hash pointer of the next block of the chain is doing</p>

<blockchain><hash><merkle-tree><block-validity>
Why A Block have a Merkle root hash?
david.t_92
# Why A Block have a Merkle root hash?

(Asked by: username_0 on 2018-07-29)

That is the question, why a block needs to have a Merkle root hash, as Iundestand, once a block is mined the hash value of this block is stored at the header of the next one so, it generates the chain.

Is some data is changed, the hash will not be the same so, it is possible to notice that some data is changed.

So I see that storing the merkle root hash at the header of a block is unuseful as it is doing the same thing as hash pointer of the next block of the chain is doing

**Tags:** blockchain, hash, merkle-tree, block-validity


---

## 1 answers

### Answer by username_1 on 2018-07-29. Score: 0

Every transaction has a hash associated with it. In a block, all of the transaction hashes in the block are themselves hashed (sometimes several times — the exact process is complex), and the result is the Merkle root.

In other words, the Merkle root is the hash of all the hashes of all the transactions in the block. **The Merkle root is a part of the block header**. With this scheme, it is possible to securely verify that a transaction has been accepted by the network (and get the number of confirmations) by downloading just the small block headers and Merkle tree – downloading the entire block chain is unnecessary. This feature is currently not used in Bitcoin, but it will be in the future.

UPDATE: This feature is currently used by lightweight bitcoin clients

> "Is some data is changed, the hash will not be the same so, it is
> possible to notice that some data is changed."

Yes if some data is changed then the Merkle root hash will be different.

> **Comments:**
> **username_2**: *”This feature is currently not used in Bitcoin, but it will be on the future”*...? This is false, light clients use the merkle root to verify the validity of transactions. So the tech is in fact widely deployed and utilized right now.  
> **username_0**: I have investigated a bit more, and i tkink that the hash of the block is only performed over the block header, and in the block header there is the Merkle root (If a transaction is changed, merkel root value changge and as the merkle root is stored in the header, the hash of the header will change)  

---

