It's time for my monthly research report for May. As always, my thanks to the community for ongoing support of research in applied cryptography.
Work this month focused primarily on standardizing the code and test frameworks for different signature and proof constructions used in transaction protocols, as well as new and updated code to improve handling of key and proof data.
The Triptych proving system received several updates. Its preprint was revised and submitted to the upcoming Privacy Enhancing Technologies Symposium proceedings. The test implementation code received fixes and an overhaul to its performance tests to better represent the effects of balance verification.
The Arcturus proving system received major updates. Its preprint was also revised and submitted to the upcoming Privacy Enhancing Technologies Symposium proceedings. The security model is being updated to apply definitions inspired by Omniring to better formalize balance and non-slanderability. Most notably, I produced test implementation code integrated with the Monero codebase, along with a test framework and analysis of how proof/signature size and verification scale compared to other constructions.
I updated the way that key encryption is handled in memory and wallet files, along with some associated migration logic and tests. This results in more robust handling of keys during wallet use.
Code for message signing received an overhaul. This functionality is useful for cases when a user wishes to demonstrate control of one or more keys associated to a particular address. The new code binds signatures to complete addresses and key roles, as well as adding hash function domain separation to avoid misuse.
View tags were proposed last month as a way to to speed up scanning by replacing certain elliptic curve operations with simpler hash logic. I produced timing code to analyze the potential savings, as well as data to determine how tag sizes and scan times interact. While not enforceable by consensus, view tags show promise.
Finally, assorted projects related to MLSAG and CLSAG signatures continued. Performance tests for both signature methods were rewritten to account for balance verification, which enables more accurate comparison to other signature and proof constructions. Coordination with OSTIF and Teserakt to audit CLSAG for deployment in an upcoming network upgrade is in the final stages of planning.
And now on to Sarang's Reading Corner, a short listing of some interesting papers that I have come across this month. The appearance of a paper in this list does not mean that I necessarily agree with its contents or correctness, or that I endorse it. Papers are in no particular order.
- Multi-Party Threshold Private Set Intersection with Sublinear Communication
- Alt-Coin Traceability
- Proof-Carrying Data from Accumulation Schemes
- BlockSim: An Extensible Simulation Tool for Blockchain Systems
- Using z14 Fused-Multiply-Add Instructions to Accelerate Elliptic Curve Cryptography
- Linear Generalized ElGamal Encryption Scheme
- ZeroJoin: Combining ZeroCoin and CoinJoin
- A Retrospective Analysis of User Exposure to (Illicit) Cryptocurrency Mining on the Web
- UC Non-Interactive, Proactive, Threshold ECDSA
- Blockchain Stealth Address Schemes
- Fast Threshold ECDSA with Honest Majority
- Threshold ECDSA for Decentralized Asset Custody
- One Round Threshold ECDSA with Identifiable Abort
- Atacking Zcash Protocol For Fun And Profit
Dr. Sarang Noether