-
moneroextremist[
Seth For Privacy: can you dm me ? could really use your help on something
-
ErCiccione
meeting in about 2 hours
-
ErCiccione
Hey folks,it's meeting time. The agenda is here:
monero-project/meta #703
-
ErCiccione
This should be a quick meeting for updates, so let's get to it. But first, a round of greetings to see who is here
-
ErCiccione
hi all
-
hyc
hi
-
rbrunner
Hello
-
jberman[m]
hello
-
chesterfield[m]
hi
-
moneromooo
hi
-
ErCiccione
Posting the updated plan from last meeting's logs, so we all have it:
-
ErCiccione
-
UkoeHB
hi
-
ErCiccione
Thank you all for coming
-
moneromooo
You release before testnet ?
-
moneromooo
Oh nvm, the list isn't ordered. Ignore me.
-
ErCiccione
-
gingeropolous
hi
-
ErCiccione
^ ordered to avoid confusion
-
ErCiccione
So, master is expected to be feature complete by Monday. What's the current status?
-
hyc
.merges
-
xmr-pr
8046 8312
-
hyc
seems like we're close to quiescent\
-
UkoeHB
8149 does not really have enough review
-
ErCiccione
What type of review are we talking about UkoeHB? I thought KayabaNerve's crypto review was the only big review missing.
-
UkoeHB
Like, it's pretty much just me and a some from vtnerd (the original author flaked, and there have been some changes, rebases, cleanup since his original work).
-
UkoeHB
ErCiccione: comprehensive review of the core issues
-
ErCiccione
right, so it's very unlikely that will be reviewed by monday
-
ErCiccione
we should move up branching then, not ideal, but that fix cannot really be postponed
-
ErCiccione
and the testnet hard fork as well
-
gingeropolous
the multisig fix?
-
ErCiccione
-
rbrunner
Who are the possible candidates for that final review then?
-
ErCiccione
unless we find somebody before then. Can we?
-
moneromooo
The multisig patch does not require a fork, technically. So it can be released in a subsequent version whenever someone with a clue has reviewed it.
-
ErCiccione
yeah but the hard fork would enforce it to everybody, which especially in this case would be important
-
UkoeHB
technically the correct play would be disabling multisig until it can be reviewed properly
-
jberman[m]
seems a 3rd party audit is the ideal route to me at this point
-
gingeropolous
in wallets?
-
hyc
3rd party audit is unlikely to be doable within a single month
-
hyc
that kind of excludes multisig from the rest of the timetable
-
gingeropolous
afaiu, can't really disable at the network / protocol level
-
ErCiccione
disabling multisig sounds quite extreme. We don't know who uses it, beside being a huge problem for haveno and rino
-
UkoeHB
it's just disabling something that can't be used anyway (until/if something that works can be merged)
-
rbrunner
Well, it does work, but it has exploitable weaknesses, which are still 2 different things IMHO
-
UkoeHB
if disabled, then the exploits can't be used
-
moneromooo
One could add a "Multisig is currently dangerous if condition1 condition2 etc". Use "please !*" to confirm. And add a please command that redirects its params to the worker func, bypassing the message.
-
moneromooo
AFAIK the condition is "you don't trust all members", right ?
-
UkoeHB
yes
-
moneromooo
If so, exchanges should be alright using it.
-
ErCiccione
^ much better option. Disabling a feature that we don't know who uses it is a dangerous path
-
UkoeHB
moneromooo: is that something you could work on?
-
gingeropolous
sorry to be stupid about this. what do you mean by disable
-
UkoeHB
gingeropolous: make the calls to sign multisig txs throw
-
moneromooo
I suppose I could. Easy enough so I don't get brain on fire.
-
gingeropolous
UkoeHB, in a wallet implementation?
-
rbrunner
Thankfully the CLI is the only wallet where everybody can freely multisig
-
moneromooo
No way I can usefully review the patch btw, before you ask (sorry).
-
UkoeHB
yeah that's ok
-
gingeropolous
my point is that its not consensus level. Further, with the notion that the core implementation of the software should provide "the best", disable it with the release.
-
gingeropolous
if someone really wants to do it, they can use an old wallet or compile whatever
-
gingeropolous
its not like it can really be shut off
-
ErCiccione
alright, so that is sorted. Now the thing is, do we want to go on without multisig in the hard fork then? Sounds like we don't really have a choice, as we lack reviewers
-
rbrunner
I thought the idea is to go with multisig, but with a big fat warning?
-
moneromooo
Actually, I'll make a "enable_multisig" bool setting in the wallet, off by default. Simpler, more user friendly, and works for RPC in a transparent way.
-
UkoeHB
moneromooo: should be good, with a confirmation message that says "multisig is experimental and possibly exploitable, use at your own risk"?
-
moneromooo
Yes.
-
moneromooo
Feel free to paste me a message that explains the risks.
-
UkoeHB
ok
-
ErCiccione
alright, so
-
ErCiccione
we have no choice than to not include 8149 in the network upgrade
-
ErCiccione
but we really really have to activate the community in search for a reviewer
-
UkoeHB
if we take that route of 'experiment and risky', then merging 8149 early may be ok since it is significantly less risky than the current stuff
-
ErCiccione
multisig is crucial for importantant projects currently being built, so IMO (yes, i'm biased), that should be a priority
-
ErCiccione
UkoeHB: That sounds reasonable. Opinions?
-
rbrunner
With "early" you mean tomorrow, right? For branching on Monday
-
ErCiccione
it's a risky approach, but if we already flag it as insecure might have sense
-
jberman[m]
sound reasonable to me for the release. as far as getting reviewers, why not tap past auditors who audited BP/BP+?
-
rbrunner
I would merge that any day, frankly
-
UkoeHB
maybe? with follow-up PRs to clean up anything reviewers find...
-
hyc
that sounds ok
-
hyc
if they get feedback to us in time it can be fixed in the branch before release
-
hyc
if not, not.
-
ErCiccione
do we have consensus on this? (merge 8149 by tomorrow, add the warning message)
-
UkoeHB
jberman[m]: the problem is third-party auditors don't have a broad insight into the monero protocol or code stack; they are great for targeted audits (e.g. proof implementations), but it isn't clear they are great for broader reviews (I could be wrong)
-
gingeropolous
id say if 8149 is in without default disable, the user prompt / warning should be like multiple OKs
-
gingeropolous
er, i meant default disable
-
gingeropolous
because I know some software users that just click through things very quickly....
-
chesterfield[m]
UkoeHB: Would be nice to start scaling something like this up so Monero does have better audit options in the future
-
UkoeHB
well, I don't know how to do that lol
-
ErCiccione
UkoeHB: Would it make sense to ask to audit the PR, after it's merged? It's a much narrower scope, but still useful
-
hyc
narrowing scope sounds reasonable\
-
UkoeHB
I can squash 8149 on monday. Someone should at least check I am not inserting some shit into the commits lol.
-
rbrunner
We can hardfork testnet on the master branch and postpone branching for a small number of days, technically, right?
-
UkoeHB
ErCiccione: we can probably request an audit for just the signing component (making CLSAGs); everything about the tx protocol is really our domain
-
ErCiccione
Would be a good start IMO
-
ErCiccione
we still need the core parts reviewed as far as i understood, but the two things could go in parallel no?
-
UkoeHB
the original PR author said he was going to write some documentation/proofs for the signing component (which would be very useful for auditing), but...
-
UkoeHB
yes
-
ErCiccione
yeah disappeared, leaving some critical code right there. Not an ideal situation
-
ErCiccione
anyway, let's go on then. As far as i can tell, we are all fine with merging the pr as it is,
-
ErCiccione
there are different opinions about a warning or disabling entirely. I strongly favour the former, for the reasons i mentioned above
-
hyc
enabling via wallet setting, disabled by default, sounds best
-
UkoeHB
works for me
-
jberman[m]
+1
-
rbrunner
Yup
-
ErCiccione
that shouldn't disrupt current users right?
-
UkoeHB
they might have to update their usage to enable signing
-
UkoeHB
which would be good, so users will gain more awareness (if such users even exist)
-
ErCiccione
we should definitely let them know as soon as they try to use multisig though
-
ErCiccione
if that's what people prefer, but looks like it
-
ErCiccione
that = disabling it by default
-
UkoeHB
anything else in the agenda?
-
rbrunner
Unfortunately my #8076 is still not ready. There is special case that can lead to a sensitivity info leak, and another special case where a tx can go unreported
-
rbrunner
I can work on it tomorrow, but not sure I will be able to complete
-
rbrunner
jberman 's eagle eyes spotted those cases :)
-
rbrunner
Which is good of course
-
ErCiccione
alright. Anything else to discuss related to the netwrok upgrade?
-
jberman[m]
good news: I've identified some daemon reliability fixes that are super small/easy to fix that I'm hoping we can get included as well (8324, 8326, and 1 more possibly 2 more incoming today). Running the fixes, I don't see the warnings of 6938 anymore and don't have tx submission issues
-
hyc
sounds promising
-
ErCiccione
Nice! Hopefully they can be reviewed before Monday
-
ErCiccione
anything else? Otherwise we can conclude here
-
ErCiccione
btw, news people of Monero (Monero observer, monero moon etc), please point out in your reports that we need community actions to find reviewers for multisig, it wiwould help 🙂
-
rbrunner
Can't to harm, yes
-
rbrunner
*do
-
ErCiccione
s/wiwould/would/
-
ErCiccione
alright, thanks everyone for coming. Enjoy the rest of your saturday
-
ErCiccione
the meeting is over, but obviously feel free to continue the conversations above 🙂
-
hyc
so should wallet give the scary warning when toggling the multisig enable setting?
-
moneromooo
"WARNING: if this was supposed to be on, it would not be off by default, you nincompoop."
-
rbrunner
I think that's a good moment, yes
-
gingeropolous
i mean, at what point does a lack of interest in reviewing translate to a lack of interest in the feature?
-
ErCiccione
there is no lack of interest in the future. Two projects depend on it
-
moneromooo
But it's fairly pointless since the way you'll know about this is when a ms command moans at you anyway.
-
ErCiccione
we both already set bounties about it
-
rbrunner
Learned something, "nincompoop"
-
gingeropolous
maybe when toggling the multisig enable setting, and also a warning when doing the multisig stuff. in case ppl forget
-
gingeropolous
"oh i haven't seen a warning about this in a while. must be fine"
-
gingeropolous
perhaps could also include in the error message "if you can help, review is needed" with a link to the github or whatever
-
gingeropolous
presumably, if multisig is as used as it is, users that use it will encounter these warnings, and some n% might say "hey this warning is stupid ima fix it"
-
hyc
sounds reasonable. optimistic...
-
gingeropolous
u know, that ven diagram of users of multisig and those with c++ and maths skills
-
moneromooo
Oooh. I could check whether gcc is installed, and then regularly nag about reviewing!
-
gingeropolous
:)
-
moneromooo
gdb maybe. gcc is probably installed even on ubuntu type distros.
-
gingeropolous
"hey, i see you have gdb installed. maybe you can help. There are bounties you know....."
-
rbrunner
Now you get creative :)
-
gingeropolous
your review nag should also obvi include the ascii cow
-
hyc
the nag should be a cowsay, definitely
-
moneromooo
Now we're talking.
-
kayabanerve[m]
Sucks I missed this, but I explicitly believe 8149 should be merged as a marked improvement over what stands. While I won't say it doesn't need further review, and an audit would be preferred, it has no known issues. I think a fair compromise, to not repeat the previous multisig, would be removed with a CLI flag to enable, and then we submit a minor release post-sufficient review to not require a CLI flag. It does sound like that's
-
kayabanerve[m]
the plan, just wanted to chime in again.
-
kayabanerve[m]
I'd rather the flag itself communicate, rather than (or with) any message.
-
kayabanerve[m]
--enable-multisig-experimemtal
-
kayabanerve[m]
I also did review the cryptography, mainly with regards to Drijver's and confirming nonce handling, but I'm planning another review due to a concern that was raised. I'm just booked the next week or so :/
-
kayabanerve[m]
I'll try to write informal notes of the protocol as I do and I'd like to raise a note about audit isolation. I submitted a bug in the transaction protocol explicit to multisig that had nothing to do with CLSAG. While it's now fixed, an audit solely doing CLSAG cannot be argued as comprehensive.
-
-
nikg83[m]
With viewtags would the inputs with same tag as output tag would be identifiable? Or inputs are all with same tag ?
-
kayabanerve[m]
I'd also like to establish bounds on privacy de-anon on the blockchain/p2p level. I don't believe any currently exist but...
-
kayabanerve[m]
> <@nikg83:matrix.org> With viewtags would the inputs with same tag as output tag would be identifiable? Or inputs are all with same tag ?
-
kayabanerve[m]
>
-
kayabanerve[m]
>
-
kayabanerve[m]
View tags are effectively random on a per output basis. There's only a 1/255 chance an output lines up with a given ring member and that doesn't reveal anything other than chance
-
kayabanerve[m]
I think. I saw jberman[m]: typing as I hit spend and he'd definitely be the expert here 👀
-
jberman[m]
1/256* :) but generally yep
-
kayabanerve[m]
D: I thought max value was 255 and forgot 0 existed :(
-
kayabanerve[m]
Thanks for the correction :p silly mistake on my end.
-
ooo123ooo1234[m]
<ErCiccione> "we still need the core parts..." <- it looks like you're even better in cryptography than luigi1111
-
ooo123ooo1234[m]
<kayabanerve[m]> "I also did review the cryptograp..." <- Did you audit cryptography in your own project ? How if yes ?
-
kayabanerve[m]
ooo123ooo1234[m]: Uhhhh not sure what my own project is here.
-
kayabanerve[m]
If you mean Meros, it didn't use any groundbreaking cryptography. It was Schnorr signatures and BLS. The latter I used an existing impl for, with my own as comparison, and the former is trivial. If you mean ASMR, the DLEq proof was by sarang and I didn't even write its initial implementation. From there it was just basic private key management. If you mean my current project, I actually am rolling my own crypto, and it's not audited.
-
kayabanerve[m]
It's just extensively reviewed by myself, informally, with basic tests for now to ensure it works.
-
kayabanerve[m]
So none of those really count as "auditing".
-
selsta
19:45 <ErCiccione> Nice! Hopefully they can be reviewed before Monday <-- the code freeze is not for bug fixes
-
selsta
we can and will still merge bug fixes after monday
-
ooo123ooo1234[m]
<chesterfield[m]> "Would be nice to start scaling..." <- You probably meant scaling down number of competent people and scaling up number of loyal people
-
ooo123ooo1234[m]
or scaling up number of frontend developers
-
ooo123ooo1234[m]
and scaling down number of people that can at least read code
-
moneromooo
-
nikg83[m]
<jberman[m]> "1/256* :) but generally yep" <- So wallets will have outputs with different viewtags ? & when scanning the blockchain forward it will only check tx with those viewtags only?
-
kayabanerve[m]
<nikg83[m]> "So wallets will have outputs..." <- It will calculate what its view tag would be for the given output, and if it lines up, it'll continue doing checks to see if it actually received the output.
-
kayabanerve[m]
It skips processing of 255/256 outputs whose view tags aren't what they would be if it was a valid TX to them.