The recent collapse of FTX sent a shockwave through the crypto industry. The crypto exchange was known for its volatility, rapid growth, and failure to demand more transparency from crypto exchanges. One tool recommended for better transparency is Merkle tree-based proof of reserves.
What is Merkle Tree?
Understanding the Merkle tree and why it is vital for proof of reserves is essential. The Merkle tree is a data structure that allows users to encrypt blockchain data. This makes the data public and accessible, but at the same time, it remains secure and tamper-proof, and therefore privacy is protected.
One can use Merkle Tree to compute the balance sheets and ledgers of crypto exchanges or any centralized digital assets custodian. Also known as the binary hash tree, the Merkle tree consists of leaf nodes, non-leaf nodes, and hash root. The hash root is at the apex and usually summates all the leaf nodes.
Proof of Reserves
Proof of Reserves became one of the most used terms in crypto after the FTX collapse. As the name suggests, it is a way for exchanges to show that they have enough assets. However, Proof of reserves is just one part of the puzzle. The other part is proof of liabilities. This means that the entity provides information about all its assets and discloses all its liabilities, such as debts, customers’ funds, and other financial obligations.
Together, an exchange can show proof of solvency. Centralized exchanges, digital asset custodians, issuers of stablecoins, and wrapped assets can all use proof of reserves and liabilities to advocate their solvency,
By design, blockchain networks merkelize to provide publicly accessible ID for all transactions. However, for centralized crypto exchanges and other entities, it is different. They usually keep their balance sheets and ledgers private and store assets in several wallets, some of which are not public. Therefore, it is difficult to determine whether they have enough assets to meet all liabilities.
With Merkle tree-based proof of reserves, disclosing this information and making it publicly verifiable for users without compromising privacy is possible.
How Merkle Tree Works for Proof of Reserves
Building a Merkle tree-based proof of reserves for exchanges is a complex process and still relies on human integrity. It involves an independent third-party audit taking a snapshot of all users’ balances at a particular time and aggregating them into a Merkle tree. As the information would be hashed, it would be impossible to know the identity of the users. However, the transaction data and balance will still be visible.
It is also possible to hash each user’s balance with a unique salt. A salt is random data added to each password or passphrase before hashing. So only those with access to the salt can balance an account. The Merkle root will contain the overall balance and be visible to everyone. However, there has to be a system in place to check if their assets are reflected in the Merkle tree to simplify the verification process. What further makes it great is that it is tamper-proof, as any changes will reflect.
Limitations of Merkle Tree Proof of Reserves
However, the Merkle tree proof of reserves could be better. Some of the limitations include
- Dependence on the integrity of the independent auditor as collusion between exchange and auditor could affect the accuracy of the data.
- Proof of reserves cannot establish whether an exchange exclusively owns a private key.
- It is only a snapshot of the exchange balance at a point in time, meaning entities can borrow funds just for audit purposes.
Despite the flaws of Merkle tree-based proof of reserves, it is still the best way to ascertain that an exchange is solvent. It is an excellent place to start when it comes to transparency and should become a standard for the crypto industry.
Your crypto deserves the best security. Get a Ledger hardware wallet for just $79!