TL;DR
- PoR is a method proposed for achieving transparency and ensuring the security of users’ funds on decentralized exchanges(DExs).
- There are several advantages of PoR that make it a good option for ensuring the security of funds, the privacy of users’ identities, and the transparency of operations and transactions. One of such advantages is the use of cryptographic proofs through Merkle trees.
- Major crypto industry players advocate for PoR as a solution to CExs transparency, but that doesn’t solve the problem completely. There are limitations to PoR that users should be aware of. However, these limitations are mostly not inherent features but shortcomings in the application and use of PoR.
At issue
Crypto-enthusiasts are clamoring for PoR audits on centralized exchanges, but it seems like much is not being said about the limitations and risks associated with both the method and its execution.
Related SCRF Posts
- A ZK-SNARK-based Proof of Assets Protocol for Bitcoin Exchanges by @B_Swaroopa_Reddy.
- Zero-Knowledge Proofs - An Ethics Perspective by @jasonanastas.
Discussion
- Before FTX, many other exchanges had failed due to a lack of transparency in transactions and managing users’ funds. And even then the idea of proof of reserve was already in existence but used by a few crypto exchanges. However, it was FTX’s failure that popularized the idea of proof of reserves.
- Traditional banks run on the fractional reserve banking system. Here, users’ funds are partly kept in the custody of central banks while part of it is lent out for value accrual in favor of the banks. But there is a problem with this system.
- What if one day something happens, probably a bank run, and all depositors need their funds? How will the bank pay back its depositors if the money had been lent out? This is one problem crypto and DeFi is trying to solve. Perhaps that is why Changpeng Zhao(CZ) of Binance advised against centralized exchanges running on fractional reserves.
- So if there are no central banks to help regulate crypto exchanges and, ideally, users’ funds should not be used for other purposes, how then do users ensure their funds are safe and not mismanaged by centralized exchanges? This is where PoR comes in.
What is proof of reserve and how does it work?
- PoR audit is a way of verifying that the amount of funds a crypto exchange claims to have in its custody is true. It is an independent exercise executed by a third-party blockchain account auditing service like Armanino that does not compromise users’ identity in the process.
This is basically how a PoR audit works:
-
A third-party auditor takes a snapshot of all user’s balances in an exchange. This snapshot must be anonymized to ensure users’ privacy. Anonymity here is achieved using cryptographic hashing.
-
These user balances represented as hashes are organized into merkle trees. The merkle tree possesses the merkle root that holds the aggregated balances of all users on the exchange.
Pictorial representation of Merkle trees. Source: Kraken -
The next step is the verification of the crypto exchange wallet addresses. To achieve this, the third-party auditor produces a message requesting the crypto exchange to cryptographically sign using their private keys. Remember you can only sign from a wallet that you have its private keys.
-
If the auditor compares the balance from the addresses producing the signature and the balance from the original Merkle root and they correspond, it shows that users’ funds are in the custody of the exchange.
Why PoR matters
- It is a way of earning users’ trust. If an exchange presents its PoR to users, it will increase the likelihood of them retaining old customers and attracting new ones.
- It ensures the sustainability of the industry as exchanges will be “forced” to keep user funds safe.
Limitations of PoR
- Generally, there is not yet a standard that exchanges are required to follow to achieve a comprehensive audit.
Below is a list of the major limitations of PoR:
- PoR is conducted by third-party services. This is not in line with the industry’s goal of decentralization. It creates room for possible manipulation of data.
- Present PoR lacks proof of liability which should be a prerequisite for users to keep their funds in a CEx. If an exchange cannot prove its solvency, it might probably be hiding something about its finances.
- A good number of present PoR are not available in real-time or done periodically. They are a sort of one-time audit. The problem with a one-time audit is that an exchange can borrow funds for an audit to return them after the audit. Crypto.com was accused of this but its CEO debunked it.
- Some exchanges just publish data on their website showing their assets without on-chain data backing it up.
Why do users prefer centralized exchanges?
- Someone would ask, " why not just use a decentralized wallet and forget about Centralized exchanges?"
- Some users are not good with keeping private keys. They prefer services run by a third party, that way they won’t bear the responsibility of safeguarding security keys.
- In the past, a good number of crypto users have lost their seed phrases and automatically lost all their funds. So you now understand why they decide to relinquish that duty to centralized exchanges.
- Secondly, CEXs have more features that users can easily navigate. For instance, people in areas where crypto is banned find it more comfortable using P2P services to convert crypto to cash.
Must haves for an ideal PoR
Having examined the downsides of PoR, these are the necessary data that every PoR audit should have to build high-level trust.
- Proof of liability to show the solvency level of crypto exchanges.
- Anonymized balances of users’ funds for deeper transparency.
- Periodic snapshots or real-time attestation to avoid manipulation of PoR.
- Publicly available verified wallet addresses owned by the custodial body to help users check activities on-chain.
- An option for users to verify their balances. This will help users confirm that their balances were part of a proof of reserve audit published by a CEX.
- Using Validiums to make centralized exchanges non-custodial as suggested by Vitalik Buterin. This will prevent CEXs from having access to users funds in the first place.
Bonus point: how to confirm an exchange’s proof of reserve.
-
There are several ways to confirm if an exchange or any custodial entity has done its proof of reserves.
-
We will focus on the simplest way to do this: Using CoinGecko.
-
Visit CoinGecko’s crypto exchange page
Image source: CoinGecko -
The link takes you to a page showing exchanges with the corresponding status of their proof of reserve. “Available” on the “reserve data” column shows that CoinGecko has the exchange’s proof of reserve data while “unavailable” shows they do not have it.
-
To know the status of OKX proof of reserve, for instance, go to the “exchange” column and click OKX. It then takes you to a new page showing some headings. Click the heading “exchange reserve new”
Image source: CoinGecko -
Once you have clicked that heading, it then shows you proof of reserve data for OKX from Defillama, Nansen, and from OKX itself.
Discussion questions
What are your thoughts on these proposed ideas?
- Proof of liability to show the solvency level of crypto exchanges.
- Anonymized balances of users’ funds for deeper transparency.
- Periodic snapshots or real-time attestation to avoid manipulation of PoR.
- Publicly available verified wallet addresses owned by the custodial body to help users check activities on the Blockchain.
- An option for users to verify their balances. This will help users confirm that their balances were part of a proof of reserve published by a CEX.
References
-
Agbo, J. (2022) What is Proof of Reserves, and Why is it Important? CoinGecko. Available at: What is Proof of Reserves (PoR)? | CoinGecko [Accessed 30th November 2022].
-
Binance (2022) what is proof of reserves and how it works on Binance. Binance blog. Available at: What Is Proof of Reserves and How it Works on Binance | Binance Academy [Accessed 30th November 2022].
-
Buterin, V. (2022) Having a safe CEX: proof of solvency and beyond. Available at: Having a safe CEX: proof of solvency and beyond [Accessed 30th November 2022].
-
Decker, C., Guthrie, J., Seidel, J., Wattenhofer, R. (2015). Making Bitcoin Exchanges Transparent. In: Pernul, G., Y A Ryan, P., Weippl, E. (eds) Computer Security – ESORICS 2015. ESORICS 2015. Lecture Notes in Computer Science(), vol 9327. Springer, Cham. Available at: Making Bitcoin Exchanges Transparent | SpringerLink [Accessed 30th November 2022].
-
Gilbert, J. (2022) What Is Proof of Reserves and Can It Build Back Trust? Blockworks. Available at: What Is Proof of Reserves and Can It Build Back Trust? - Blockworks [Accessed 30th November 2022].
-
Jha P. (2022) Proof-of-reserves: Can reserve audits avoid another FTX-like moment? Cointelegraph. Available at: https://cointelegraph.com/news/proof-of-reserves-can-reserve-audits-avoid-another-ftx-like-moment/amp
-
Merkle, R.C. (1988). A Digital Signature Based on a Conventional Encryption Function. In: Pomerance, C. (eds) Advances in Cryptology — CRYPTO ’87. CRYPTO 1987. Lecture Notes in Computer Science, vol 293. Springer, Berlin, Heidelberg. A Digital Signature Based on a Conventional Encryption Function | SpringerLink