Don't Trust, Verify: Binance Deploys ZK-Proofs to their Proof of Reserves System

Last updated: Oct 06, 2023
6 Min Read
AI Generated Summary
Summary
Summary
https://img.coinbureau.dev/strapi/2022/08/Binance_inline-1024x369.jpg
https://img.coinbureau.dev/strapi/2021/09/Newsletter_inline.jpg
https://img.coinbureau.dev/strapi/2022/08/Binance_inline-1024x369.jpg
https://img.coinbureau.dev/strapi/2021/09/Newsletter_inline.jpg

Binance is once again leading the crypto industry in trust and transparency, aiming to create a friendlier and more confidence-inspiring post-FTX ecosystem that will benefit all participants.

In November 2022, Binance announced it would be allowing for its data regarding the status of its reserves held in proportion to customer assets to become publicly available, a direct response to the fallout of FTX and multiple other crypto platforms that became insolvent. Today, Binance has once again established itself as an industry leader, working to do right by the community and highlighting that they are more dedicated than ever to enhancing trust in the space and paving the way for other exchanges to follow suit.

 

Binance Proof of Reserves
 Binance is Encouraging Industry-Wide Transparency. Image via Binance

 

While the previous Proof of Reserves system that utilised Merkle Trees was a good start, it has a few key drawbacks due to Merkle Tree limitations, such as:

  • Privacy leakage- Merkle Trees hash together customer UIDs with their net asset holdings. To protect user privacy, leaf nodes in Merkle proofs represented the hash of users' holdings, therefore, the Merkle root couldn't reflect the sum of its leaf nodes' balance.

 

zk proof 2
 Image via Binance Blog

 

  • Potential for mistaken or falsification of data- An exchange may have missed inputs, or could create false accounts with negative balances to alter total liabilities. The following diagram from Vitalik Buterin’s blog shows an example of how a Merkle Tree could be altered maliciously:

 

Malicious Merkle
 Image via Vitalik's blog on Proof of Insolvency

 

There were many critics of the original Proof of Reserves system, community members who were rightfully concerned about the limitations and the potential for the falsification of data.

Many in the crypto industry hold two values above all else: transparency and privacy. It is very difficult to achieve both, often resulting in a dilemma and trade-offs, as it is difficult to prove reserves of funds while keeping confidentiality intact.

The Solution: Combining zk-SNARKs with Merkle Trees

Today marks Binance's first attempt at implementing a Zero-Knowledge Proof (zk-Proof) Proof of Reserves system, which will improve privacy, security, and reliability. zk-SNARKS, a form of zero-knowledge proof, has been deployed by Binance to improve its previous Proof of Reserves system.

 

merkle tree with SNARKs
 Binance's Solution, implementing zk-SNARKS into Existing Merkle Tree. Image via Binance

 

Binance has partnered with Polyhedra Network to assist in the SNARK implementation.

According to Polyhedra:

“The security of zero-knowledge proofs are guaranteed by cryptographic assumptions. As long as these assumptions hold, no one can create fake proofs or cheat others. These assumptions are computationally hard, which means modern machines cannot break assumptions within polynomial time. Moreover, such cryptographic tools have been used in many existing systems.”

Zero-knowledge proofs allow one party to determine the validity of a statement provided by another party, without needing to know personal information, trust the other party, or have sensitive content regarding the account made visible. In this case, Binance wants to prove it has backed its users' funds in full, without revealing individual user balances.

By using a zk-SNARK, the exchange can publicly verify and disclose that all Merkle tree leaf nodes' balance sets contribute to the exchange's claimed total user asset balance, while also ensuring any Merkle tree generated does not contain negative total net asset balances.

For every Merkle Tree leaf node, which represents a user's balance, this system ensures that:

  1. A user's balance is included in the sum's calculation of the total net user balance with Binance
  2. The total net balance of the user is greater than or equal to zero
  3. The change of the Merkle tree root is valid, not falsified, after updating a user's information to the leaf node hash

The exchange can then generate a zk-SNARK proof for the Merkle Tree's construction, which can be examined by any verifier.

 

https://img.coinbureau.dev/strapi/2022/08/Binance_inline-1024x369.jpg

 

For each Proof of Reserves release, Binance will publish:

  • The Merkle proof for each user
  • The zk-SNARK proof and public input of the circuit for all users

According to Binance:

"The security of this solution relies heavily on the setup of the proving key and verification key. We are working on a decentralized setup of the keys. When it comes to existing decentralized trusted setup ceremonies, the Ethereum ceremony offers a good example. We are very close to having an MPC solution to make the setup trustless."

Anyone with a Binance account can verify the Merkle proof, ensuring their individual balances contributed to the Merkle tree root, and can also verify the zk-SNARK proof to ensure the construction of the Merkle tree meets the constraints defined in the circuit.

Feel free to check out our Beginner Guide on Zero-Knowledge Proofs and zk-SNARKs to learn more about this innovative technology.

For the Betterment of the Industry

Just as Binance encouraged other exchanges to follow its lead when they released their first Proof of Reserves audit, they have stated that they will be making this more advanced integration completely open-source, so other companies and crypto exchanges can benefit from the groundwork laid here today.

zk-SNARKs were a substantial breakthrough in cryptographic technology that provides the processes needed to ensure data integrity and privacy. Its capabilities for proving reserves on exchanges and enhancing transparency will be of enormous benefit to the blockchain industry, repairing much of the trust that retail users have lost, while potentially attracting institutional and governmental bodies.

Read here: Binance's blog post and today's announcement.

For downloads, licensing, documentation and more, visit: github.com/binance/zkmerkle-proof-of-solvency

About Binance

Binance is the world's largest cryptocurrency exchange in terms of trading volume and users. Founded in 2017, Binance has gone on to contribute to the broader crypto ecosystem by developing a series of crypto-centric products and launching its own blockchain network capable of hosting DApps, DeFi, and NFTs. Binance offers users the ability to trade a variety of digital assets such as Bitcoin, Ethereum, Litecoin, Ripple and more, and supports access to advanced trading tools and order types.

You can learn more about the world's most popular exchange in our detailed Binance Review.

Note: Users located in the US and UK are not supported.

Editorial Team

The Coin Bureau Editorial Team are your dedicated guides through the dynamic world of cryptocurrency. With a passion for educating the masses on blockchain technology and a commitment to unbiased, shill-free content, we unravel the complexities of the industry through in-depth research. We aim to empower the crypto community with the knowledge needed to navigate the crypto landscape successfully and safely, equipping our community with the knowledge and understanding they need to navigate this new digital frontier. 

Disclaimer: These are the writer’s opinions and should not be considered investment advice. Readers should do their own research.

Previous article
Blockchain's Siloed Networks: Why Bridges are Doing More Harm Than Good
next article
Coin Bureau Cryptocurrency Conference 2022