Ensuring Secure Cryptocurrency Custody: Integrating Proof of Reserves with Zero Knowledge Proof and Multi-Party Computation
Toshi Tazawa
Promoting ????????????, ???????????? and ???????????????????? spirit in the US for ???????????? ??, a ?????????? ????????????????????. Now featured as ???????????????? consultant.
This article is my own personal narrative series on the subject of Zero-Knowledge Proof application in finance based on cited sources provided and is not endorsed by any organization or to be perceived as a representation of any organization.
Introduction
A recent conversation on cryptocurrency custody brought back a long-brewing discussion on security. This discussion intersected with my current involvement with zero-knowledge proof, which made me review my thoughts, which resulted in this write-up.
Security is paramount in cryptocurrency custody, where human involvement often introduces significant risks. As a founding member of a stablecoin initiative in 2018, I’ve firsthand experience navigating these challenges. Known incidents of fraud and theft due to human errors or malicious actions underscore these risks. For instance, the 2014 Mt. Gox hack resulted in the loss of 850,000 Bitcoins, and the 2020 KuCoin hack saw $281 million worth of cryptocurrency stolen. More recently, JPEX, a crypto exchange that has lied about its domicile, was the subject of over 2,000 complaints to Hong Kong police and is accused of losing $183 million of client assets. And a DeFi operator that claims to be based in Japan, Mixin, was hacked for $200 million.
Various strategies have been implemented to mitigate these risks, such as multi-signature wallets, hardware security modules (HSMs), cold storage, Shamir’s Secret Sharing, and more. However, with the advent of zero-knowledge proofs (ZKPs) for ascertaining Proof of Reserves (PoR) and the emerging concept of Multi-Party Computation (MPC), there is potential to further enhance these solutions by providing transparency while maintaining privacy and improving security.
10 Best Practice Strategies
This best practices list is an updated version of the plan I created to address cryptocurrency-specific custody issues when I served as the CFO at JAXO LLC, a stablecoin startup back in 2018.
1. Multi-Signature Wallets
2. Hardware Security Modules (HSMs)
3. Cold Storage
4. Shamir’s Secret Sharing (SSS)
5. Automated Processes
6. Regular Audits and Penetration Testing
7. Access Controls and Segregation of Duties
8. Biometric and Multi-Factor Authentication (MFA)
9. Continuous Monitoring
10. Incident Response Plan
领英推荐
The Role of Zero-Knowledge Proofs in Proof of Reserves
Current Exchange Practices and Risks
Many cryptocurrency exchanges employ centralized custody services where client and exchange assets are co-mingled. This practice poses significant risks, such as potential misuse of client funds, lack of transparency, and increased vulnerability to fraud and theft. In traditional financial systems, asset segregation is a standard practice to protect client funds, ensuring client assets are held separately from the institution’s assets. The failure to implement similar practices in cryptocurrency exchanges exposes client assets to higher risks, undermining trust and security.
Introduction to Zero-Knowledge Proofs
Zero-knowledge proofs (ZKPs) are cryptographic methods that allow one party to prove to another that a statement is true without revealing any additional information. This ensures privacy and security, as the verifier learns nothing other than the fact that the statement is indeed true. ZKPs can enhance transparency in cryptocurrency exchanges by providing Proof of Reserves (PoR).
Understanding Proof of Reserves
Proof of Reserves (PoR) is a verification method cryptocurrency exchanges use to demonstrate that they hold enough assets to cover their customers’ balances. Traditionally, PoR involves auditors reviewing the exchange’s holdings and liabilities. However, this approach can be flawed due to potential biases, limited transparency, and security risks.
Benefits of Using ZKPs for Proof of Reserves
Multi-Party Computation (MPC)
Introduction to MPC
Multi-party computation (MPC) is a cryptographic protocol that divides a private key into multiple parts held by different parties. This ensures that no single party can access or use the key without the cooperation of the other parties, significantly enhancing security.
How MPC Enhances Security in Digital Custody
MPC enhances security by distributing essential control among multiple parties, including the investor, custodian, exchange, and a specific device (e.g., someone's mobile phone or hardware wallet). This multi-layered approach mitigates the risk of a single point of failure, ensuring that the private key is never fully exposed to any one party.
Distinguishing between MPC, SSS, and ZKP
At first glance, MPC may seem similar to Shamir’s Secret Sharing (SSS) and Zero-Knowledge Proofs (ZKP), but this is not the case.
Shamir’s Secret Sharing (SSS): SSS is a storage solution that divides a secret, such as a private key, into multiple shares distributed to different parties. The secret can be reconstructed only when a sufficient number of shares are combined. While SSS ensures that the secret is safe from exposure unless a threshold is met, it primarily focuses on the safe storage and reconstruction of secrets, not on the computation aspect.
Zero-Knowledge Proofs (ZKP): ZKP is a cryptographic method that allows one party to prove to another that a statement is true without revealing any additional information. This ensures privacy and security during the verification process, making it useful for privacy-preserving verification, such as Proof of Reserves (PoR). ZKP is used to prove knowledge of a secret (or the correctness of a computation) without revealing the secret itself.
Multi-Party Computation (MPC): MPC is computational and is a subfield of cryptography, focusing on distributed computation where parties jointly compute a function over their inputs while keeping those inputs private. In MPC, parties perform computations collaboratively without revealing their private inputs, thus offering a higher level of security for ongoing operations and transactions. Unlike SSS, which is about dividing and reconstructing a secret, MPC involves real-time collaborative computation. Unlike ZKP, which is about proving knowledge without disclosure, MPC is about securely computing a function over inputs provided by multiple parties without revealing those inputs.
Benefits of MPC for Both Self-Custody and Exchanges
Self-Custody:?
Exchanges:?
?Advocating for Decentralized Custody
Despite these advancements, the ultimate security in cryptocurrency lies in self-custody. Centralized exchanges have shown significant vulnerabilities, including co-mingling client and exchange assets, leading to major fraud and theft incidents. The advocacy for decentralized custody is rooted in the fundamental ethos of the decentralized financial system proposed by Satoshi Nakamoto, which emphasizes user control and security. Therefore, while advocating for exchanges to implement PoR using ZKPs and MPC, promoting self-custody solutions as the best practice is crucial.
Conclusion
In light of the vulnerabilities highlighted by various incidents, using zero-knowledge proofs for Proof of Reserves and Multi-Party Computation can enhance the security and transparency of cryptocurrency exchanges. However, the ultimate security measure remains self-custody, where investors control their assets, aligning with the original vision of a decentralized financial system.
Call to Action
Share your thoughts and experiences with zero-knowledge proofs, Multi-Party Computation, and self-custody in the comments below.
For further reading and research, explore the following resources:
1. Zero-knowledge rollups on Ethereum - This resource from ethereum.org provides an overview of zero-knowledge rollups (ZK-rollups), their advantages, and how they enhance Ethereum's scalability. [Learn more on ethereum.org]
2. Zero-Knowledge Proofs in WebZero-Knowledge Proofs in Web3 – How, What, and Why – This article from Holland FinTech delves into the role and significance of zero-knowledge proofs in Web3, their application, and their impact on blockchain scalability and security. [Read more on Holland FinTech]
3. Take Custody Away From Crypto Exchanges – Regulators should require centralized crypto exchanges to get out of the businesses of custody and trading [Read more on Digfin Group]
4. Self-Custody Best Practices - Kraken’s blog provides an in-depth look at various self-custody options and best practices, including hardware and paper wallets. [Read more on Kraken Blog]
5. Self-Custody: Where and How to Store Your Crypto Safely - CoinMarketCap outlines different types of self-custody wallets, their security features, and the importance of maintaining control over your private keys. [Read more on CoinMarketCap]
6. Non-Interactive MPC with Trusted Hardware Secure Against Residual Function Attacks - published in the International Conference on the Theory and Application of Cryptology and Information Security, December 2019 by Ryan Karl, Timothy Burchfield, Jonathan Takeshita, and Taeho Jung, University of Notre Dame,[Read more on iacr.org]
?????? ?????????????? ???? ???????? ?????????????? ?????? ?????????????? ?????????? ????????-????-?????????? ???????????????????? ???? (????????????????????). ???????? ????????'?? ???????????????? ?????????????? ?????????????? ?????? ?????? ?????????????????? ?????????? ????????????'?? ??????????????, ?????? ?????????????? ???????????? ???????? ?????????????????? ?????????? ?????????????????? ????.