Blockchain Academy
We'll get together for networking with people interested in Blockchain including developers and anyone curious about Blockchain.

Merkle Root

Merkle root is a value which enters a block header in Bitcoin. It refers to the topmost parent node in Merkle tree. The image below indicates Merkle tree and the only one root on the top hash is Merkle root.

First hash the transactions in the block, then hash after combining a pair of adjacent nodes together like on the image above. Repeat this process until you get the only one hash and input this hash value to the block header. Hash function has a quality of which if any value changed, the result would be completely different. So, it's possible to check with this value whether the transaction is manipulated or not. When verifying a transaction, instead of storing every data, it is done by comparing Merkle root value through Merkle path. Even if a transaction history is long, the size of transactions entering the block can be reduced, because the hash function outputs the same length of value all the time.

In case of Ethereum, the block header includes the root hash of the transactions, state, and receipts like logs of transaction, using Merkle Patricia Tree. This increases the creation time of block and helps to find the root value efficiently when verifying the transaction information.