Merkle Tree

Named after Ralph Merkle.

Merkle tree is a  hash tree. Hash trees can be used to verify any kind of data stored, handled and transferred in and between computers. They can help ensure that data blocks received from other peers in a peer-to-peer network are received undamaged and unaltered, and even to check that the other peers do not lie and send fake blocks.

Robust mechanism to validate transactions

On distributed networks and peer to peer networks data is distributed across different locations .  Any alteration to these data’s needs to be verified. Even if we don’t have access to it’s true from.  Just the ability to validate whether the data is correct or not is necessary.

1. Every leaf node is the hash of it’s data block

2. Every non-leaf node is the cryptographic hash of it’s child nodes.

Algorithmic time complexity to search, validate and retrieve of merkle tree is same as that of binary trees.