此网页仅供信息参考之用。部分服务和功能可能在您所在的司法辖区不可用。

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.

免责声明
本文章可能包含不适用于您所在地区的产品相关内容。本文仅致力于提供一般性信息,不对其中的任何事实错误或遗漏负责任。本文仅代表作者个人观点,不代表欧易的观点。 本文无意提供以下任何建议,包括但不限于:(i) 投资建议或投资推荐;(ii) 购买、出售或持有数字资产的要约或招揽;或 (iii) 财务、会计、法律或税务建议。 持有的数字资产 (包括稳定币和 NFTs) 涉及高风险,可能会大幅波动,甚至变得毫无价值。您应根据自己的财务状况仔细考虑交易或持有数字资产是否适合您。有关您具体情况的问题,请咨询您的法律/税务/投资专业人士。本文中出现的信息 (包括市场数据和统计信息,如果有) 仅供一般参考之用。尽管我们在准备这些数据和图表时已采取了所有合理的谨慎措施,但对于此处表达的任何事实错误或遗漏,我们不承担任何责任。欧易 Web3 功能,包括欧易 Web3 钱包和欧易 NFT 市场都受 www.okx.com 单独的服务条款约束。
© 2024 OKX。本文可以全文复制或分发,也可以使用本文 100 字或更少的摘录,前提是此类使用是非商业性的。整篇文章的任何复制或分发亦必须突出说明:“本文版权所有 © 2024 OKX,经许可使用。”允许的摘录必须引用文章名称并包含出处,例如“文章名称,[作者姓名 (如适用)],© 2024 OKX”。不允许对本文进行衍生作品或其他用途。
展开
相关推荐
查看更多
查看更多
立即注册并领取奖励