Gate Total Reserves:
$ 0
Latest audit time:
(UTC+0)
Total Reserve Rate:
0%
Algorithm:
Merkle Tree + zk-SNARKs
Merkle Root Hash:
Gate Total Reserves
$ 0
Customer Net Balance:
$ 0
Excess reserve value:
$ 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 implemented the Merkle Tree to address this issue, by storing the hash value of each user's account assets in the leaf nodes. Every user can audit the total amount of users' assets recorded in the Merkle Tree and verify whether their funds are included through a qualified third-party audit agency.
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.
The platform is financially solid
Enhance users' trust
Guarantee the security of users' assets
100% cash out during mass withdrawals
Users' assets are at risk of being misappropriated
Delays or inability to withdraw assets
The platform may suffer a run if users rush to withdraw their funds
The platform is more likely to go bankrupt or suffer asset losses

If the total number of tokens managed by the exchange on the blockchain meets or exceeds the aggregate balance of all user accounts, as captured in a snapshot, the platform maintains 100% reserves for those tokens.

When using hot or cold wallets, the platform transfers a randomly designated amount to addresses specified by the audit firm to prove ownership of the wallets.
The audit firm will aggregate the balances of the relevant addresses to calculate the total amount involved, including users' assets and the platform's self-owned assets.
Please refer to the diagram below for illustration. After the Merkle Tree is successfully built, the leaf nodes will be exported into a plain text file, which will be 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 total amount of assets managed by the platform includes the total asset balance of all users.
b. The net balance of each user is greater than or equal to zero.
c. Change of any user's assets will result in alteration of the Merkle root hash value.
zk-SNARK, standing for Zero-Knowledge Succinct Non-Interactive Argument of Knowledge, is a groundbreaking tool rooted in cryptography. Utilizing advanced mathematical algorithms, it can proficiently validate the reserve amount without disclosing specific asset details. zk-SNARK not only facilitates swift asset verification but also negates privacy breach risks. Owing to these benefits, coupled with its non-interactive nature and high scalability, it finds extensive applications in areas like on-chain transaction verification, data privacy safeguards, and identity authentication.
1. Install the program and download data:
a. Download the verification program:
First, download the verification program via the provided link or from GitHub. Then, rename it to main.
b. Download required data:
Access the Audit Page and locate the batch you need to verify. Click on [Download Merkle Tree] and [Download User Config] to download the data.
Unzip the zkmerkle_cex_xxx.tar.gz compressed file, place the main program inside this folder, and put the user_config.json file inside the config folder.
The program folder is now
zkmerkle_cex_xxx
Config
cex_config.json
user_config.json
proof.csv
zkpor864.vk.save
main
2. Assets verification:
From cmd or terminal, use the cd command to navigate into the downloaded folder, such as cd ~/Downloads/zkmerkle_cex_xxx.
(Before running the program, you might need to execute chmod 777 main to grant permissions or set security items.)
Execute the following command to begin verification.
./main verify cex
Upon successful verification, the message will be displayed.
All proofs verify passed!!!
For detailed technical documentation and verification principles, please check 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 PoR Implementation