1. What Is a Merkle Tree?
A Merkle Tree (hash tree) is a typical binary tree structure, which consists of a root node, a group of intermediate nodes, and a group of child nodes. The concept of a Merkle Tree was first proposed by Ralph Merkle in 1980 and has been widely used in distributed file systems and peer-to-peer (P2P) systems.
2. How Does a Merkle Tree Work?
A tree-like data structure consisting of a root node and child nodes. All data processing and nodes are hierarchical.
In transmitting data results layer by layer from bottom to top, front and rear node verification is required. If the verification fails, the next step cannot proceed.
It uses the hash function to encode the block data into a hash value. Once the block data changes, the hash value also changes.
If the data grows explosively, the child nodes can be added infinitely while the Merkle root records the hashes of all the child nodes.
The Merkle tree has established a logical and interlocking data structure. The data change of each child node will directly lead to a different root hash. By comparing this root hash with the one provided by the source, we can ensure that the data is not modified or tampered with .
3. How Does BingX Proves 100% Reserves Through the Merkle Tree?
Step 1: Hot and Cold Wallet Confirmation
- If the total amount in hot and cold wallets ≥ all user's snapshot assets, it means that the platform can provide 100% fund security.
- Using all the hot and cold wallets to transfer a specific random amount to the address designated by the audit company to prove the ownership of the wallet.
- The audit company adds up the balance of its address to obtain all amounts (including user funds and self-owned funds) controlled by the exchange.
Step 2: User Balance Snapshot
- Take a snapshot of the platform's users' balance at a certain point in time, including information such as fund account, Futures account, and Copy Trading account to calculate the actual account equity. (Not including unrealized PnL)
- Provide the encrypted UIDs and balances of all users to the audit company for calculating the cumulative assets of users and publishing the Merkel number.
Step 3: Generate a Merkle Tree
- The user UID and balance after each hash are linked to form the underlying data block. And finally, the Merkel tree is generated from all user data.
- Any account ID or balance change in the child node will result in a change in the Merkel root.
- Each user can verify whether their assets are included in the child node.
Step 4: The Audit Company Publishes the Audit Report
- Third-party independent auditing firms are often used to monitor the compliance of a company. BingX has engaged third-party independent auditors to audit the Merkle tree and platform assets generated by BingX to verify whether BingX currently meets 100% proof of reserves.
- Note: BingX has engaged several independent authorities to conduct audits. The current audit is in progress, and a report is expected to be released in the next few weeks.
BingX Merkle Tree Diagram
Note: Each user can verify whether their account assets are included in the child node of the Merkle tree through the hash ID (currently supports verification of BTC, ETH, USDT, and USDC). If the verification is successful and the balance is accurate, it proves that the data has not been tampered with, and the platform stores the user's assets safely and in their entirety.