Binance, the world’s largest cryptocurrency exchange, has released its August 2023 reserve report, showcasing a reserve ratio exceeding 100% for its major cryptocurrency holdings.
This disclosure is part of Binance’s ongoing commitment to uphold a Proof of Reserves (PoR) system, ensuring sufficient funds are available to cover all customer deposits. The report is based on an audit for BTC Block Height 801130 using aggregated data updated until August 1st, 2023.
Proof of Reserves (PoR) serves as a transparency protocol confirming a cryptocurrency exchange’s solvency. It validates that the exchange holds enough funds to cover users’ assets on a 1:1 ratio. When a user deposits a Bitcoin, for instance, Binance’s reserves increase by at least one Bitcoin, ensuring full backing of client funds. Notably, corporate holdings are excluded from these figures, being kept separate.
Binance’s PoR report reveals reserves surpassing customer net balances across reported cryptocurrencies such as Bitcoin, Ethereum, Binance Coin, Tether, BUSD, and USDC. Reserve rates range from 101.62% to 117.99%, demonstrating ample reserves to cover potential customer withdrawals.
The purpose of PoR is to elevate transparency, safety, and user protection within the cryptocurrency ecosystem. This discourages exchanges from misusing user funds and promotes user trust. To enhance transparency and user trust, Binance users can independently verify their account’s inclusion in the latest PoR verification.
Proof of Reserves (PoR) and Merkle Trees
Binance employs Merkle trees to ensure a 1:1 ratio of user assets. Merkle Trees are cryptographic tools that condense large data volumes into a single hash, called a Merkle Root, acting as a cryptographic seal summarizing input data. They enable users to verify specific contents within sealed data.
In PoR’s context, Binance uses Merkle Trees to verify user accounts’ presence in an auditor-inspected liabilities report. Users confirm asset holdings using their unique generated Merkle hash/record ID.
The process entails:
1. Verify Ownership of Address:
Binance confirms wallet ownership (cold and hot wallets) for PoR.
2. Snapshot of User Balances:
Asset holdings within customer accounts are captured at a specific date and time.
3. Generate Merkle Tree:
Binance creates an underlying data block by linking hashed user ID and balance. A Merkle tree emerges from all users’ data. Any change in account ID or balance alters the Merkle root, enabling users to verify their assets’ inclusion.
Utilizing zk-SNARKs for Verification
Binance also employs zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) in the verification process. zk-SNARKs prove knowledge of a value without revealing its content.
For Binance:
1. Verify Ownership of Address:
Wallet ownership is confirmed.
2. Snapshot of User Balances:
Asset holdings are recorded.
3. Generate zk-SNARKs Proof:
zk-SNARKs proofs are generated for each user, allowing access to their leaf node and verifying their net balance is greater than or equal to zero.
Binance also utilizes third-party audits to bolster the security and transparency of the verification process.