00:47:31 Rucknium: I'd like to nominate two topics for tomorrow's meeting. 00:47:31 - I had a look at hyc's reorg data. as far as the data is representative, it gives cause for optimism with regard to reducing the lock time. https://github.com/monero-project/research-lab/issues/102#issuecomment-1577827259 00:47:31 - earlier this week here I/we wondered where exactly the bottlenecks are on the path to global membership proofs, and whether there is someone who is not yet involved in the effort but whose help could prove meaningful. 12:43:12 kayabanerve: you were right it is RSA based. 12:43:15 https://moneroresearch.info/index.php?action=resource_RESOURCEVIEW_CORE&id=184&browserTabID= 12:43:59 * xmrack[m] uploaded an image: (30KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/YAOGYtFVNkkmoHfoYNnRIljM/ima_93e3f9d.jpeg > 12:44:54 The search time tradeoff comes with a massive increase in address and key size, as expected 14:10:30 chaser: Thanks. They are on the agenda: https://github.com/monero-project/meta/issues/846 16:21:45 Meeting 40mins 17:00:05 Meeting time 17:00:11 1. greetings 17:00:13 hello 17:00:17 hi 17:00:18 Hi 17:00:22 Hello 17:00:24 Howdy 17:00:52 hello 17:01:08 Hi 17:03:12 2. updates, what’s everyone working on? 17:04:02 Me: slowly putting together monerokon presentation. I’m considering taking a long break after monerokon to properly reset. 17:04:18 me: OSPEAD 17:05:23 zeroconf webhoooks (LWS), otherwise and p2p-encryption / bp++. both are coming along slowly, but some progress is being made 17:05:28 There is a 90% probability that MAGIC will have something to announce about EAE attack research this week 17:05:31 I examined the long-term reorg data provided hyc 17:05:53 me: adding support for separation of coinbase/non-coinbase output distributions directly into BlockchainLMDB for issue #109 17:06:43 Rucknium[m]: Is it bad.... 17:06:58 No 17:07:29 The announcement will be "please, community, fund this research so we know how bad it is" 17:07:37 And how it could be defended against. 17:08:33 3. discussion 17:08:36 I truly wonder how it can be defended against other than churning 17:09:35 yeah, it's an art for now 17:10:34 chaserene: it sounded like you have some things you want to discuss today 17:11:04 Increasing the ring size could help 17:11:04 yes. I wondered where the bottlenecks are exactly on the path to global membership proofs 17:11:04 But it would need to probably be in the thousands of decoys 17:11:20 and whether involving new people and expertise could accelerate progress on it 17:12:22 Maybe ask Bailey if he wants to do this for trustless global membership proofs: Bailey & Miller (2023) "Formalizing Soundness Proofs of SNARKs" https://eprint.iacr.org/2023/656 17:12:39 "https://moneroresearch.info/..." <- UkoeHB: did you have a chance to read this paper/ have any thoughts on the concept? 17:12:42 Rucknium implied it's mostly a math problem for now, to which I answered that even hiring mathematicians and academics could be an option 17:12:54 Maybe me manage to summon kayabaNerve, because he was so far a main force behind this push 17:13:03 That would also help us figure out what the state of the security proofs are in these papers 17:13:42 kayabanerve: What are the bottlenecks to implementing trustless global membership proofs in Monero? 17:15:24 tevador has also been pretty active in the issue: https://github.com/monero-project/research-lab/issues/100 17:15:43 Rucknium[m]: thanks, that's a point to start at. there are all these researchers on whose efforts Monero is built, but I sense some kind of divide between their world and ours 17:16:32 chaser: IMHO, if you want this to happen, you should contact Bailey 17:16:54 Well, theory and implementing are by very nature quite different already, seems to me 17:17:02 I don't want to do it since I have a lot on my plate already. And cryptography isn't something I know 17:17:50 xmrack[m]: not yet 17:18:11 Sometimes there is a divide since what researchers come up with cannot be practically implemented in Monero (or any other usable system). I guess the idea is that research will eventually fix the problems that an unimplementable idea has. 17:18:44 For example, that paper that xmrack linked that wanted to have address sizes in the kilobytes 17:19:21 Or these papers that want a partitioning decoy selection algorithm. Those are a little closer to being practical, but with disadvantages. 17:19:25 Rucknium: I'm no cryptographer either. I'll take a look at the paper to have at least a basic understanding and see if I can formulate how Bailey can help in this 17:20:36 i would just like to pop this invitation in from QuarksLab (if anyone was interested)- "We can schedule a new presentation of our activities and convictions in the next few days if that suits you, for example: June 8th between 14h and 16h / 13th afternoon /15th between 3pm and 5pm" if someone wants to "know how they could help the project", i am also going to poke the bp++ author again for an update on the final version of the pap 17:21:13 That's why MAGIC says that we would fund actionable research on Monero: https://monerofund.org/apply_research 17:21:23 plowsof11: that sounds valuable to me 17:21:24 (I wrote it) 17:21:40 Rucknium[m]: That's not necessarily completely infeasible, you already have to copy/paste XMR addresses, and a couple kilobytes can still fit on a QR code 17:21:50 And it needs "A plan to work with Monero's developers and/or researchers to integrate the results of the research into Monero's protocol or ecosystem." 17:22:35 Hardware wallets will surely thank us for 2KB addresses or so ... 17:22:50 Rucknium: yes, this is a much more promising avenue for this than CCS 17:23:06 I dunno, I'm already freaked out by the Jamtis address lengths 17:23:52 plowsof: Are those UTC times? 17:24:18 rbrunner: 2kb….. thats cute. They propose 37kb addresses 17:24:28 :) 17:24:33 oop 17:24:49 I have no idea, i will get the times / tell them UkoeHB wants to attend (hopefully it is not just a sales rep reading a generic pdf) 17:25:23 A presentation from them seems interesting to me 17:26:23 great, ill pass this on and get times / more info 17:27:39 Thanks plowsof11 17:28:16 while we're waiting for kayabanerve or tevador to pop in, I want to put this forward: visualization of hyc's long-term reorg data https://github.com/monero-project/research-lab/issues/102#issuecomment-1577827259 17:28:17 done by me, wholly non-quantitative, but has a few interesting insights 17:28:24 I wanted to bring this up so people can chew on it: is there any downsides to the #109 idea of when spending non-coinbase outputs, only selecting non-coinbase decoys? I have a couple in mind, but I don't want to bias ideas that people may have. 17:28:31 Nice work chaser 17:29:20 jeffro256[m]: Wouldnt an obvious downside be that when a coinbase output is spent it’s guaranteed to be the true spend? 17:29:45 chaser: Thanks for the parsing of the log files. I think we could probably reduce the 10 block lock to 5 blocks. Probably. We would want to do more analysis and thinking about it. 17:30:31 namely, 17:30:31 * reorgs correlate w/ hash power 17:30:31 * reorgs relative to hashpower decreased a lot after Carbon Chameleon, and even more after Fluorine Fermi, and I wonder if you guys have a guess why 17:30:42 You could say if the real spend is a coinbase, then all ring members are coinbase outputs 17:31:12 chaser: I think sech1 helped improve network connectivity and reduced the probability of re-orgs 17:31:38 @xmrack Yes that's biggest one, when miners want to spend outputs it reveals their true spend. This isn't such a big issue for me though, since 1) 90% of miners are either p2pool or trad pool miners so miner spends are already public information or 2) if it's a solo pool miner, they can churn once to a normal output (wallet code would do this default ideally) 17:32:10 Rucknium[m]: a-ha 17:33:16 There was also the changes that ooo implemented which allowed for more p2p connections to stay alive and healty 17:33:19 Rucknium: I would lean toward a more conservative reduction (8?), see how it performs in prod, and reassess whether to keep it, go higher or go lower. I agree with hyc's notion about unknown unknowns earlier in that thread. a reduction would invite more attackers who so far have been outpriced 17:33:48 chaser: I think this was the PR from sech1: https://github.com/monero-project/monero/pull/8675 17:34:19 ^^^^^ 17:34:22 Rucknium: nice, thanks 17:35:06 If an attacker has enough hashpower to reorg 5 blocks, then Monero has bigger problems than the privacy issue with re-orgs 17:35:10 I agree that when the system changes, you could see the incentives change, so attackers could change behavior. But 5 blocks...? 17:35:26 https://github.com/monero-project/monero/pull/8426 17:35:59 jeffro256: thanks 17:36:17 Before PR #8426, a lot of connections were getting dropped and stagnating. Afterwards, alive connections went up on average by about 30% 17:36:28 jeffro256: what do you think of Rucknium idea to have coinbase outputs create rings using only other coinbase outputs. This way we stick to our ethos of private by default 17:37:09 chaser: The 10 block lock can only be changed by a hard fork. Stepping it down gradually would take years 17:37:19 jeffro256[m]: from a meta point of view, a special rule for coinbase spends doesn’t solve the root problem which is inadequacy of ring signatures. Setting a precedent could have long term effects… which is an ambiguous complaint. 17:38:53 xmrack[m]: My PR actually does this currently, but it doesn't take into account amounts which reduces the effectiveness 17:39:26 Rucknium[m]: yeah, I know. I can imagine attackers who aren't willing to attempt the whole thing with 10 blocks, but will come out of the shadows with 5. but of course I can't prove it would play out that way 17:39:52 UkoeHB: Yes, but this is a clear cut rule which raises the effective ring size for free in terms of on-chain data, and just a tiny overhead for RPC servers 17:41:28 Obviously nothing is better theoretically than just increasing ring size, but look at the impact in practice, especially with p2pool 17:42:02 You could use the formula for 51% attack success probability to determine the hashpower for an occasionally successful 10 block reorg vs. 5 block reorg with minority hashpower 17:42:20 That path has a clear slippery slope. Say you make it a wallet rule, well now you have implementation variance. In response, we get pressure for a protocol rule. After that might come balance splitting (coinbase/non-coinbase), which is a wallet nightmare. What if some other use-case clearly divides the global money supply? The coinbase precedent will encourage going down the same route again. 17:42:26 IMO the 10-block lock must stay unchanged. Tweak wallets to auto-create change like Monerujo did, if purchase convenience is an issue 17:44:13 A more useful problem to tackle is speeding up IBD further. we've discussed methods a few times already but nothing's come of them. 17:45:00 IBD = initial block distribution? 17:45:03 allow nodes further than N blocks behind to use summary/checkpoint hashes, generated the same way as the hardcoded ones, 17:45:05 yes 17:45:09 D = downuoad 17:45:18 ^ yes 17:46:06 10-block lock is a safety factor of at least 2.5, which is a good value. Idk if we can justify a lower safety factor. 17:46:29 yeah, decreasing that is playing with fire 17:46:50 Here's that minority attack formula: https://www.worldscientific.com/doi/abs/10.1142/S021902491850053X 17:47:14 UkoeHB: I get the concern, but I don't think I buy this slippery slope argument since there is already a hard protocol difference between coinbase and non-coinbase outputs (coinbase outputs appear in special transactions in the block and have amounts encoded in tx prefix even when version > 1). 17:47:41 Safety factor of 2.5? Is that in the github issue somewhere? 17:47:44 hyc: I agree speeding up IBD is good, but not sure how it's related to the problem caused by the 10-block lock 17:47:46 Well, 5 blocks are still 10 minutes, which won't make all people happy anyway. 17:48:20 chaserene: not related. IMO the 10-block issue needs to be dropped and forgotten. 17:48:38 let the wallets deal with the UX. 17:49:03 Rucknium[m]: with a typical reorg depth of 2-3, we get a safety factor of at least 2.5 17:49:04 Rucknium[m]: I think he means that all the reorgs we see are 2-4 blocks deep 17:49:30 With years between 4 block reorgs, right? 17:49:35 decreasing the 10-block lock is foolish, if not totally reckless. 17:49:40 PocketChange and similar solutions probably reduce privacy. Consolidating pocketchange can improve guessing probability of real spends. 17:50:03 I don't know, those reaorgs don't have a clear date to them in the logs 17:50:25 you will just have to estimate based on the logfile names 17:50:32 and perhaps the line numbers in each logfile 17:51:26 Rucknium[m]: I suppose this is the same problem we have from churning 17:52:03 Maybe some similarities with churning 17:52:34 jeffro256[m]: I’m not convinced, you can use any distinction to make an anonymity puddle. Whether the cause is a protocol rule or a user behavior, the result is the same in terms of privacy. 17:53:14 PocketChange consolidation is basically this problem: Borggren, N., & Yao, L. (2020). "Correlations of multi-input Monero transactions." https://moneroresearch.info/index.php?action=resource_RESOURCEVIEW_CORE&id=57 17:53:36 yeah, understood 17:54:02 There is a warning in wallet2 when you spend two real spends that are close to each other in age...and both old, IIRC 17:55:11 "PocketChange and similar..." <- yes, I really didn't like how the Monerujo dev didn't mention at all the privacy tradeoff 17:55:31 in their announcements 17:55:44 We are approaching the end of the meeting, are there any last-minute questions or comments on other topics? 17:55:54 If coinbase outputs are not excluded from rings, then ring size should be increased to compensate for the number of black marbles that coinbases create 17:56:18 Maybe "proportion" is a better term than "number". Since coinbase outputs are included in proportion to their prevalence in recent blocks 17:57:09 since we want to increase ringsize to N=128 or more anyway, just do that 17:57:51 The formula would be...something...to nominal ring size be equivalent to effective ring size at a particular (lower) ring size. 17:59:09 This issue with coionbase outputs was brought up months ago and there were no strong objections. I asked what the next step were...and nothing 17:59:09 Doesn't matter if ring size is 128, there's still X% of ring members which are coinbase when spending non-coinbase. Why not remove those ring members for free? 17:59:11 So there is a problem with the decisionmaking process here 17:59:32 jeffro's work is a sunk cost, of course. We don't have to do it just because the sunk cost was expended 18:00:16 Removing is not "free", you rise the complexity of the system overall, and the codebase 18:00:46 "jeffro256: I’m not convinced..." <- You could say the same thing about pre-RCT decoy selection selecting outputs of the same amount. It creates puddles, but that's alright because the alternative is that cross contamination reduces effective rign size 18:01:01 The protocol becomes one wart more, to put it aggressively ... 18:01:09 *gets 18:01:14 Of course, further research and analysis can uncover issues that were not considered before 18:01:50 This is an unavoidable curse of ring signatures. This overall problem was written when the Cryptonote paper was released 18:02:18 Everyone has accepted this problem 18:02:57 Maybe "everyone" is a bit much :) 18:03:05 There are some protocols that ignore these ring signature problems, e.g. Zano and Mobilecoin. I hope Monero does not become one of them 18:04:00 What I mean is Monero was born with this problem. By trying to improve Monero, you accept that the system is imperfect 18:04:18 Ah, ok, I see 18:04:46 jeffro256[m]: overall I’m not against it being a wallet feature, but we should keep in mind the trade offs and dangers 18:05:11 We are past the hour so I’ll call it here, thanks for attending everyone 18:06:15 Agreed, thanks for letting me bounce ideas off you 18:07:49 just a note on reducing the 10-block lock - you should expect to see a nonlinear, hysteresis effect. not many multi-block reorgs because everyone knows attacking the 10-blocks is too hard. 18:08:31 but as that number comes down, the feasibility of attack will make reorg frequencies increase beyond the rates we see now 18:09:26 That's a good point that I didn't think about 18:10:41 hyc: yes, I agree that this is what would happen. the unknown that is the hash power at the sidelines 18:12:04 that's why I'd support only a very minor reduction, to slowly map out tde terrain that's right now unseen 18:16:51 What would be cool is to have a way to sign an incomplete transaction, missing only the decoys, and send that to a trusted daemon. Upon a reorg X-block-lock deep, the daemon can reconstruct the complete transaction by filling in the decoys and broadcast that transaction instead. Doesn't solve the key image leak problem, but it would increase availability, making those attacks against the network less fruitful 18:17:51 jeffro256[m]: with seraphis you can delegate membership proofs 18:18:43 Absolutely based, that also fixes cold signing transaction with old decoys 18:18:53 chaserene: the problem with mapping out the terrain is when you reach the limit you've just tanked a $3billion network 18:18:58 For long term storage 18:20:50 hyc: And a psychological effect like that could be very discrete. You would not necessarily see any signs of breakage until you lower it by just one block and then deeper reorgs pop up left and right 18:22:09 hyc: fair enough 18:23:48 jeffro256[m]: yes, the discreteness of it probably makes it especially to do it safely 18:24:49 * hard 18:25:17 Its a wallet side ux issue that exists as long as we use rings 18:26:16 Or even full membership proofs, depending on the implementation 18:26:59 I describes an easy to implement wallet sideux feature that gets around it (lockd funds) in probably 99% of cases with minimal privacy reductions from consolidstionsb 18:28:02 ofrnxmr: I'm interested in reading it, where did you publish it? 18:28:07 I think the safety issue would go away if txns referenced outputs by their 32byte hash instead of their 8byte output index 18:28:28 twitter 18:29:00 then most txns remain valid even after a reorg, as long as they're still mined in the new chain too 18:29:25 hyc: the safety issue is that a malicious double-spender can remove their own enotes from the ledger, invalidating txs that reference them as decoys 18:29:57 ah, right 18:50:43 i didnt receive a transactions. can someone help me? 18:52:02 Monero please and thanks 18:53:02 Or #monero-support:monero.social 19:30:06 Rucknium @rucknium:monero.social: There's a few disagreements on how to move forward and a lack of available development 20:38:46 kayabanerve: what do you mean by "available development"? 21:06:47 chaser: Have you implemented SNARKS yet? 21:06:52 That's what I mean :p 21:07:21 Few people here can and no one has published work yet. 21:08:03 I will ask chaser: and Rucknium @rucknium:monero.social: to not contact Bailey at this time though. 21:08:38 I don't believe Bailey is an appropriate fit to contact, unless you just want to contact any researcher in the field. Then sure, they're intelligent, knowledgeable, and security focused. Great. 21:09:03 They have no direct relation to our needs though. The Curve Trees authors would be a much better choice. 21:09:19 kayabanerve: I haven't implemented any of them yet. I suppose that means none of the existing circuits are a fit for Monero? 21:10:05 I'd also ask y'all don't reach out to them though. I've already done so with some replies. I'm still weighing how I want to move forward there, and will sync with the Monero community when I have a path worth discussing. 21:10:43 (Or sure, you can be independent and do so. I just don't want to reach out twice and potentially be a bother. That doesn't justify me monopolizing them) 21:11:19 To be very blunt, and I'm sorry if I'm too rude as I do, if you're asking that question you shouldn't be reaching out to anyone to organize anything. 21:12:10 I don't hold that against you. It just reiterates few people can discuss this at this time, and that limits bandwidth. I appreciate you trying to add bandwidth though. 21:12:45 If you do want to try to help, I'd say reading the entire issue, top to bottom, is sane (unlike the TX extra issue which isn't worth the time). 21:13:07 There are circuits and proofs which are a fit. We need implementations. 21:13:29 kayabanerve: okay, noted, and don't worry. I appreciate both your contributions and your honesty 21:13:34 narodnik has commented on this work. So have I. There's mutual interest with Firo. jberman @jberman:matrix.org: has bullied me ad infinitum to do it. 21:14:25 I'm planning to present, at Monerokon, on this topic, and with it, sync everyone on status. While private/closed doors/black box of me, I'd personally appreciate the opportunity. 21:15:26 To at least start that process now, Curve Trees requires a modified BP, which there isn't a formal protocol for nor security proof of. I realized this about a month ago and reached out to the authors asking if they'd be interested in doing so. 21:15:37 kayabanerve[m]: sounds great, looking forward to that 21:17:00 They replied with the underlying statements necessary to use Bulletproofs to prove, yet not a protocol using Bulletproofs to do so (though they do have a modified PoC which one can be extracted from). 21:17:33 They aren't interested in further work on it at this time, from my understanding. 21:18:58 Or rather, they weren't planning to do further work at this time. I've been personally considering explicitly offering funding to do so, as they may be interested if they have the opportunity, yet I'm unsure that'd be optimal at this time. I need to sync with a few people who may be willing to pick it up themselves. 21:21:13 And because I haven't done such syncing, I don't feel a need to get everyone's opinion. If anyone has contributing opinions, I'd love to hear them. I just know this aspect is semi-needed (there is a much simpler workaround with much worse performance), so from my perspective, moving forward requires either making the alternative's performance acceptable OR finding someone to do the work. I'm uninterested in trying to organiz 21:21:13 authors, or trying to find and organize funding for distinct researchers, when I may be able to arrange for that work to be done myself via another angle. 21:23:53 If the other angle doesn't pan out, then we have to evaluate how much worse worse performance is and discuss community organization of research/fundraising. I would absolutely bring that up, likely initially involving MAGIC. I just haven't brought it up since we're now all spending time on it when it's just another few messages I have to follow up right now. 21:24:03 (Though yes, there's now reason since others are trying to move forward, which I appreciate :) Just clarifying I have been moving forward. there's just angles and intricacies. I should have a proper summary/path for the community by my self-imposed deadline of Monerokon) 21:25:16 And if I didn't have such a deadline, yes, I would've commented much earlier. I'm not trying to prevent other people from hopping in. Solely trying to get some bones down so we don't waste time when we move forward, since I have a definitive time to make such bones or fail to do so. 21:25:45 I think that's all very valuable, thank you for sharing 🙏 21:25:53 (There is also a variety of other research aspects. That's my primary WIP rn) 21:28:07 Further cc: kowalabearhugs- monerobull: tevador:, and I'm already privately syncing with narodnik and a few other parties. 21:28:07 Koe/vtnerd/others would likely also be interested. I just have no actionable reasons to draw them in now, nor am I considering drawing them in yet. 21:30:50 Llama summarize 21:35:59 Literally just I have been privately working on organizing SNARKS a bit more, have nothing worth discussing with the community at this time, and am requesting until Monerokon to present my findings on research and steps forward. That may involve MAGIC/the community coordinating research funding. You were pinged due to that aspect. 22:45:49 kayabanerve: You are still thinking of it as a software engineering problem instead of as a math problem 22:46:33 No security proofs yet? Can't move forward without them. At least, cannot go to mainnet without them 22:53:02 Rucknium @rucknium:monero.social: I literally said I contacted the authors to ask them about their work, and inquired if they'd formalize/prove it. 22:53:31 My entire commentary was about getting it proven. 22:53:56 I also said there was an alternate which wasn't so invasive, just with much less performance. If we can't get the former proven, I'd put forth proving the vastly inferior option. 22:55:17 If we can't prove either at this time, then we'd know the obstacles and leave them to be worked on. I never once suggested deploying unproven protocols. I solely discussed getting the protocols proven. 23:12:31 Thanks. Your summary makes it more clear what your plan would look like. 23:19:09 Sorry for being so defensive here. The reason I wanted to wait to post my conclusions, with an explicit path forward already clear, was to avoid these discussions/criticisms/concerns. I do plan to properly comment on the proofs, the protocols, the algorithms, the security of each component, and what they each need. Any in-development view would be partial, as my initial commentary here was. It's frustrating for me that as I 23:19:09 commenting, to prevent seeing wasted efforts, I now have these concerns raised.