100% Proof of Reserves audit certificate. Gate.io is the first mainstream platform to promise 100% Proof of Reserves.

100% Proof of Reserves

In a centralized trading platform, each user’s assets are recorded through the ledger in the database.

How to safely prove that the platform keeps all users’ assets intact is a self-certifying problem.

Gate.io stores the hash value of each user’s account assets in the leaf nodes of the Merkle tree through the Merkle tree.

Everyone can audit the total amount of user assets stored in the leaf nodes of the Merkle tree through a third-party organization with audit qualifications, and verify whether their own funds are included in the asset Merkle tree.

If the total amount of verification is greater than or equal to 100%, it proves that the platform has preserved the user’s funds intact, which means that the platform provides a 100% Proof of Reserves for the corresponding assets.

Go to Gate.io’s Official Website

Why 100% Proof of Reserves Is So Important?

The platform provides 100% Proof of Reserves

  • The platform has sufficient capital reserves
  • Improve user trust
  • Effective protection of user asset security
  • 100% redemption assets centralized cash withdrawal

100% guarantee cannot be provided

  • Risk of misappropriation of funds
  • Delay or inability to withdraw assets
  • Centralized cash withdrawal triggers a run on crisis
  • The platform is easy to go bankrupt and cause asset loss

Each user can verify whether his account is included in the Merkle leaf node through encrypted UID and balance.

If it can be verified and the balance is accurate, it proves that the data has not been tampered with, and the platform has preserved the user’s funds intact.

  1. Copy your own encrypted ID
  2. Click to verify to jump to the official website of the audit company
  3. Enter the encrypted ID to verify your snapshot balance
  4. View the position of your own account in the Merkel leaf node

Go to Gate.io’s Official Website

Process overview

If the total amount of hot and cold wallets is greater than or equal to all user snapshot assets, it means that the platform can provide 100% Proof of Reserves for this currency.

Hot and cold wallet confirmation
Use all the hot and cold wallets to transfer a specific random amount to the designated address of the audit company to prove the ownership of the wallet. The audit company will add up the balance of the addresses to obtain all the amounts controlled by the exchange (including user funds and own funds).
User Balance Snapshot
Take a snapshot of the platform user balance at a certain point in time, and calculate the actual account equity based on information such as pending orders, borrowed, repayable interest, and unrealized profit and loss. Provide all user encrypted UIDs and balances to the auditing company for calculating the user’s accumulated assets and issuing Merkel numbers.
Generate a Merkle tree.
Connect each hashed user UID and balance to form the underlying data block, and finally generate a Merkle tree with all user data
Any account ID or balance change in the leaf node will cause the Merkle root to change. Each user can verify whether their asset is included in the leaf node.

Register your account with Gate.io

What is a hash tree?

In cryptography and computer science, a hash tree (or Merkle tree) is a tree-shaped data structure in which each leaf node uses the cryptographic hash of a data block as a label.

Each non-leaf node is labeled with a hash of the labels of its children.

Hash trees can safely and efficiently verify the contents of large data structures.

Go to Gate.io’s Official Website

How to build the Merkle tree with hashed user id and user balance?

First, export the encrypted UID and corresponding user balance from Gate’s database.

Each pair of encrypted UID and user balance will be hashed separately, and then concatenated to form the underlying data block.

For each data block, the same hash function is used to generate the leaf nodes of the Merkle tree.

The resulting encrypted data is then hashed together in pairs to create the parent node of the leaf node.

This process continues until a single hash, the Merkle root, is derived.

As shown in the diagram below. After the Merkle tree is successfully constructed, the leaf nodes will be exported as text files, and then released by the auditor together with the Merkle root hash.

Register your account with Gate.io