15:01:00 MRL meeting in this room in two hours. 17:00:29 Meeting time! https://github.com/monero-project/meta/issues/1443 17:00:34 1. Greetings 17:00:50 Hi 17:00:52 Hello 17:01:02 waves 17:01:13 Howdy 17:01:35 Hello 17:02:01 hi 17:02:38 Hello 17:02:51 Hello 17:02:54 2. Updates. What is everyone working on? 17:03:16 Not sure if it is relevant to the meeting but I am working on carrot25519, a little experimental C11 allocation-free primitive implementing the raw Montgomery ladder that CARROT uses, with portable/fiat51, ARM64/cc0, x86_64-baseline and BMI2+ADX backends, still need some optimizations, and DataHoarder and Tevador been helping :) 17:03:39 @slowbeardigger:matrix.org: parallel to that I’m pushing the xmr-pay Carrot side (view-key only scanning + settlement/reorg) so compatible payment integrations can be ready for the community as soon as public stressnet or mainnet Carrot lands. (yay) 17:03:56 I'm working on adding Carrot-compatible coinbase transactions to P2Pool (last week I was quite busy IRL, so this work just started) 17:04:01 hello. seeing sech1 move to Carrot/FCMP++ for P2Pool and reviewing anything 17:04:13 Me: attempting to decrease lock contention in monerod 17:05:00 Some upstream PR handling and re-reviewing the Carrot hot/cold wallet PR 17:05:11 me: Testing Dandelion++ privacy protections in monerosim. Not ready to share statistical results yet, but everything looks good so far. I can get precise estimates of spy node effectiveness with just a few dozen simulation runs. Continuing to report issues in monerosim: https://github.com/Fountain5405/monerosim/issues 17:05:21 Hi 17:06:00 me: spent time updating serialization code (still not pred), updated/tested racy code in epee/levin, and now working on updating all my prs to work against head master version 17:06:07 me: implemented tevador's suggestion for PQ turnstile indistinguishability: https://github.com/seraphis-migration/monero/pull/456. Reviewing upstream PRs 17:07:40 3. PQ turnstile spend enables a Carrot/Jamtis distinguisher (privacy leak) (https://github.com/jeffro256/carrot/issues/10). 17:09:27 PR for K^j_v implementation here: https://github.com/seraphis-migration/monero/pull/456. API for scanning coinbase enotes changed slightly, requiring the user to pass their main address view pubkey, but otherwise the API didn't need updating 17:10:44 If we go with the above change, I'll need to update the Carrot spec 17:12:25 Would the change require anything to be re-audited or receive external review again? 17:12:26 Carrot spec already needs update due to the personalization string / Generator T changing 17:12:47 And https://github.com/seraphis-migration/monero/pull/424 17:12:57 I don't think so, because actually the first Carrot spec audit had d_e bind to K^j_v, so it's actually already been audited 17:13:39 DataHoarder: You're right about the T generator, but #424 doesn't require changes to the spec 17:14:51 It's a big API overhaul, but it didn't change anything with the protocol itself 17:15:35 Oh, fair, I guess we just pick the values differently. I do remember a few tweaks were also done for the PQ turnstile to work for coinbase outputs, cannot remember if those were brought back to spec 17:16:05 Yes, the PQ stuff should already be in the latest version of the spec 17:18:41 More on this topic? Should it appear on the agenda next week, too? 17:19:12 If tevador isn't here, then there's not too much to discuss 17:19:25 I think that the rest of the discussion could happen on that Github issue 17:20:03 I will take it off the agenda next week unless someone requests it to be placed on the agenda. 17:20:22 4. FCMP++ to-do list status. Programming tasks (https://github.com/seraphis-migration/monero/issues/53). Reviews and audits (https://cryptpad.fr/sheet/#/2/sheet/view/yPVIUywwA9-deE9VF6GYm9bXbPdCerdST3UDEEfBxcM/embed/). FCMP++ Integration Audit Overview (https://github.com/seraphis-migration/monero/issues/294). Network upgrade [... too long, see https://mrelay.p2pool.observer/e/yLqkpKILb3IwaHJr ] 17:22:20 Next major item: Re-reviewing @jeffro256:monero.social's hot/cold wallet PR now, which is also currently a dependency for UkoeHB 's multisig work. Hot/Cold wallet stuff is very close I think 17:23:13 RFQ is going out for gadgets + circuit + fcmp-plus-plus audit, nothing to report on there yet 17:23:41 Licensing discussion still ongoing in https://github.com/monero-project/monero/pull/10964 for mx25519. Tevador proposed an interesting solution: effectively make the core API+portable impl licensed permissively, and the fast assembly backends (where the magic happens) copyleft 17:23:52 I was hoping that he'd be here today, oh well 17:25:50 Thanks, @jberman:monero.social and @jeffro256:monero.social . More on this topic? 17:25:58 That "trick" probably won't extend to the much simpler Polyseed library? 17:26:00 I was wondering if it would be worth it to work on a quick license library to fetch license text to display in-binary for applicable licenses 17:27:03 Unless tevador chooses to re-license, then Polyseed remains under LGPL 17:27:32 @jeffro256: How would that work? 17:27:48 What about, relicensing the mx25519 to MPL-2.0 pls split the library? 17:27:48 like BSD-3 the core + C portable implementation, MPL-2.0 the assembly backends 17:27:48 Compilation flags included on the fast assembly[... more lines follow, see https://mrelay.p2pool.observer/e/mP--pKILQjhCa2N2 ] 17:28:01 I think Trevador said he likes a way like that 17:28:37 That's exactly the solution tevador suggested. 17:28:45 yeah 17:28:54 if you ask me, that seems to be the “easiest” way 17:29:16 The licensing issue raisees many questions for dicussion. 17:29:41 Gets the thing done in a couple of commits, and not a lot of drama 17:29:41 less friction way imo 17:29:52 I am just looking at the Github 17:29:55 @tobtoht: It would look like a license command in daemon/wallet CLI/wallet RPC etc which pulls text from an in-binary array, which is inserted during build time based on a maintained license file 17:31:39 So when we add a new dependency which requires distrubuting source code information alongside the binary, a contribuor would append applicable info to the license file, which gets added into the binary during build time 17:32:18 Not sure there's much point to the licensing section of the CoC if it can just be ignored 17:32:51 Even without mx25519/Polyseed we should probably do this because we are out of compliance with some BSD-3 licensing 17:34:07 Our biggest licensing issue right now is our GPLv3'd readline dependency 17:34:26 I suggested replacing it with linenoise from Redis 17:35:09 It would also be a drastic reduction in LoC for that functionality 17:35:19 FWIW, R and python have a license text that can be printed with license(). 17:35:22 Would this license content mechanism be available to smartphone wallet apps as well? 17:35:36 @jpk68:matrix.org: Yep, would also drop ncurses. 17:37:09 rbrunner: We could expose it in wallet api? 17:37:27 Sounds reasonable. 17:40:15 5. Relative locks with FCMP++ (https://github.com/monero-project/research-lab/issues/161). 17:41:17 Last meeting, UkoeHB said he would put review of https://github.com/seraphis-migration/monero/pull/445 on his list 17:44:07 Any discussion of this for now? If not, I will move on to the next item. 17:45:11 6. FCMP beta stressnet (https://github.com/seraphis-migration/monero/releases/). Version 3 launch checklist (https://github.com/seraphis-migration/monero/pull/415). 17:46:17 Re: relative locks, I just commented on the original issue here: https://github.com/monero-project/research-lab/issues/161#issuecomment-5345884915 17:46:32 oh boy 17:46:32 :) can’t wait 17:47:00 I think it could potentially help strengthen the case for them if the Grease people want to run with that primitive 17:48:16 Re: beta stressnet. Discussed with @jeffro256:monero.social and we're going to aim to have the hot/cold wallet changes in for beta v3 as well. So desired order of operations is hot/cold wallet changes then rebase on top of latest master 17:49:21 The hot/cold wallet changes bring a pretty significant change to the wallet, and I think it'll be good to have it sorted out in that order 17:49:45 I have shut down all my tx spammers and switched my nodes back to regular testnet. 17:50:51 So right now working on my re-review of the hot/cold wallet PR and hopefully we'll have that ready by next week. I know I said hoping by next week last week, but hot/cold wallet stuff does make sense to get in first for reasons above (which I wasn't considering when I said that) 17:51:35 And making sure hot/cold wallets are ready for the fork is obviously a requirement for the fork anyway 17:52:46 Did not review that PR yet 17:53:08 ukoe is the hot/cold PR sort of a prereq for some of the multisig stuff? 17:53:31 Multisig branch is on top of that branch 17:54:18 IIRC it's just tx_builder that's a dep 17:55:17 One thing I've been thinking that would be nice is to have some good concrete testing of the new wallet/daemon software before the fork. We don't need to spam during that period (that would spam current testnet), but a concerted effort at testing during that period would be nice 17:56:21 Maybe we'd want to consider an initial fork from current testnet that just separates networks, but maintain current rules pre-fork, that would allow people to spam 17:56:59 @jberman: You could have cuprate on stressnet for that time, too. 17:58:40 More on stressnet? 17:58:51 nothing from me 17:59:45 7. PoW-Admitted Zero-Fee Transactions for P2Pool (https://gist.github.com/SChernykh/aae5b2d414095e742437134ab20d4353). 18:00:06 sech1. And maybe DataHoarder[m] 18:01:00 nothing from me here at this point 18:04:47 sech1 was here at the beginning of the meeting. 18:07:02 I created https://github.com/monero-project/monero/pull/11102 to make life easier for P2Pool when handling these transactions 18:08:25 This item can be removed from agenda for the next meeting, because I'll be working on general FCMP++/Carrot support for P2Pool, and zero-fee transaction support will be added after all that. 18:09:16 More discussion on this item? 18:11:52 We can end the meeting here. Thanks everyone. 18:12:06 Thanks, have a good one y'all