What is a Merkle Tree?

12 Feb 2015

Bitcoin merkle treeA Merkle tree is like is a binary tree like structure that condenses all the transactions to be hashed into a block.

The way it works is like a traditional binary tree.

Merkle Trees are used in many cryptographic functions to provide efficient data storage and reduce the level of data needed to prove something exists.

All of the transactions that the miner has picked are ordered in a row – with the generation or coinbase transaction first (the transaction that generates the Bitcoins for the miner who found the solution to the previous block) – if the number of transactions is odd then the last transaction is added twice to make the number even – the number of levels of the tree depends on how many transactions.


The first transaction is hashed via SHA-256, then the second and the third, and so forth. The next step is to hash the hashes of the first and the second, then the third and the fourth, then fifth and sixth. After this step, the hash of the hashes of the first and the second with the hashes of the third and fourth transactions. This cascade continues up until the top of the tree.


Remember that the SHA-256 hashing algorithm produces a 32 byte string, so when you concatenate a 32byte string with a 32 byte string you create a 64 byte string. This is then hashed by SHA-256 to produce a 32 byte string right up the merkle tree until all the transactions have been joined up.


The corresponding answer after the merkle tree has been calculated is the merkle root – again a 32 byte number. For each miner, the Merkle root is generally different as the way each miner orders the transactions is different and so the hashes are different.

This means that all the miners aren’t running through the same set of calculations when they are applying their ASIC’s through brute force to solve the proof of work.

Comments

Important information

This website is only provided for your general information and is not intended to be relied upon by you in making any investment decisions. You should always combine multiple sources of information and analysis before making an investment and seek independent expert financial advice.

Where we list or describe different products and services, we try to give you the information you need to help you compare them and choose the right product or service for you. We may also have tips and more information to help you compare providers.

Some providers pay us for advertisements or promotions on our website or in emails we may send you. Any commercial agreement we have in place with a provider does not affect how we describe them or their products and services. Sponsored companies are clearly labelled.

CryptoCompare needs a newer browser in order to work.
Please use one of the browsers below: