Binance has improved its Proof of Reserve (PoR) system with zk-SNARK checks, a form of zero-knowledge proof that keeps sensitive user information private and secure.
Changpeng Zhao, CEO of Binance said the improvement was implemented as suggested by Ethereum co-founder Vitalik Buterin. Buterin had set out his ideas on promoting trustless centralized exchanges through transparent proof-of-reserve systems in November.
Binance first released its PoR system in November 2022 as users began to demand more exchange transparency following the collapse of FTX. Back then, Binance used Merkle tree cryptography to allow users to verify their holdings.
However, the system had two major drawbacks. First, the leaf nodes of the Merkle tree represented the hash of users’ holdings to protect privacy, which meant that the Merkle root could not reflect the sum of the balance information of its leaf nodes.
Second, a malicious entity could potentially add a negative balance under a fake account somewhere in the tree to make the required reserve size appear smaller.
Binance claims that zk-SNARKs solve these problems. The zero-knowledge verification system can ensure that all leaf nodes in the Merkle tree have contributed to the total user balance claimed by Binance for each cryptocurrency. This will also ensure that no users with a negative balance are included in the tree.
Binance will generate and publish the zk-SNARK proof for building the Merkle tree to prove its reserves. By verifying Merkle proof, Binance users can check if their balance is included in the root of the Merkle tree. Users can check the zk-SNARK proof to ensure that the Merkle tree build was free from tampering.
Because Binance has millions of users, it is not possible to get a single proof of the construction of the Merkle tree. Therefore, Binance will divide users into batches of 864 each. It would take 110 seconds to generate a zk proof for a single batch of users. Proof can be verified in less than 1 millisecond.
It would take 2 hours for Binance to generate proof for all accounts priced around $1000. The exchange is working to implement the solutions proposed by Buterin to improve the efficiency of the evidence generation process, which should reduce costs and allow it to provide evidence more frequently.
Binance’s PoR system currently supports 13 cryptocurrencies, with 4 recent additions, and it plans to add more tokens in the coming weeks.
Binance is also making its PoR system code open-source in an effort to provide more transparency to its users.