A Merkle Tree allows computers on a network to verify individual record without having to review and compare versions of the whole database.
They do so by using cryptography that reveals a private record while also guaranteeing that each one the opposite records within the database haven’t been changed.
First patented in 1979 by Ralph Markle. Markle Trees are important key to database verification throughout the history of computers.
Because of the distributed nature of the blockchain, we’d like secure and fast thanks to confirm everyone on the network has an equivalent ledger.
It allows you to prove that two versions of a ledger are according to minimal computing power and network bandwidth.
In the top of a hash tree there’s a top hash (or root hash or master hash).
Before downloading a file on a p2p network, in most cases the highest hash is acquired from a trusted source, as an example a lover or an internet site that’s known to possess good recommendations of files to download.
When the highest hash is out there , the hash tree are often received from any non-trusted source, like all peer within the p2p network.
Then, the received hash tree is checked against the trusted top hash, and if the hash tree is broken or fake, another hash tree from another source are going to be tried until the program finds one that matches the highest hash
How it works?
A Merkle Tree solves that problem of an excessive amount of data by pairing transactions up and hashing them together.
H(A)+H(B) = H(AB) and
H(C)+H(D) = H(CD)
Each Bitcoin block has the Merkle root contains within the block header.
To verify block content and consistency of multiple ledger.One need to compare the Merkle Tree of both the block.
Even a small inconsistency would cause vastly different Merkle roots due to the properties of a hash.
Hash trees are often wont to verify any quite data stored, handled and transferred in and between computers.
These are utilized in hash-based cryptography.
Hash trees also are utilized in the IPFS, Btrfsand ZFS file systems.