Proof of Reserves
Verify that Binance user assets are fully backed, at least 1:1. Please note that the vast majority of Binance’s corporate holdings are stored in wallets that do not form part of the proof-of-reserves calculations.
Audit Time
Verification Mechanism:
Merkle Root Hash:
What is Proof of Reserves (PoR)?
When we say Proof of Reserves, we are specifically referring to those assets that we hold in custody for users. This means that we are showing evidence and proof that Binance has funds that cover all of our users assets 1:1, as well as some reserves.
When a user deposits one Bitcoin, Binance's reserves increase by at least one Bitcoin to ensure client funds are fully backed. It is important to note that this does not include Binance’s corporate holdings, which are kept on a completely separate ledger.
What this means in actual terms is that Binance holds all user assets 1:1 (as well as some reserves), we have zero debt in our capital structure and we have made sure that we have an emergency fund (SAFU fund) for extreme cases.
Read on to see more information on what we have built to allow people to check their funds are safe with Binance.
When a user deposits one Bitcoin, Binance's reserves increase by at least one Bitcoin to ensure client funds are fully backed. It is important to note that this does not include Binance’s corporate holdings, which are kept on a completely separate ledger.
What this means in actual terms is that Binance holds all user assets 1:1 (as well as some reserves), we have zero debt in our capital structure and we have made sure that we have an emergency fund (SAFU fund) for extreme cases.
Read on to see more information on what we have built to allow people to check their funds are safe with Binance.
Our commitment to our community remains the same as it has always been
Transparency
We will always be transparent with our users
Safety
The safety of our users funds is a priority for us
Protected
Your funds are protected
Merkle Tree
What have we built?
In order to show that Binance has all user assets 1:1, we have built and implemented the Merkle tree (shown below) to allow people to verify their assets within the platform. Our goal is that every user will be able to verify their asset holdings using their own generated Merkle hash/record ID. This way people will be able to confirm that their funds are held 1:1 and they can have it verified by a third-party audit agency.
What is a Merkle Tree?
A Merkle Tree is a cryptographic tool that enables the consolidation of large amounts of data into a single hash. This single hash, called a Merkle Root, acts as a cryptographic seal that “summarizes” all the inputted data. Additionally, Merkle Trees give users the ability to verify specific contents that were included within a particular set of “sealed” data. We use these properties of Merkle Trees during our Proof of Reserves assessments to verify individual user accounts are included within the liabilities report inspected by the auditor.
zk-SNARKs
What have we built?
By using a zk-SNARK, a crypto exchange can prove that all Merkle tree leaf nodes’ balance sets (i.e., user account balances) contribute to the exchange’s claimed total user asset balance. Each user can easily access their leaf node as having been included in the process. For each user’s balance set (Merkle tree leaf node), our circuit ensures that:
1. A user’s asset balances are included in the calculation of the sum of the total net user balances with Binance.
2. The total net balance of the user is greater than or equal to zero.
3. The change of Merkle tree root is valid (i.e., not using falsified information) after updating a user’s information to the leaf node hash.
Here are some useful resources: blog, technical specification and our source code for the circuit (constraints) for implementation detail.
What is a zk-SNARK?
A zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) is a proof protocol that follows the zero-knowledge principles previously outlined. With a zk-SNARK, you can prove that you know the original hashed value (discussed further below) without revealing what that value is. You can also prove the validity of a transaction without revealing any information about the specific amounts, values, or addresses involved.
How it works
How can I verify my own transactions?
Log in to the Binance Website
-> Click on “Wallet”
-> Click on “Verification”
You will be able to find your Merkle Leaf and Record ID within the page.
Select the verification date you want to check. You will then find confirmation of the verification type, your Record ID (specific to your account and this particular verification), the assets that were covered, and your asset balances at the time of the verification.
The Record ID/Merkle Leaf enables you to independently verify that your account balance was included by the third-party auditor’s attestation report.