A merkle tree also called hash tree is a type of data structure used in cryptography and computer science where each leaf node contains the hash of data block and non leaf node contains the cryptographic hash of its labelled child nodes.
Each merkle tree has a root hash also called master hash that if formed by implementing cryptographic hash techniques like SHA-2 algorithms and is obtained from any trusted source on the blockchain network.
Application of the Markle tree
- They are used to verify any kind of data stored, handled and transferred in between computers.
- They are used to identify any changes made in the data during transmission.
- They are used to identify fake blocks.
- They are used in hash-based cryptography.
- They are also used in Inter Planetary File System (IPFS), Btrfs and Zettabyte File Systems.
- They are used in protocols like Dat protocol and Apache Wave Protocol.
- They are used in systems like Git and Mercurial distributed revision control systems and the Tahoe-LAFS backup system.
- They are used in peer to peer networks like Zeronet, Ethereum, and Bitcoin.
- They are used in the certificate transparency framework.
- They are used in a number of NoSQL systems such as Apache Cassandra, Riak, and Dynamo.