What are Merkle Trees and how do they enable Proof of Reserves?

What are Merkle trees and how do they enable Proof of Reserves? You’ll often hear that some kinds of Proof of Reserves are based on “Merkle trees”. But what are they and how do they even work? Here’s what you need to know, in simple terms. 👇

First, what’s a “hash”?

A hash is a unique, immutable sequence of both numbers and letters, generated by a data set of any length and size. In the context of blockchain, this data set can be infinite.

Through a cryptographic hash function, any new block added to a blockchain is linked to the existing block before it. This hash function generates the transaction data from a block into a unique string of text (called a hash) that cannot be altered without also altering the preceding block's hash value and the entire history of the blockchain.

Therefore, altering any part of the data set will also alter its hash. Once converted, the hash can’t be reverse-engineered to reveal the original source data. This mechanism is what makes blockchains ‘cryptographic’, and the data input more secure against decryption.

The cryptographic hash function allows blockchains to be immutable and tamper-proof because every block is intrinsically tied to the blocks that came before and after it.

A Transaction Hash (Tx Hash) is a unique identifier generated by a cryptocurrency transaction to prove that the transaction was validated and added to the blockchain.

Then what’s a Merkle Tree?

Patented by Ralph Merkle in 1979, a Merkle Tree is a hash ‘tree’.

When you initiate a transaction on a decentralized, peer-to-peer network, any changes to the blockchain must be verified for consistency across all participating networks. Without a transaction hash function, networks must continuously validate all transactions on the blockchain, which would be tremendously inefficient. This is where Merkle’s patented tree gets to work.

In order to explain this complex process down in simple terms, we can use an (oversimplified!) analogy. Say you own an ice cream shop, and you need to calculate January’s profit and loss totals. As you complete the tally of losses (e.g., payroll expenses) and profits (e.g., customer payments) with pen and paper, you notice an input error you made on what you paid for cream and sugar on January 5th.

By altering the payment transaction amount made on January 5th, you now must change all of your ensuing calculations to the end of the month. We can agree that this system is not only daunting, but tremendously inefficient.

To continue the pen and paper analogy, a cryptographic hash function is similar to Excel or an accounting software, in that you can see updates to any numerical input change the totals in real time, without having to change the rest of the balance ledger.

However, instead of altered numerical inputs changing the numerical total, the transaction hash (Tx Hash) is changed to a different randomized sequence to reflect the changes to transactions on the blockchain. This is where we start to see the value of the hash function AKA Merkle Tree.

Similar to a password generator, data is converted into a randomized alpha-numerical sequence (the hash) and linked to the corresponding transaction on the blockchain, creating a hash ‘tree’ or Merkle tree. Merkle trees can quickly verify data transferred between computers in a peer-to-peer network by ensuring blocks sent between peers are received unaltered and undamaged.

How Merkle Trees work (Wikimedia)

Within crypto, a Merkle Tree consists of leaves or leaf nodes, which are actually the hashes representing blocks of data, such as transactions on a blockchain. Nodes toward the top of the tree are hashes of their respective children.

For example, hash 1 is the combination of the two hashes below it on the tree. I.e., Hash 1 = Hash (hash 1-0 + Hash 1-1).

Sitting at the very top of the tree is what is called the Top Hash (i.e., root). The Top Hash allows any part of the hash tree to be received from any non-trusted source, like a peer-to-peer network.

Then, any received branch, i.e. a new transaction on the blockchain, can be checked against the trusted top hash for verification, to see if the hash is damaged or even falsified by a bad actor.

In other words, instead of sending an entire file over the network, we can just send a hash of the file, and check it against the Top Hash (root) to verify it has not been compromised. Remember, this is partly what defines cryptocurrency as a ‘trustless’ system.

In traditional financial accounting, we use a record system consisting of ledgers, records, and balance sheets, like the earlier example of the ice cream shop. All of the shop’s financial records are reviewed and verified by a third-party auditor. If the auditor finds that the profit and losses don’t add up, they’ll flag it. Only when the discrepancy is resolved will the auditor validate the books.

So what about decentralized exchanges that do not have third party auditors, much less a human balancing incoming and outgoing transactions?

If you sent one ETH to OKX, for instance, how can you tell your deposit is still there, days, months, years later? How can you trust the exchange you use not to use your deposited funds for something else? To you, the balance shown on your screen may not be enough. And it shouldn’t be enough.

There are a number of blockchain explorers out there but history has proved that these aren’t always transparent enough to protect against bad actors. So, what’s a viable, long term solution that actually works for the token holder and not the exchange? Enter the Merkle Tree and Proof of Reserves.

What are Proof of Reserves?

Driven by the desire to alleviate any customer concerns about crypto funds still held in centralized exchanges, OKX launched a Proof of Reserves (PoR) protocol.

Proof of Reserves is a report of crypto assets that ensures the custodian (in this case, OKX) holds the assets it claims to hold on behalf of its users. OKX uses the Merkle tree (hash tree) to prove this claim in two ways:

  • First, users can find their balance in the tree and prove their assets are held in the total OKX balance.
  • Second, the total OKX balance is compared to the publicized OKX on-chain wallet balance to determine Proof-of Reserves.

Using the Merkle Tree to show immutable transaction data and demonstrate that the data hasn’t been tampered with (through the mechanism of the cryptographic hash), OKX customers can rest assured that their assets are held 1:1.

NOTHING IN THIS ARTICLE IS A SOLICITATION TO BUY OR SELL DIGITAL ASSETS. OKX DOES NOT ENDORSE ANY PARTICULAR DIGITAL ASSET OR STRATEGY. DIGITAL ASSETS HOLDINGS INVOLVE A HIGH DEGREE OF RISK, CAN FLUCTUATE GREATLY ON ANY GIVEN DAY, AND MAY EVEN BECOME WORTHLESS. YOU SHOULD CAREFULLY CONSIDER WHETHER TRADING OR HOLDING DIGITAL CURRENCIES IS SUITABLE FOR YOU IN LIGHT OF YOUR FINANCIAL CONDITION. OKX DOES NOT PROVIDE LEGAL, TAX, INVESTMENT, OR OTHER ADVICE. PLEASE CONSULT YOUR LEGAL/TAX/INVESTMENT PROFESSIONAL FOR QUESTIONS ABOUT YOUR SPECIFIC CIRCUMSTANCES.

Avis de non-responsabilité
Cet article/blog est fourni à titre d’information seulement et peut couvrir des produits qui ne sont pas disponibles dans votre région. Il n’est pas destiné à dispenser (i) des conseils ni des recommandations d’investissement ; (ii) une offre ni une invitation à acheter, à vendre ou à détenir des actifs numériques, ni (iii) des conseils financiers, comptables, juridiques ou fiscaux. Les détentions d’actifs numériques (dont les stablecoins et les NFT) présentent un degré de risque élevé, peuvent fluctuer énormément et leur valeur peut même devenir nulle. Évaluez attentivement votre situation financière pour déterminer si vous êtes en mesure de détenir des actifs numériques ou de vous livrer à des activités de trading. Demandez conseil auprès de votre expert juridique, fiscal ou en investissement pour toute question portant sur votre situation personnelle. Les informations (notamment les données du marché et des informations statistiques le cas échéant) figurant dans cet article de blog sont fournies à titre informatif uniquement. Malgré tout le soin apporté lors de la préparation de ces données et graphiques, nous déclinons toute responsabilité en cas d’erreurs factuelles ou d’omissions dans le présent document. OKX Web3 Wallet et le Marché NFT d’OKX sont soumis à des conditions de service distinctes sur www.okx.com.
© 2024 OKX. Cet article peut être reproduit ou distribué dans son intégralité, ou des extraits de 100 mots ou moins de cet article peuvent être utilisés, à condition qu'il s'agisse d'une utilisation non commerciale. Toute reproduction ou distribution de l'intégralité de l'article doit également comporter une mention bien visible : « Cet article est © 2024 OKX et est utilisé avec autorisation ». Les extraits autorisés doivent citer le nom de l'article et inclure l'attribution, par exemple « Nom de l'article, [nom de l'auteur le cas échéant], © 2024 OKX. » Aucune œuvre dérivée ou autre utilisation de cet article n'est autorisée.
Agrandir
Articles connexes
Afficher plus
Afficher plus