Gate US Total Reserves:
$ 0
Latest Audit Time:
(UTC+0)
Reserve Ratio:
0%
Algorithm:
Merkle Tree + zk-SNARKs
Merkle Root Hash:
Gate US Total Reserves
$ 0
Customer Net Balance:
$ 0
Reserve Surplus:
$ 0
+100.00%

No Data
A centralized trading platform manages a ledger for recording user assets in a database. As such, platforms face the challenge of proving that they have full custody of all users' assets in good condition.
Gate US uses a Merkle Tree structure to address this issue by storing the hash of each user's account balance in the leaf nodes. Users can review the aggregated asset data recorded in the Merkle Tree and confirm that their balances are included, with verification supported by an independent third-party audit firm.
If the assets recorded in the Merkle Tree are verified to be equal to or greater than 100%, it shows that users' assets are fully held on the platform, meaning the platform provides 100% reserves for users' assets.
Demonstrates financial capability
Enhances user confidence
Strengthens asset protection
Supports withdrawals during periods of high demand
Risk of fund misappropriation
Potential delays in processing withdrawals
A surge in withdrawals could trigger a liquidity crisis
Higher risk of bankruptcy leading to asset losses

If the total number of tokens held on-chain by the exchange meets or exceeds the aggregate balance of all user accounts captured in a snapshot, the reserve report indicates that recorded user balances are reflected in the exchange's disclosed on-chain holdings.

When using hot or cold wallets, the platform transfers a randomly designated amount to blockchain addresses specified by the audit firm to demonstrate control of the relevant wallets.
The audit firm aggregates the balances of the relevant addresses to calculate the total assets involved, including both user-related holdings and platform-owned assets.
Please refer to the diagram below for illustration. After the Merkle Tree is constructed, the leaf nodes are exported into a plain text file and published together with the Merkle root hash by the auditor.

In cryptography and computer science, a hash tree or Merkle Tree is a tree in which every leaf node is labeled with the cryptographic hash of a data block. Every non-leaf node is labeled with the hash of the labels of its child nodes. Hash trees allow efficient and secure verification of the contents of large data structures.
a. The platform's total asset amount includes all user balances.
b. Each user's net balance is greater than or equal to zero.
c. Any change in a user's balance will alter the Merkle root hash.
zk-SNARK, which stands for Zero-Knowledge Succinct Non-Interactive Argument of Knowledge, is an advanced cryptographic tool. Using sophisticated mathematical algorithms, it enables verification of asset balances without revealing individual asset details. zk-SNARK allows efficient validation, mitigates privacy risks, and, due to its non-interactive nature and scalability, is widely used in areas such as blockchain transaction verification, data privacy protection, and identity authentication.
1. Install the Program and Download the Data:
a. Download the Verification Program:
First, download the verification program using the provided link or from GitHub. Then rename the file to main.
b. Download the Required Data:
Go to the Audit Page and locate the batch you want to verify. Click [Download Merkle Tree] and [Download User Config] to download the required data files.
Unzip the zkmerkle_cex_xxx.tar.gz file. Place the main program file into the extracted folder, and move the user_config.json file into the config folder.
The program folder structure should now appear as follows:
zkmerkle_cex_xxx
Config
cex_config.json
user_config.json
proof.csv
zkpor864.vk.save
main
2. Asset Verification:
Open Command Prompt (cmd) or Terminal, and use the cd command to navigate to the downloaded folder. For example:cd ~/Downloads/zkmerkle_cex_xxx.
Before running the program, you may need to execute chmod 777 main to grant execution permissions or set security items.
Run the following command to begin the verification process.
./main verify cex
If the verification is successful, a confirmation message will be displayed.
All proofs verify passed!!!
For detailed technical documentation and information about the verification methodology, please refer to the GitHub open-source project.
Audit Firm
HACKEN
Audit Time
January 3, 2024
Auditor
Luciano Ciattaglia, Sofiane Akermoun, Nino Lipartiia, Bartosz Barwikowski
Repositories
Audit Report
Gate US PoR Implementation