April 29, 2020
<sarang> OK, let's get started with the research meeting!
<sarang> First, GREETINGS
<[keybase] unseddd>: o7
<sarang> Let's go ahead and continue with the ROUNDTABLE
<sarang> Anyone is welcome to share research topics of interest
<sarang> I suppose that I can share a few things
<sarang> Relating to timelocks, I extended CLSAG and Triptych to support them
<sarang> CLSAG: https://github.com/SarangNoether/monero/commit/28f098260c5bb4da57bb78ebc885fe27c9f10c39
<sarang> Triptych: https://github.com/SarangNoether/monero/commit/ed48ab1686b7e7405bd6656c18e37ea21e01fe05
<sarang> Here is corresponding timing data: https://usercontent.irccloud-cdn.com/file/dQXuFH2U/timing.png
<sarang> 3-CLSAG and 3-Triptych are the timelock-friendly data series
<sarang> The other data series are unchanged from when I first shared them
<sarang> I suspect that 3-CLSAG could be optimized by perhaps another 10% or so from what appears on the plot
<sarang> Unrelated to this, I'm updating how in-memory key encryption is handled, which is taking a bit longer than expected
<sarang> and am reviewing the new CLSAG fuzzer tool that unseddd provided
<sarang> That's about it from me!
<sarang> Are there any questions that I can answer?
<Isthmus> Nice work
<ArticMine> CLSAG optimization in verification time, size or both
<[keybase] unseddd>: seconded, nice stuff sarang
<sarang> ArticMine: in verification time, and only for the new 3-CLSAG variant that would apply to encrypted timelocks
<ArticMine> Great work by the way
<sarang> When I wrote 3-CLSAG, I used a particular multiscalar multiplication that could likely be made faster for this particular case
<sarang> Also, huge thanks to unseddd for reviewing CLSAG and writing the fuzzer tool
<[keybase] unseddd>: is 3-CLSAG limiting the multisig to three parties?
<[keybase] unseddd>: np :)
<sarang> No, it adds another key component that would be used for timelocks
<sarang> Right now we have two key components: one for the usual signing, and the other for balance purposes
<[keybase] unseddd>: ah, thanks for the clarification
<sarang> Does anyone else wish to share research of interest?
<UkoeHB_> it seems like 3-triptych would reduce the ringsize likely to be selected by a power of 2
<[keybase] unseddd>: not much interesting on my end. just reading formal verification papers + some pq-crypto stuff from Mike Hamburg
<sarang> Adding encrypted timelocks is a nontrivial verification hit
<ArticMine> What is the time ans size cost
<sarang> What might be interesting as an alternative would be to allow cleartext timelocks, but update decoy selection to account for known spend patterns
<sarang> It would not eliminate fingerprinting, but could help to mitigate age-related selection heuristics
<[keybase] unseddd>: are there any leakage issues having the timelock in the clear?
<sarang> ArticMine: going from CLSAG to 3-CLSAG is about 1.4x increase in verification time
<sarang> Which could probably be reduced slightly with some extra work
<sarang> In terms of size it's fairly trivial… adding an extra auxiliary key image (this does not account for other non-signature data)
<sarang> unseddd: for sure
<sarang> I'm not saying that I advocate for such an approach, only that it could be an option
<sarang> and would not imply any size/time hits
<UkoeHB_> it's a ways down the road, but I'd like to mention it now; when deciding ring sizes for next gen tx protocol I feel it should be based on a broader analysis of theoretical maximum tx throughput of the network; this is because the max tx volume is when rings are _least_ useful to defend against non-scaling graph heuristics, and because larger ring sizes actually reduce the max tx volume; it's an optimization
<[keybase] unseddd>: right, from a naive perspective, triptych seems like it has enough savings for the hit from timelocks
<sgp_> sorry I'm late. catching up
<ArticMine> UkoeHB_ The maximum tx throughput is also dependent on external factor tat keep improving over time
<UkoeHB_> unfortunately that optimization depends on the efficacy of ring sizes.. which we don't have a complete understanding of; I hope suraeNoether can return to that topic at some point
<UkoeHB_> ArticMine: true, there are a lot of factors to consider!
<sarang> At the very least, we now have concrete numbers for the spacetime effects of ring size increases
<sgp_> the cost of encrypted timelocks seems extreme to me tbh. I don't want to go there unless we know we need to support them for a good use-case
<sarang> Getting timelock-related spend age data from transparent chains might be helpful if it's decided to continue to allow cleartext timelocks
<sarang> Then output selection could be improved to account for it, and reduce the usefulness of spend-age heuristics
<[keybase] unseddd>: use-case: timelocks necessary for atomic swap, encrypting is the most private
<[keybase] unseddd>: could also see the counter-point for clear timelocks if they are necessary for atomic swaps (interop w/ clear chains maybe)
<sgp_> sarang: I agree, but given the current low utilization, I consider this low priority. The impact to the wider network is negligible
<ArticMine> Payment channels come to mind here
<ArticMine> also escrow
<sarang> Getting that kind of transparent chain data seems pretty straightforward
<sgp_> if there's a payment channel, then we can move to make encrypted mandatory. when that happens
<Isthmus> @sarang, it's on my to-do list for XMR and BTC
<sarang> How do you plan to examine spend-age data for XMR?
<sarang> It was examined in Miller for "deducible" outputs (pretty sure that's the term they used) that were the result of chain reactions, which we find don't occur anymore
<Isthmus> Oh, I just meant comparing the unlock time height to block height to see how many of them even make sense
<Isthmus> Not that current usage tells us much about future applications.
<sarang> Ah, got it
<Isthmus> What is it that you were interested in?
<atoc> Isthmus are you thinking about atomic swaps these days at all/
<Isthmus> @sarang sorry I'm in a zoom call and IRC meeting at the same time, and missing little pieces of both
<sarang> I'd like to see the age distribution of spent outputs in a transparent asset (like BTC) relative to lock expiration, to see if it differs substantially from the overall age distribution
<sarang> No problem Isthmus!
<Isthmus> ahhh, yea I can't officially do that for Monero yet. I'll pull it for BTC though.
<UkoeHB_> can't officially? it's possible?
<sarang> Thanks! The overall distribution likely is still similar to the Miller data
<sarang> (for BTC, of course)
<sarang> and having that data would be an interesting check of that
<Isthmus> @UkoeHB_ yeah, I mean my research over the past few years reveals anonymity puddles covering like 20% of transactions. Then change outputs bleed everything, so there's a ton of data on obviously real spend times. BUT no guarantee that it's representative.
<Isthmus> I'll be supper curious to see the BTC distributions, will try to get that in the next week or so.
<sarang> Yeah, Miller's team used two different large sets of blocks in BTC for their analysis
<sarang> and found the distributions to be similar
<sarang> but it doesn't appear they accounted for locks
<sarang> OK, did anyone else have a topic to discuss?
<Isthmus> Insight is interested in researching practical post-quantum cryptography for Monero, especially privacy features that will remain secure against retrospective deanonymization by future adversaries that can utilize Shor's algorithm, Grover's algorithm, etc. I want to know what our options are, and their costs (complexity, proof size, generation/verification time, etc)
<Isthmus> Looking for feedback on the research plan.
<Isthmus> Our goals are to (1) study and simulate the threats listed above to assess vulnerability to quantum computers, (2) evaluate post-quantum cryptography scheme candidates to create a roadmap for hardening Monero against quantum adversaries, and (3) provide open-source proof-of-concept code and demos where applicable.
<[keybase] unseddd>: i like pq stuff :) will take a look
<sarang> Sounds like a fascinating project
<sarang> I'd be very curious to see what exactly the Phase 3 deliverables would look like
<Isthmus> Me too! ^_^
<sarang> and I think it'd be important to assess any transtion points between constructions/protocols
<sarang> e.g. it was possible to transition from pre-CT to post-CT
<Isthmus> Yeah, we'll have to document both the transition and post-transition costs/tradeoffs
<sarang> New constructions are great, but if it's not possible/feasible to transition on the same chain, that's a sticking point
<[keybase] unseddd>: here is the Hamburg paper i am reading through: https://www.shiftleft.org/papers/qromcca/
<ArticMine> Yes this is a very interesting project
<sarang> Are you confident about the timeline?
<sarang> Particularly surrounding the Phase 3 stuff
<sarang> (not that practical quantum computers are expected by the end of summer…)
<Isthmus> There's two types of things we could prototype
<UkoeHB_> it does say May - June, only a couple days away, not sure if a CCS could be approved and funded in time
<[keybase] unseddd>: ten million qubits by fall!!!
<Isthmus> (1) demo of a quantum computer breaking a Monero encryption feature (at a reduced keysize, or something like that)
<monerobux> UkoeHB_ meant to say: it does say May - July, only a couple days away, not sure if a CCS could be approved and funded in time
<Isthmus> Adam did this before, got an IBM quantum computer mining bitcoin at shorter hash length
<Isthmus> So that's demo breaking classical crypto
<Isthmus> (2) prototype a possible solution
<Isthmus> (so we'd use traditional computers and prototype a future solution)
<[keybase] unseddd>: _thoroughly impressed_
<Isthmus> Now honestly, I think that #2 would be way cooler. But it also may be hopeful thinking
<Isthmus> I've seen Adam rapidly convert math papers to code before, but this is going to be a pretty serious endeavor
<sarang> Either way, would be fascinating
<Isthmus> here was my note in the writeup
<Isthmus> "Phase 3 deliverables: The best use of time during this final stage depends strongly on results from the exploratory research. Likely deliverables are a proof of concept or prototype tooling for demonstrating a vulnerability or potential solution"
<UkoeHB_> would (1) also include a comparison with a classical computer on the same task? at reduced keysizes, the encryption is weaker on classical computers too
<[keybase] unseddd>: Isthmus: are Adam and you regularly in IRC? what is best communication channel?
<Isthmus> @UkoeHB_ exactly
<Isthmus> Adam'll be on IRC shortly :- )
<Isthmus> We'll probably do a lot of the research in this room, if that's okay with people?
<Isthmus> Or could make #pq-mrl
<sarang> Up to you!
<sarang> OK, any other topics to address before finishing up the meeting?
<UkoeHB_> does anyone have new thoughts on https://github.com/monero-project/monero/issues/6456?
<[keybase] unseddd>: UkoeHB_: unfortunately no, have been consumed elsewhere. many apologies
<sarang> UkoeHB_: I got unexpectedly caught up in other coding, and didn't review in detail yet :/
<Isthmus> Oh! Yeah, I'll look at that by Monday. Hopefullly today
<sarang> my aopologies
<monerobux> sarang meant to say: my apologies
<sarang> All righty, any ACTION ITEMS for the next week to share?
<sarang> I will be reviewing 6456, reviewing some CLSAG tests, updating some in-memory encryption code, etc.
<Isthmus> I'll probably bump the pq-monero proposal over to CCS by EOW, so shoot me a message (irc or [email protected] works) if you have any suggestions for updates or additions
<UkoeHB_> on a certain level I have nothing else to contribute to the proposal; whether it gets implemented or not is out of my control; keep in mind it likely won't be superseded by anything, so for 'tx extra', 'janus mitigation', 'tx pub keys', and 'view tag', that's the 'final answer' for the forseeable future
<atoc> I'm working on some slides (summary) that details how Grin does their grin-btc atomic swap
<atoc> looking to see if we can get some insight for xmr-btc swaps
<hyc> Iǘe become convinced that itś never in any XMR holders'interest to swap for BTC, due to BTC taint issues
<hyc> but I'd be curious to see how it can work, for future XMR(earth)/XMR(mars) swaps
<[keybase] unseddd>: hyc: even for true DEX scenario?
<[keybase] unseddd>: marsero
<hyc> especially for true DEX, wher eyou can't vet the BTC
<hyc> the benefits are all one-sided, in favor of the BTC seller
<Isthmus> Eh if I've got a wallet full of Monero, but the sandwich shop I'm standing in only takes BTC, I might find that swap useful.
<ArticMine> I have to agree with hyc Selling XMR for BTC on a swap is very dangerous
<[keybase] unseddd>: yeah, i see your point. do you have the same opinion for other swap pairs?
<hyc> if the other pairs also involve transparent coins, yes
<sgp_> +1 concern here
<sarang> Well, in the interest of time (our hour is up), I'll adjourn the meeting for log purposes, but discussion can of course continue