07:33:30 I updated https://github.com/monero-project/research-lab/issues/70 with may recommendations to address this issue 08:28:13 thanks h4sh3d[m], grateful for your contribution and looking forward to the review process :) 14:59:38 Hello all 15:00:08 Finally online today... had to rebuild a Linux environment after it broke :/ 15:33:44 ArticMine: really great stuff 15:35:14 you too UkoeHB_ 16:05:07 Really cool to see such detailed, low-level discussion happening to make sure we're prepared well in advance of potential network events 16:05:39 Awesome work to all involved, the fee market + block size in Monero is one of the lesser recognized, but extremely important developments spearheaded by Monero. 16:05:44 *along with tail emission to make both work 16:48:37 Meeting here starts at 17:00 UTC (about 10 minutes from now) 16:48:40 .time 16:48:40 2020-08-05 - 16:48:40 16:59:12 OK, let's get started with the meeting 16:59:13 GREETINGS 16:59:16 hello 16:59:30 Hi 17:00:44 * needmoney90 realizes a meeting is happening 17:01:49 Is this thing on? 17:01:52 * needmoney90 taps mic 17:02:09 Hello 17:02:31 Let's move to ROUNDTABLE, where anyone can share research of interest with the channel 17:02:42 Well I will start 17:03:19 * Isthmus waves 17:03:29 My main contribution is on https://github.com/monero-project/research-lab/issues/70 17:04:18 Yes, it looks like some recommendations for fees and block growth 17:04:26 UkoeHB_ also responded to it with questions 17:04:45 It deals with ah issue that is actually very serious once the block growth grows significantly 17:04:57 I haven't yet read in depth enough to comment, but can tell that this is very detailed/thoughtful work - thanks for contributing this pretty hefty analysis 17:05:53 hello 17:06:10 I will be talking about this also at Defcon on Friday 17:06:16 I second Isthmus's comment 17:06:21 ArticMine: awesome 17:06:43 At this point what I need of course is review and feedback 17:06:48 right 17:06:53 thanks sgp_ 17:07:08 I assume that it is not your intent to get this into the October upgrade ArticMine? 17:07:15 The code freeze for that is August 17 17:07:29 speaking of that, did the janus mitigation stuff make it? 17:07:49 nope 17:07:57 darn 17:08:15 It is very tight for the October 17 upgrade 17:08:17 There are a few approaches, and not enough broad agreement about choosing one 17:08:22 ArticMine: I would not go for it 17:08:39 Next upgrade could include fee/block update, transaction structure if desired, etc. 17:09:44 The best alternative is to do nothing with respect to fees / scaling at this fork and keep the current reference transaction size etc. 17:10:14 Even with the CLSAG transaction size change? 17:10:44 There is no problem leaving things as they are 17:10:50 Which drops the transaction size by 32*(N-1) bytes per spent input, at ring size N 17:10:55 The other option can be a partial implementation 17:11:33 The drop is from ~2600 to ~2000 bytes over all for a 2 in 2 out tx 17:11:45 2.5 kB to 1.9 kB for 2-2 17:12:17 So the fees will still drop. 17:12:43 I noticed you also commented on sgp_'s coinbase idea ArticMine 17:12:53 is it okay if the fees drop? honesty fees seem super low already 17:13:06 Yes this is where it gats a bit interesting 17:13:33 If the response is to increase the ring size to mitigate this 17:13:54 "If the selection is algorithm is weighted towards current transactions then one would expect at most about 5% of compromised coinbase outputs in a ring" I don't think this is correct 17:14:06 it's closer to 20% 17:14:17 "If the response is to increase the ring size to mitigate this" :- D 17:14:52 It is also the reason I provided a second option where the reference tx is basically the same 17:15:11 SO it can accommodate a ring size increase 17:15:23 "Sorry everybody Monero got too efficient, so we had to add some extra privacy to round things out" 😅 17:15:38 Isthmus: lmao hilarious 17:15:54 transactions were so tiny we just HAD to improve privacy, sorry all 17:16:31 My 5% figure came from using current tx data. If one takes tx data from a year ago the results are very different 17:16:31 the fee stuff is not time sensitive (we need a lot more tx volume for it to be serious) so I feel it's safe to hold off one hardfork 17:16:32 ArticMine: I don't agree with your assessment, but it's probably not worth discussing before my Defcon talk 17:16:32 FWIW increasing ringsize 12-13 would put verification where it is right now 17:16:57 The best place is to comment on the issue in response 17:17:44 ArticMine: I get that, but I have nothing to add now before the talk 17:18:13 OK, anything else to discuss presently ArticMine? 17:18:44 No that is a good summary. Thanks 17:18:53 Thanks ArticMine 17:19:00 You are welcome 17:19:05 Isthmus: you had something on the agenda issue 17:19:27 Ah yea, just some quick notes 17:19:30 just to be clear: we are deciding we do not need to make a decision on ringsize and transaction size/fees for this month? 17:19:49 * Isthmus pauses 17:19:52 Unless there is a compelling reason, I do not think increasing the ring size for October should be done 17:20:13 and big changes to fee/size so quickly seems unwise 17:20:54 I am neutral on the ring size question. I will wait for sgp_ 's talk first 17:21:33 ... but I do agree it is getting very close for the October fork 17:21:42 Note that it was repeatedly stated that transaction size _will_ go down 17:22:11 my vote is no unless it's critical 17:22:52 OK, Isthmus? 17:23:05 We drew up a rough schematic of how an outside observer with a quantum computer could might approach systematic deanonymization of the blockchain without participating in any transactions: 17:23:11 https://usercontent.irccloud-cdn.com/file/Dp8NjuDw/image.png 17:23:26 What assumes a candidate destination address suspected by the attacker? 17:23:33 Isthmus: ooooooh can we share? 17:23:53 sgp_: where 17:24:11 sgp_: without a ton of context, people might freak out unnecessarily... 17:24:17 I'm behind raising ring sizes. I would eventually hope we can hit three digits. 17:24:33 sarang: what was your question? 17:24:51 This assumes a noninteractive attacker just analyzing the blockchain 17:25:18 idk, twatter 17:25:26 Payment IDs and amounts are encrypted using the DH shared secret, which involves recipient address and transaction key 17:25:41 So are you assuming the attacker has a list of addresses they suspect could be recipients? 17:26:10 If so, they could use these to check 17:26:10 Am I reading it right above "I have relevant info but I'll send it to the media, not you" ? 17:26:25 ? 17:26:57 ? 17:26:59 nicely presented figure Isthmus 17:27:21 < sgp_> ArticMine: I get that, but I have nothing to add now before the talk 17:27:39 I have no background on this so I might be misinterpreting (I hope). 17:28:05 Ah @sarang I see what you mean. I have a meeting with Adam later today, and will unpack the assumptions under the hood to clarify 17:28:14 Given that, let's not share yet sgp_ 17:28:32 Isthmus: yeah, same with the stealth address stuff 17:28:43 I think it's important to clarify what requires candidate addresses 17:28:52 It doesn't make everything magically ok, but it's important IMO 17:29:06 okay I'll not share that image 17:29:15 I read what you have now as "you need the chain and no other information" 17:29:16 Maybe the rows should be reordered (3,1,2,4) 17:29:19 but I don't think that's the case 17:29:29 but re: moo: yes I'll share all the researhc I've done on coinbase rings at Defcon after discussing them here for years 17:29:44 also: "key signature" -> "key image"? 17:29:45 will be good to have a talk 17:29:55 Ah, so this is just stuff already discussed, fine then. 17:30:25 In other words, step 1 would be using Shor's + Grover's to extract real address from stealth address, then use that moving forward for the other decryptions 17:30:37 But yea, lemme have some offline conversations and clarify next week 17:30:51 ahhahaa "key signature" 17:30:54 that was my bad, brain fart 17:31:11 Can you briefly explain pulling addresses from stealth? 17:32:29 If you pull addresses successfully, then sure, you can derive the shared secret and use it to get pID/amount 17:34:23 Grover's algorithm kind of lets us brute force the address space in O(sqrt(N)) whereas classical computers are limited to O(N) 17:34:52 Maybe O(N^(1/3)) but not committing to that yet 17:35:05 I'll try to get a better diagram/explanation for next week 17:35:15 OK 17:35:16 Will have thorough public writeups in the next few weeks anyways 17:35:33 Thanks for the update Isthmus 17:35:38 Completely unrelated, Neptune engineered some great systems for parsing and analyzing tx_extra 17:35:43 ah sorry, go ahead 17:35:44 We found some whimsical unencrypted PIDs, see https://github.com/noncesense-research-lab/monero_tx_extra/blob/master/ascii_data.md 17:35:52 Nah, that's all 17:36:07 Another data point for stricter tx structure... 17:36:37 Thought y'all might get a chuckle out of those on-chain easter eggs 17:36:52 You misspelled "fingerprints" :/ 17:37:25 If something is found just once, it's not really a fingerprint. Are there duplicates ? 17:37:27 haha cool stuff 17:37:43 Boatloads of duplicates 17:38:13 If boatloads, that points more to malice. 17:38:36 I don't think it's that magnitude of "boatloads" 17:39:00 well, intent is whatever, but not enough to impact network privacy for other users 17:39:25 "fluffypony is the best pony ever" alone was used 85 times 17:39:37 lol 17:40:00 Dates also often repeated 17:40:02 https://usercontent.irccloud-cdn.com/file/jJoGVIwT/image.png 17:40:36 101 txns that had the uPID `EYEixhEvFzEcyJapqxJsoEwmeNULJYFV` 17:40:45 (to give some context for 'boatloads of duplicates') 17:41:35 cool treasure hunt 17:41:43 Any other questions/comments for Isthmus on his update? 17:42:10 If not, I'll provide an update 17:42:18 Shoutout to n3ptune who built the whole framework that made the treasure hunt possible 17:42:25 Pleased to announce that the CLSAG audit is complete: https://web.getmonero.org/2020/07/31/clsag-audit.html 17:42:34 Nice! 17:42:40 great post 17:42:42 Note that the audit report reflects the _original_ version of the preprint, not its update 17:42:48 cool logo too 17:43:01 The update contains many updates to address the reviewers' concerns and improve the security model and proofs 17:43:15 The code did not require any changes 17:43:45 Ledger and Trezor support is continuing nicely, and I'm in contact with their teams 17:44:14 I updated some branches/PRs for things like wallet signing, key encryption, transaction proofs 17:44:22 Some minor things for `monero-site` 17:44:29 Work related to BP+ 17:44:48 There's been a fair amount of discussion since the BP+ CCS was posted 17:44:59 Isthmus: and that wasn't even me 17:45:24 As I'd brought up recently, the original numbers proposed for moving from BP to BP+ would not be nearly as good as the table suggests 17:45:29 Various people did that, IIRC. 17:45:40 since the authors didn't account for some optimizations consistently 17:46:02 The short version of this is that we'd drop 96 bytes from each transaction, with a marginal speedup (very marginal) 17:46:45 I'm of the opinion that BP+ is worth continuing to research and investigate, but I don't think the benefits are significant enough to rush into it 17:47:32 However, the CCS proposers did say they were open to the idea of auditing a hypothetical future implementation, since they have expertise relating to the BP+ construction 17:48:02 Any other thoughts on this? 17:49:24 What kind of timeline would be reasonable for BP+? 17:49:36 Certainly not the October upgrade 17:49:48 That is out of the question 17:49:59 But I think it could be within a few weeks to code and get initial tests up and running 17:50:07 Auditing would be a separate timeline, of course 17:50:27 Six months? 17:50:39 Absolutely, provided the auditors have availability 17:51:01 Six months between hard forks isn't manageable 17:51:05 * Isthmus has to hop into another meeting, will be back in a later 17:51:07 At this point it's 9m min 17:51:11 * Isthmus takes off lab coat and goggles 17:51:39 Just want to pipe in and mention that, because the coordination is hell and a lot of people not involved don't realize how bad it got 17:51:54 Again, I don't think there's a particular rush for BP+ since the benefits, while present, are marginal 17:52:09 needmoney90: I'm not necessarily advocating for any particular upgrade timeline, to be clear 17:52:19 if it happens, then it happens, whenever the next update would happen anyway :p 17:52:49 I'm just trying to express that if it's not this update, we're nine months out min 17:53:04 It will not be this update 17:53:06 No way 17:53:12 No advocacy either, just statement of fact 17:53:29 And given how new the construction is, I would prefer that it receive additional scrutiny 17:53:37 It's straightforward, but still very new 17:53:43 Then lets us make it nine months for the next HF 17:54:35 I do agree with needmoney90 that a longer time would be very beneficial for coordination and ecosystem communication 17:54:50 Getting hardware device support for this update was a bit of an ordeal, for example 17:55:04 to say nothing of software wallets, exchanges, etc. 17:55:04 ping dEBRUYNE to remind them about the relevant post on upgrades ^ 17:55:08 Plus code freezes, followed by translations team and wallet code 17:55:23 Lots of stuff has to be done in serial for a release 17:55:27 right 17:55:29 And only after code freeze 17:55:38 Which makes it a total nightmare 17:55:42 Well, it sounds like there isn't any major opposition here to a longer time 17:55:45 Lead time is a very valid issue 17:55:48 Fixing an airplane while it's in the air and all 17:55:57 and at any rate BP+ wouldn't make it for October 17:56:36 I do think the CCS proposers would produce a quality code review 17:56:58 And having additional researchers participating in the ecosystem is very positive 17:57:18 How would you suggest we go hunting 17:57:18 The proposers could write the code, but then they shouldn't audit it of course 17:57:27 needmoney90: ? 17:57:39 For additional researchers 17:57:56 What can we do to entice more people onboard? 17:58:32 Oh, I see you were referring to the CCS proposes as the researchers, I misread. 17:58:37 Still, relevant question 17:58:42 Proposers* 17:58:43 Yes, sorry for any confusion 17:59:26 That's also a good question, and not one I have a good answer to... researchers seem to find the project if/when they have aligned research interests 17:59:31 Link to the CCS for the record? 17:59:40 e.g. the DLSAG team, Isthmus and friends, the BP+ CCS researchers 17:59:41 one sec 17:59:41 Since we're talking about it. 17:59:56 BP+ CCS: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/156 18:00:02 Thanks. 18:00:41 For clarity, I am claiming that the improvements shown in Table 1 at that link are not representative of what we'd see in an implementation 18:00:47 at least not for verification 18:02:13 All right, in the interest of time, does anyone else wish to share research of general interest? 18:03:20 OK, in that case, let's adjourn! 18:03:25 Thanks to everyone for joining 18:03:30 I had a discussion with articmine about the potential for dynamic block times, in addition to block sizes (such that the block time can adjust in response to size increases to keep orphan rates low) 18:03:32 Logs will be posted shortly to the agenda issue on github 18:03:33 oh 18:03:34 nbm 18:03:40 we can talk about it later :D 18:03:42 No, feel free to continue discussion! 18:03:55 Adjourning is just for log purposes 18:04:00 So I know what to post 18:04:21 The general feeling I got from articmine was interest but infeasibility, but im still stuck on it. 18:04:42 You mean in terms of the difficulty adjustment? 18:05:06 It comes down to the network being able to measure the number of orphan blocks 18:05:07 yeah, letting it drift with some sort of multiplier as block sizes go up 18:05:16 I mean, does it? 18:05:29 thats the question. If it requires recording orphans its a nightmare 18:05:31 So what's the metric for this? 18:05:40 That was my point 18:05:47 Well, and the network needs to know it for verification 18:05:49 A miner becoming aware of orphans for recent block could include them in a subsequent block, for some reward. 18:06:07 that actually fixes my main concern 18:06:09 (small, to avoid encourating mining on not-the-tip) 18:06:13 ofc 18:06:29 my main concern was the inability to determine if an orphan from a block in the past was generated then or now 18:06:41 sgp_: Yes, still on my list 18:06:46 Only the hash is needed for that, too 18:06:53 to prove it passed the diff check 18:07:00 With respect to BP+, I am kind of hesitant about touching sensitive code in case of mere size optimizations 18:07:03 Seems not worth the trade-off 18:07:25 You need the block, or you could put some random hash with the high bits zeroed. 18:07:46 do we not use some sort of double hash? 18:07:52 hash(Blockhash)? 18:08:23 Because if you have the end hash passing the diff check, I dont think the block would be necessary then 18:08:25 dEBRUYNE: would you have felt similarly if CLSAG had no verification benefits? 18:08:26 only proof the work was done 18:08:37 sarang: yes 18:08:42 I would have objected against implementing it 18:08:47 interesting 18:08:51 I would have disagreed 18:08:53 So you'd want to supply preimages of hashes passing diff check ? 18:09:39 sarang> dEBRUYNE: would you have felt similarly if CLSAG had no verification benefits? <---- or BP causing the drop from 13.5 kB to 2.5 Kb? 18:09:41 sounds about right, yes. You wouldnt need the block by any means, just proof the work was done for it (and therefore its orphan) 18:09:54 ArticMine: That drop is significantly larger though 18:09:58 which dramatically cuts the storage requirements 18:10:01 I don't know if randomx does that eacxt thing at the end, but it'd seem possible to just pass the preimages if it does. 18:10:27 There is a risk / reward issue here so it come down to how comfortable we are with the change vs the reward 18:10:42 13.5 -> 2.5 was definitely worth it. 18:11:29 CLSAG is simple enough that it is worth it even if the verificatoin performance was unchanged IMHO. 18:12:05 So, now I'm wondering how to prove that the orphan presented came from the current tip 18:12:26 you could probably just not prove it, because you have proof its not a duplicate 18:12:28 Blocks have a previous block hash field :) 18:12:37 yes, but if we use preimages the block isnt being passed 18:13:18 And passing the block is out of the question for this 18:13:28 (onto the chain that is) 18:14:24 A scheme that allows people to 'redeem' orphans (any orphans) if their difficulty is below the target and previously unredeemed could work, but could possibly also be abuseable 18:14:44 because you could store a bunch and release them later to...I guess jump the block time? 18:14:55 isn't that what ethereum does? uncles? 18:15:12 something like that, but its for different reasons 18:15:42 this is intended to allow the network to raise its own block times in the event that orphan rates spike 18:20:23 Ethereums uncle block reward construction has been studied with respect to incentives for bad miner behavior 18:21:05 Could you use orphans as a way to lower your own difficulty? 18:21:10 That could be interesting. 18:21:18 Temporarily. For one block. 18:21:56 Doesn't create new coins, and gets balanced out by rising block times (possibly. I need to think more) 18:22:32 And also seems relatively less abuseable