16:01:22 MRL meeting here in one hour. 17:00:37 Meeting time! https://github.com/monero-project/meta/issues/915 17:00:45 1) Greetings 17:00:58 Hi 17:03:01 2) Updates. What is everyone working on? 17:03:23 Hello 17:03:34 Still on subaddresss (unit tests). It's basically done, minus at least one outstanding bug 17:04:30 me: I counted the non-RingCT rings and transactions since the August 2023 hard fork. About 0.005% of txs had at least one non-RingCT ring: https://github.com/monero-project/research-lab/issues/59#issuecomment-1783237506 17:05:33 ^ This matters because we want to decide whether to allow non-RinCT outputs to be put in rings with RingCT outputs in the Seraphis upgrade proposal. 17:05:49 That’s way less than I would’ve guessed 17:05:52 Interesting 17:07:09 Except in the unmixable edge case, users haven't been able to produce non-RingCT outputs for about 4 years IIRC. It makes sense to me that there are few users spending very old outputs 17:08:48 Some of the txs had some RingCt and non-RingCT rings. You can have both in a single tx 17:09:20 Do you have a count of total non-RingCT outputs and total number of non-RingCT inputs ? 17:10:15 Total non-RingCT outputs that have every been produced? No, I don't have that right now. 17:10:38 What do you mean by the second one? 17:11:05 You mean total number of non-RCT rings that have ever existed? 17:12:30 If we knew 1) the total number of non-RingCT outputs ever produced and 2) the total number of non-RingCT input rings ever used, then we could get a rough estimate of what percentage of non-RingCT outputs are unspent 17:14:54 Yes. You could probably break it down further by non-RCT amount. It's an interesting question, but it would take some time to code it up. How important is it to the GitHub issue discussion? 17:15:32 Many of those outputs probably will never be spent. Lost keys, dust, etc. 17:16:11 We are well into (3) Discussion. What do we want to discuss? 17:17:23 I posted a Jamtis proposal breakdown 17:17:25 https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024?permalink_comment_id=4744307#gistcomment-4744307 17:17:46 Does anyone have questions or want to discuss pros/cons ? 17:19:34 If I just take the column with the least "x", the winner is in the last one ... 17:19:47 It’s not that important but would add an extra layer of depth to the discussion of if its worth it to change. Honestly I could code this up myself tho 17:20:12 as long as the address fits within a dns txt record for openalias, its not too bad 17:20:55 I am a bit surprised about the minimal speed reductions. I vaguely remember some comments where you talked about much bigger (potential?) speed problems. 17:21:15 Did I misunderstand? 17:21:20 Or misremember? 17:22:11 No you remember correctly, but that’s a bandwidth thing for light wallets 17:22:35 The 0.4% difference is for full wallets 17:23:10 I see. And how is that last column solution in this regard? 17:23:14 Light wallet *computation* is slowed down 100x 17:23:48 I should add that, even though I don’t think it’s a bottleneck 17:24:01 Compute what? 17:24:37 So the last column “flexible” VTs allows the community to adjust the “match rate” for LW scanning as light wallet users require 17:25:14 So it doesn’t make anything *faster* but allows us to manually control the bandwidth and computation requirements for light wallets if it gets out of hand 17:25:36 We can do this by enforcing a different value for npbits 17:25:51 Basically CPU time needed for scanning 17:25:53 Something I can contribute is the potential privacy impact of flexible vs dynamic view tags. AFAIK, flexible view tag length allows the wallet to choose length, which can produce transaction non-uniformity on chain. My discussion note on fungibility defects can tell you how big the privacy impact could be: https://github.com/Rucknium/misc-research/tree/main/Monero-Fungibility-Defect-Classifier/pd 17:26:40 No flexible view tags do NOT allow the wallet to choose view tag length unless they can skirt relay rules 17:27:43 Then why does "Doesn't Need Recent Chaindata for VT constr.?" have a checkmark for flexible view tags? 17:27:45 But we have to count on the community of Monero daemon runners to mostly update, for the scheme to work, right? 17:28:10 Something similar like the tx_extra size restriction that was introduced that way 17:28:19 Because it would ostensibly be a constant value for a given set of rules 17:29:07 Yup, same with fees 17:30:46 The slow, slow introduction of soft forks :) 17:30:52 Zcash raised the fee for tx relay without a hard fork and it was a big UX problem, FWIW. 17:32:45 Well, if things get really hard, I guess we could hardfork after all within a reasonable timeframe 17:33:02 in that unlikely case 17:33:02 Well technically there is no soft forking involved since it’s only relay rules 17:33:06 With flexible few tags, "Doesn't Need Recent Chaindata for VT constr.?" is "does not", but the wallets have to know what the nodes are requiring, still. 17:34:03 What was the UX problem? I assume there were wallets which didn’t update to the new rules and their transactions got dropped 17:34:27 Yes, that was it. 17:34:28 Yes 17:35:22 FWIW I don’t foresee the length getting changed ls very often, only in cases where it becomes unweildy for a large section of LW users 17:35:57 Well, aren't we talking about a coin that needs months to address even very serious problems, quite in general? I hope we could do better. 17:36:32 Wdym ? 17:37:00 "We"....well, there are many nonstandard Monero wallet implementations 17:37:01 Those Zcash problems in particular. I am not very surprised that many wallets and/or wallet users did not update intime 17:37:52 Maybe we can mitigate by allowing the wallets to query the required length 17:38:03 Ohhhh yeah 17:38:06 The Zcash problem was foreseeable. They should have implemented the fee changes at a hard fork. But once they decided to have it as a node relay rule, it's hard to fix the problem. 17:38:44 Indeed 17:39:28 That "fee problem" should not have existed in the first place, for a sane cryptocurrency, if you ask me 17:39:39 That’s not a bad idea… as long as it’s cached and almost never changes then it shouldnt usually affect UX 17:39:49 Zcash even has a small advantage: Their node software has an auto-shutoff period. Node runners have to update their nodes once every...3 months I think. So they could assume that nodes would update their relay rules. Many wallets didn't of course. 17:40:15 But anyway, do we speculate that we may quickly establish new fee levels under some circumstances? If yes, which ones? 17:41:02 (if we are already a bit off topic, talking about non-hardfork changes) 17:41:28 I mentioned the Zcash fee problem since raising fees is similar to requiring a specific view tag length. 17:41:52 Ok 17:42:08 rbrunner: did you mean quickly establish new view tag lengths? 17:42:45 No, I was just wondering whether it may be worth it to think a bit more about such relay rules updates 17:43:01 because maybe beside view tag length fee changes could be already a second one 17:43:09 and wondered whether I am correct there 17:43:43 And "quick" comes in because, well, "cannot wait for a hardfork" maybe 17:43:44 For example, if there were a spam incident that higher fees could defeat? 17:44:46 Yeah, but I think we may be on the safe side here, because if I remember correctly the daemons tells the fee that is needed 17:45:16 The wallet may give the user an estimate that is way off, however 17:45:37 Yes, but about 10% of transactions are produced by wallets that don't listen to the nodes. Or mis-hear the nodes....I dont know. 17:46:32 You don't have to design around those 10%, but don't forget about it, either. 17:47:02 Yes. I think we talk about problems with many aspects here. 17:47:35 But anyway, if things are pretty quiet, as they are now for quite some time already, no view tag length changes, right? 17:48:11 Or, we are talking not about the normal case, but about special situations. 17:50:45 Yeah fixed-length view tags are great in that their privacy scales up with volume, and you compare your LW specs as a linear fraction of what the node requirements are. They only real downside is that they can’t adjust in special circumstances. That is what I aim with “flexible” view tags: they normally don’t change, but if there is a large outcry from LW users that they c an’t keep up with their fraction of node requirements, then it could be adjusted through relay rule 17:51:14 But the idea is that most of the time they would be fixed size until the community manually changes it 17:52:03 I guess the code is not much more complex, the code needed to implement that flexible length? 17:52:55 Dynamic view tags, on the other hand, adjust dynamically to match a certain number of enotes per time period based on transaction volume. Which means that LW requirements will never have to increase ever 17:53:37 But that also means that their anon set, according to one’s LWS, doesn’t increase with volume 17:54:13 I don't like the idea of an "outcry" triggering a change in tx relay rules, if the issue can be anticipated. 17:54:47 That’s definitely one of the upsides of flexible view tags: implementation is much easier than dynamic 17:55:31 Well just because the outcry doesn’t exists doesn’t mean you have to respond to it , but now you have the option. 17:55:40 I think dynamic has a lot of edge cases to consider, especially around the time of the dynamic change 17:56:26 The problem is that these performance / processing requirement are REALLY HARD to anticipate. @tevador and I spent weeks talking about this but at the end of the day it’s just speculation 17:57:02 There will probably be an outcry because something happened, and that "something" may well be unexpected. We would not care about the outcry, but about what happened 18:00:15 Yeah, the flexible step is probably smaller. The decision between flexible and dynamic honestly isn’t too important because we can switch back and forth between the two by changing relay rules, just like we would change flexible view tag size. The really important decision is whether we want to add the extra exchange key or not 18:01:56 I think you will be able to win people over for that if it can be shown that the thing "flies", that the necessary changes are reasonable all around 18:02:14 in complexity, time needed to implement, and resource requirements in general 18:02:27 which I think is almost achieved 18:02:30 IMHO 18:02:51 Do a grep search for "why does syncing take so long" on all Monero support forums. :P 18:03:13 Yeah, those people will get shiny new LWs :) 18:03:32 Without any strong drawbacks 18:04:45 We are past the hour. This conversation will continue :) 18:11:08 I’ll update the post with the clarifications here thanks so much y’all 21:19:32 ww 21:19:34 weir