Hello Zcash community,
We at QEDIT [1] are excited to share our plans for 2024, to help you all use the shiny-new ZSA capability to the maximum extent.
When we asked the community and devs which features ZSA should include, we identified the Asset Swap functionality [2], and the need for compatibility with regulated crypto exchanges to face the increased regulatory pressure on cryptocurrencies.
So, our roadmap for 2024 includes exchange compatibility, more user control, and a big focus on stablecoins!
Stablecoins are the heart of DeFi
Stablecoins have the potential to boost adoption of the parent network they are issued on. They allow users to own digital assets but keep the stability of the underlying fiat currency used in everyday transactions. That’s why stablecoins are the cornerstone of DeFi today.
Stablecoins on ZSA would be particularly useful, thanks to the increased confidentiality of transactions.
QEDIT is active in the stablecoin space. While working on ZSA, we’ve been approached by teams asking if ZSA is a good platform to get stablecoins with privacy features. We definitely think it’s a core use-case!
We also had informal talks with the community at Zcon4 that showed excitement over the possibility of stablecoins on the Zcash ecosystem. Supporting stablecoins over ZSAs would clearly be a huge opportunity for Zcash, and we believe it will reinforce the underlying ZEC.
Stablecoin Issuers are Centralized
Stablecoins are inherently centralized assets. This is because they must be issued against collateral, which would be held by the issuer. The issuer is thus a point of failure, and needs to comply with authorities. This cannot be done when the Assets are completely untraceable.
The next-best approach is to maintain the privacy over the network via the existing ZKP approach of Zcash, while also giving the issuer the ability to view transactions over their issued Assets — thereby allowing them to answer regulatory questions about their stablecoins.
We have to account for regulatory pressure
The largest stablecoins are backed with USD or EUR etc, which are kept in regulated financial institutions. To successfully launch stablecoins over ZSAs, issuers require tools to comply with anti-money-laundering (AML) and other regulations.
ZSAs could offer a pragmatic approach using verifiable encryption
Verifiable encryption allows one to prove some property of the plaintext that has been encrypted. This can be used to encrypt transaction details that only the issuer can decrypt. At the same time, the consensus will be able to verify that the appropriate metadata was properly encrypted.
Additional User Control
In certain use-cases, users may wish to refuse a payment arriving to them. We expect that as stablecoins emerge on ZSA, there will be more demand for such control. We suggest to provide control to users regarding which incoming transactions they accept. This feature might facilitate the onboarding of ZSA in exchanges, allowing to accept only certain assets.
Exchange Compatibility
It will be important to develop means to include meta-data information along with transactions. Being able to prove properties about this metadata will allow for more fine-grained disclosure by users. This also aligns with ECCs vision of providing tooling to allow for optional compliance.
Our 2024 Roadmap
Given this motivation and background, we now delve a bit deeper into our proposed roadmap for the year. We note that these features will be optional, and need to be enabled before use.
1. Stablecoin Compatibility
We propose enhanced viewing keys for the issuer of an Asset, using verifiable encryption. This allows stablecoin issuers to privately view transactions involving their Asset (aka the stablecoin). This gives them the ability to prove to authorities they aren’t enabling illegal activities, while maintaining privacy for other users.
We have already begun the groundwork of implementing a proof-of-concept for verifiable encryption on Halo2. Since Halo2 is the proof system currently in use on Zcash, this will allow us to reuse existing schemes. We also have a technical document describing our initial efforts in this regard.
2. User Control
We’d also like to add support for recipients to approve transactions before accepting funds. Exchanges could use this to satisfy themselves about the source of funds before they accept them into their accounts. This design builds on top of our work designing Asset Swaps [2].
3. Exchange Compatibility
Exchanges would prefer to have means of knowing that the parties they provide services to do not fall afoul of AML or other regulations. At the same time, there is a need to allow for user privacy to be preserved without revealing unnecessary information. Therefore, simultaneously to the above, we will create a technical report analyzing identity on blockchains. Our goal is to look at the existing techniques used, to come up with ways to disclose just the information required while preserving privacy.
Risks and Mitigation
- We have taken all possible precautions to ensure that the complete protocols are tangible (e.g. the proof-of-concept for verifiable encryption described above), but there is a small risk that we come to the conclusion that the complete protocol is not efficient enough. This risk will be mitigated early in the protocol design stages.
- The presence of the enhanced issuer viewing key creates a point of failure for transaction privacy at the issuer. If the issuers viewing key is compromised, then the attacker can view the entire transaction graph of that Asset. It is important to note that the compromise is limited to the individual Asset, and does not provide spend or issue capabilities to the attacker. The rest of the pool continues to enjoy privacy as normal. Users can choose not to transact with Assets they do not trust to meet their privacy standards.
- The implementation of these additional features may increase the complexity of the protocol and impact performance. We will mitigate this by optimizing our implementations and providing clear documentation of our work.
Milestones
Milestone | Title | Work Type |
---|---|---|
1 | Enhanced Issuer Viewing Keys for Stablecoin Compatibility | |
1.1 | Enhanced Keys Research | Research |
1.2 | ZIP | Design |
1.3 | Implementation - Encryption + ZKP | Dev |
1.4 | Implementation - Protocol | Dev |
1.5 | Implementation - Zebra | Dev |
1.6 | Integration & Deployment | Dev + Coordination |
2 | Transaction Acceptance for Improved User Control | |
2.1 | Design + ZIP | Design |
2.2 | Implementation - Cryptography | Dev |
2.3 | Implementation - Protocol | Dev |
2.4 | Implementation - Zebra | Dev |
2.5 | Integration & Deployment | Dev + Coordination |
3 | Identity Schemes for fine-grained disclosure | |
3.1 | Report | Research |
The expected budget is roughly $215k per month of work, covering a team of about 8-9 engineers and contributors.
We welcome any feedback from the community. Please let us know your thoughts on these capabilities!
Acknowledgements
The QEDIT team involved in writing this proposal includes Pablo Kogan, Antoine Rondelet, Alexey Koren, Constance Beguier, Yao Galteland, Jonathan Rouach, and Vivek Arte (myself).
We would like to thank the following individuals and teams for their help in discussing these ideas, their impact and their possible implementation: Jack Gavigan, Josh Swihart, the ECC core development team and the ZF development team.
[1]: The QEDIT team had proposed and implemented Zcash Shielded Assets (ZSAs) on Zcash. We’re currently in the midst of enabling ZSAs on the Zcash mainnet in time for the next network upgrade. The ZSA proposal is here. See ZIP 226 and ZIP 227, and a demo of the ZSA functionality, for more details.
[2]: We proposed last year to develop the Asset Swap functionality. We have presented a design in ZIP 228, which is under review.