-
derpy_bridge_
[keybase] <seddd>: How much of a concern are side-channel attacks? May I humbly suggest a constant-time switch for the ultra paranoid?
-
sarang
That would likely require _significant_ restructuring
-
derpy_bridge_
[keybase] <seddd>: Mb a long-term thing for next minor/major point release?
-
derpy_bridge_
[keybase] <seddd>: If too much work for too little added protection, I understand. Would be willing to help w/ impl fwiw
-
UkoeHB_
I think side-channel is only a threat to private information. There is no private information involved in validating blocks (or shouldn't be).
-
derpy_bridge_
[keybase] <seddd>: Still going though the diffs, making headway. What is a good date for final review?
-
derpy_bridge_
[keybase] <seddd>: UkoeHB_ only time it would concern private info iiuc is in tx recovery (includes at least pvt view key). Agreed non-constant-time doesn't seem like a huge thing in the validation context, but the proving side definitely involves long-term private info, and the variable time functions. Please correct me if I have misunderstood something
-
UkoeHB_
Afaik constant-time is used on the proving side, and also wallet scanning side
-
derpy_bridge_
[keybase] <seddd>: Hmm, then I must have missed something. Will pay close attention to he proving code on my next read-through
-
derpy_bridge_
[keybase] <seddd>: the* proving
-
selsta
-
selsta
AFAIK this is constant time, but not merged yet.
-
derpy_bridge
[keybase] <seddd>: selsta: ty, I definitely didn't see that
-
sarang
Weekly meeting begins here at 17:00 UTC (about 20 minutes from now)
-
sarang
OK, let's go ahead and get started
-
sarang
-
sarang
GREETINGS
-
ArticMine
Hi
-
» sarang will wait a few moments
-
Isthmus
Heya
-
Isthmus
Sorry I fell asleep last week
-
sarang
I'm feeling a bit under the weather today, so I'll try to keep things short and sweet if possible
-
sarang
No problem Isthmus
-
sarang
Let's move on to ROUNDTABLE
-
sarang
My list is short but hopefully interesting
-
sarang
The CLSAG preprint has been revised and updated on the IACR archive
-
sarang
-
sarang
New security model and proofs
-
UkoeHB_
Oh hi forgot about this :p
-
sarang
Alongside this, the code has been updated to make it easier to include trezor/ledger support
-
sarang
Plumbing for device support:
SarangNoether/monero 94a7daa
-
sarang
Support for ledger, courtesy of cslashm:
SarangNoether/monero #1
-
sarang
Smaller items are proofreading for UkoeHB_'s Zero to Monero update, and finalizing a PR for hash function domain separation, along with the usual literature review
-
sarang
Does anyone have particular questions, or otherwise have research of interest to share?
-
sarang
I see that Isthmus has just added to the agenda issue
-
Isthmus
-
Isthmus
n3ptune and I have been exploring tx_extra some more
-
sarang
neat
-
Isthmus
A few months ago @UkoeHB_ suggested that the *ordering* of tags might leak some information
-
Isthmus
This intuition turned out to be correct
-
n3ptune
-
Isthmus
If we look at tx_extra in the wild since 1978433 (v12) we see 8 different ways that tags are assembled
-
sarang
Enforcing an ordering and certain fields makes sense for uniformity; I wonder what the added time complexity would be for parsing overall
-
sarang
This also ties in with an idea for Janus mitigation, which would enforce a per-transaction Janus transaction key and per-output tx pubkeys
-
Isthmus
+1
-
sarang
And, FWIW, there was a PR yesterday from moneromooo with an idea for an encrypted-memo-type addition to extra:
monero-project/monero #6410
-
sarang
(I have concerns about that one)
-
Isthmus
I would support encrypted memo if *length* and *inclusion* enforced in protocol. :- )
-
Isthmus
Zcash has a 512 byte encrypted memo on all z2z transactions, and people are having a lot of fun with it
-
Isthmus
(mostly whimsical fun at the moment, but I expect fun applications to follow)
-
sarang
Of course, this seems to overlap in functionality somewhat with encrypted pIDs
-
Isthmus
Oh yea, could just roll the PID into the memo
-
sarang
But yes, I agree that if included, length should be enforced for uniformity
-
Isthmus
Would it be per txn or per output?
-
UkoeHB_
Im a bit skeptical about scope creep, since Monero is money, not random messages
-
ArticMine
and kept small
-
UkoeHB_
or email
-
ArticMine
or a replacement for twitter
-
sarang
AIUI that PR requires a single non-change output
-
sarang
at least from my initial read of the code
-
sarang
Its use in Zcash is per-output, I believe
-
ArticMine
Can we actually do away with this messaging entirely?
-
sarang
?
-
UkoeHB_
Isthmus's research indicates that even though the extra field is technically open ended, in practice people arent implementing random things
-
UkoeHB_
supporting random messages with core code would directly lead to more random things in the chain
-
Isthmus
Wait can we clarify "random"
-
Isthmus
Do we mean a fixed tag that supports arbitrary payload
-
UkoeHB_
non-standard
-
UkoeHB_
I guess 'memo field' implies to me 'any random message you feel like'
-
Isthmus
Ideally encrypted
-
sarang
To clarify, this PR uses chacha to encrypt with the DH shared secret, including padding as needed to hit certain size resolution
-
atoc
what are pros of including memo field?
-
sarang
but it's not possible to enforce that the data are actually encrypted
-
UkoeHB_
does chacha index each chunk in some way (so no two chunks are likely to be the same)?
-
ArticMine
That is my question
-
sarang
I think the goal was to enable encrypted recipient data as desired, to reduce the likelihood of non-standard inclusion of data in extra
-
sarang
UkoeHB_: the chunks are appended before passing to chacha
-
sarang
If I'm reading the PR correctly, the chunking is just to enforce size resolution
-
Isthmus
From a technical/statistical info leak standpoint, we should either have *no* messages, or an encrypted message on *every* transactions. Which option we choose is partially a UX/design conversation.
-
sarang
And at that point, you basically have a larger pID setup
-
Isthmus
Yea
-
sarang
Which was part of my concern
-
Isthmus
Is there no way to mathematically verify that a field is encrypted?
-
sarang
Not for the network AFAIK
-
sarang
Nor is it possible in Zcash either
-
sarang
It is possible to assure the _recipient_ that if they can decrypt properly, the data were encrypted as expected
-
Isthmus
Ohhh yea that's how that works
-
sarang
But otherwise, it's just uniformly distributed data
-
UkoeHB_
I think that encryption or not isn't a concern, since implementers should want to harmonize with other implementations. The core impl would encrypt, so others would too
-
ArticMine
All of this begs the question do we need this memo filed and even extra
-
sarang
So the worst case in Zcash is that you throw a bunch of unencrypted junk into a tx that gets accepted by the network, but that the recipient won't properly decrypt
-
Isthmus
" All of this begs the question do we need this memo filed and even extra" < I would be very happy to do away with both
-
UkoeHB_
ArticMine: I think ultimately the extra field is useful when/if hard forks are no longer feasible.
-
sarang
At the very least, enforcing ordering as UkoeHB_ listed in their issue would help a lot of this
-
sarang
certainly not all cases though
-
UkoeHB_
Imagine if Janus attack wasn't discovered until after hard forks stopped happening. We'd be in Bitcoin's situation of absolute chaos
-
UkoeHB_
(i.e. if no extra field for wiggle room)
-
ArticMine
How would extra help
-
Isthmus
Geez, if that happened I think the issue is ossification
-
UkoeHB_
wallets can implement janus mitigation on their own, since it's technically unverifiable anyway
-
Isthmus
I'd like to proactively avoid a situation like that by keeping an agile codebase, not having an anything-goes tx_extra field
-
Isthmus
Anyways, lots of different pros & cons to consider for each possibility
-
sarang
The question at this point, I think, is to decide whether doing order enforcement (e.g. TLV) is something that a develop wishes to take on
-
sarang
Which ties in to whether enforcement of a consistent Janus mitigation is desirable (I think yes, it is)
-
UkoeHB_
After next gen tx protocol gets implemented, I imagine the stuff that can go in a hard fork will drop off quite a bit. Rather than losing the ability to make hard forks, we might just run out of hard forks to make. Once the expectation of making periodic hard forks fades away, subsequent hard forks will become much more difficult (also the case if adoption rises concurrently).
-
sarang
Network upgrades also have the probable advantage of encouraging client upgrades
-
Isthmus
Yeah "we might just run out of hard forks to make" is a different situation from encountering an issue (e.g. Janus) and not forking
-
sarang
which provide other non-consensus fixes and benefits
-
Isthmus
Regardless, let's separate the metadata question (should we enforce ordered TLV) from feature questions (should we have a memo field)
-
sarang
Well, TLV enforcement has a big effect on non-standard data, since it requires a stated type
-
» Isthmus views this as a good thing
-
UkoeHB_
I did make pseudo code for enforced sorted TLV, about 200lines
-
sarang
yes
-
sarang
But I mean that the features and the layout enforcement are closely intertwined here
-
UkoeHB_
Current code already mostly does sorted tlv by default
-
UkoeHB_
So all that needs to change is in tx validation
-
Isthmus
👍
-
atoc
nice
-
sarang
OK, so I think what should be brought up in -dev is a well-considered position for 3 things related to extra
-
atoc
koe, what's your github
-
sarang
1. Decision on TLV enforcement, and responsibility for implementation
-
sarang
2. Decision on Janus mitigation, and implementation
-
sarang
3. Musings on the new encrypted-memo idea
-
UkoeHB_
-
sarang
My position is 1: yes, 2: yes, 3: not unless enforced uniformly (and then it runs up against ePIDs)
-
Isthmus
1: agree, 2: agree, 3: agree
-
sarang
Anyway, good things to consider here
-
gingeropolous
is the janus mitigation the thing with the subaddresses?
-
sarang
Yes
-
UkoeHB_
-
sarang
Enforcing a mitigation has the added advantage of making the number of tx pubkeys uniform
-
Isthmus
!!!
-
Isthmus
yesplz
-
gingeropolous
ima just throw it out there to play devils advocate, dunno if its been stated before. What about reverting to not having subaddresses?
-
sarang
So you have one Janus-specific tx pubkey per transaction, and a separate additional pubkey per output
-
fuwa
is it possible to replace tx extra completely with memo, so you don't need to sort anything
-
sarang
You'd need to remove all non-recipient-specific data from memo
-
sarang
Which IIRC moneromooo said would be a significant engineering effort
-
sarang
Extra isn't an inherent problem if uniformity is reasonably enforced
-
Isthmus
Oh, I was wondering something actually
-
Isthmus
Suppose we decide that each transaction should contain X, Y, and Z
-
UkoeHB_
gingeropolous: then Janus would no longer be a problem. That's about it afaik
-
Isthmus
What's the performance difference between having 3 separate fields versus having 1 field with 3 enforced objects
-
sarang
That's a good question, and I'm not sure
-
gingeropolous
right. so i guess the underlying question is whether subaddresses are worth it.
-
sarang
The scanning benefit is huge for large sets of addresses
-
sarang
Hash lookups are much faster than doing multiple scans of all transactions per address
-
sarang
and Janus checks are only needed for transactions that are already identified as being destined for you
-
sarang
(and those checks are quite fast anyway)
-
sarang
Also note that MLSAG -> CLSAG drops average tx size by 600 bytes already
-
sarang
s/average/typical
-
ArticMine
Like 2 in 2 out
-
sarang
Yes, a 2-2 tx drops already from ~2.5 kB to ~1.9 kB
-
sarang
So Janus mitigation adds something like about 64 bytes back in
-
sarang
(more for multi-output)
-
sarang
Meaning there's already plenty of wiggle room
-
gingeropolous
well here's hoping its the last mitigation for subaddresses.
-
atoc
that's a pretty good drop
-
ArticMine
We can increase the ring size
-
UkoeHB_
meeting is getting toward the end, so Ill add my update here: ztm2 should be ready to publish this weekend, I'm finishing up my last proofreading atm
-
sarang
UkoeHB_: great!
-
UkoeHB_
might take a bit for getmonero to update though, so we will see when I post about it
-
atoc
koe - i sent you an email but to reiterate it's looking really good
-
UkoeHB_
yeah saw that :)
-
sarang
Since the hour is indeed almost up, does anyone else wish to share any topics of interest?
-
Isthmus
-
Isthmus
^ thoughts?
-
Isthmus
I'm looking for projects for Fellows to work on, wondering if that seems like a good candidate
-
sarang
That sounds like a question for -dev or -gui TBH!
-
Isthmus
I could also have one of the software engineers implement ordered TLV if -dev wants somebody else to tackle it
-
Isthmus
Oh yea, good point
-
Isthmus
Any wish list projects for MRL? I have 2 software engineers, 1 mathematician, and some data scientists that are open to working on Monero stuff
-
atoc
Isthmus this seems good. i am willing to help but probably can't commit too much atm
-
sarang
Isthmus: perhaps pop over to -dev after meeting and let the channel know that a Fellow might be able to tackle TLV
-
sarang
see what the responses are
-
sarang
I bet moneromooo will have better knowledge of the effects that parsing would have on performance overall
-
UkoeHB_
well this never got much traction but Im still a fan
monero-project/research-lab #59 could be a lot of work idk
-
sarang
Isthmus: I know this important PR needed review...
monero-project/supercop #3
-
sarang
and if any Fellows have sufficient interest, the new CLSAG security model in the paper could use some eyes
-
» Isthmus takes notes
-
sarang
Anyway, let's start to wrap up
-
ArticMine
I'll cover the fee, penalty and median proposal in the next meeting. By then I'll have most of this finalized
-
sarang
Any ACTION ITEMS to share?
-
sarang
Great ArticMine
-
atoc
@sarang i'll probably ping you tomorrow to go over some zkp ideas for atomic swap
-
sarang
I'll be doing some work on an older preprint, reviewing some ideas in a draft preprint that were sent to me by another researcher, and returning to some Triptych code
-
UkoeHB_
there are two other big projects: fully-formed audit functionality, and extensive updates to multisig; mentioned those to TheCharlatan but they really are beasts I expect
-
atoc
i have some resources i'd like to share
-
sarang
for sure
-
Isthmus
We can close up the meeting, but I'm curious later if anybody has speculation around what's going on with
xmrchain.net/search?value=f6cff1edd…c4a7f42b5c3bf91457310d2166722c1316f
-
Isthmus
It has an unknown tag type, and the length is recorded incorrectly
-
UkoeHB_
are you sure it's a length and not a value byte?
-
Isthmus
Not sure, that's why I'm asking
-
sarang
All right, let's go ahead and adjourn for timing purposes, but discussions can of course continue
-
sarang
Thanks to everyone for attending!
-
sarang
Logs posted shortly on the GitHub agenda issue
-
UkoeHB_
fee is weird too
-
n3ptune
It breaks down like this: [tag 01][data 24485aaabc671f7d3069023c902109cf86fdd4c93fe65e042f25664c7118d260][tag 02][size 3e][data=fcaeccb51290c000c5c2748e017b2a02f58fbf97df4256d19bdaf54ab89944c7cc7b9db1ea9a3b614d7227b01b5b31d760323e23dec10b48675a70223c22][tag 0c]
-
Isthmus
Yea, it's an odd transaction in a few ways
-
n3ptune
0c isn't a known tag and it doesn't have any size or data field either, so I think the 02 tag should be size 3F
-
sgp_
sorry I didn't mean to miss this
-
UkoeHB_
must be someone messing around who knows
-
UkoeHB_
0.002 is an old fee multiplier from v3, maybe an old implementation they are trying to bring back to life
-
Isthmus
That wasn't the multiplier, the fee was 0.002 XMR absolute
-
Isthmus
WOAH
-
Isthmus
Oops didn't mean to all caps
-
Isthmus
-
Isthmus
Ha wait, nvm
-
UkoeHB_
all the ring members are really old
-
Isthmus
Oh yea, so it exhibits (1) anomalous tx_extra, (2) hardcoded fee, (3) unusual decoy selection algorithm
-
Isthmus
Are there any more easter eggs in this txn?
-
moneromooo
There is not much non recipient specific data in extra. Mostly the tx key. Easy to store separately.
-
UkoeHB_
found something a bit weird
-
moneromooo
Parsing extra should be very light performance wise.
-
UkoeHB_
the 1/6 in/out ring member is a subaddress tx, and has as ring member a 1/11 ring member which is also a subaddress tx, and that one too has a 1/11 ring member, and so on quite far back
-
sarang
moneromooo: the primary discussion, aside from Janus mitigation, was whether TLV makes sense from an engineering and performance perspective
-
sarang
Isthmus et al.'s investigation found that enforcing order would remove some fingerprinting
-
UkoeHB_
they go back to around march 2019 when a bunch of 1/11 tx appeared, and all reference each other
-
UkoeHB_
some kind of churning?
-
moneromooo
I'm not getting into that again. I still think it's pointless. You can stuff anything (including unsorted things) into something that matches your TLV structure. It just moves the problem one layer down.
-
UkoeHB_
there is a difference between what is theoretically possible, and what we can practically expect from people
-
UkoeHB_
case in point: as Isthmus found, barely anyone puts non-standard things in the tx extra field
-
UkoeHB_
non-miners/pools anyway
-
UkoeHB_
but, amongst those standard implementations, there are variations since there are multiple 'base configurations'
-
Isthmus
Please remember that enforcing ordering and enforcing contents are two *different* issues, and counterarguments for the latter are not applicable to the former.
-
Isthmus
Here is a concrete example:
-
Isthmus
In the last few months, we have had 473507 transactions with pubkeys followed by encrypted PID.
-
Isthmus
These are distinguishable from the 36384 transactions with encrypted PID followed by pubkeys.
-
Isthmus
(differentiated only by the ordering leaking non-standard software)
-
Isthmus
Enforcing ordering would make these 509891 indistinguishable transactions
-
sarang
^
-
UkoeHB_
moneromooo: what would be the cons of enforcing sorted TLV? My thought is, while the benefits may be debatable, at worst we have wasted some time.
-
sarang
Isthmus had also suggested an Insight Fellow might be interested/willing to do it
-
sarang
But there's little point in doing so unless there's enough consensus to accept such work in a network upgrade
-
moneromooo
It feels wrong to me. It's supposed to be freeform (though some form is needed by wallets).
-
moneromooo
If it's only me not liking it, it can go in. I'd much rather move the canonical stuff out of extra though.
-
moneromooo
It has all the advantages of "enforced TLV" and does not have the ickiness that comes with it of something half baked (my opinion only).
-
moneromooo
(all the advantages except maybe saving 32 bytes if someone doesn't want a tx key, but this is also a con (distinguishability)).
-
sarang
TBH simply moving all standard/enforced items out of extra seems entirely reasonable, and a much cleaner approach overall
-
Isthmus
^ I agree with mooo on implementation (designated fields for required features)
-
sarang
As to tx pubkeys, the proposed Janus mitigation would/should/could require tx pubkeys for all outputs (and an extra Janus key)
-
UkoeHB_
I am also fine without moving certain common items out of the field.
-
sarang
UkoeHB_: s/without/with ?
-
UkoeHB_
with
-
sarang
Heh, we need that substitution bot in here =p
-
sarang
(if you do a s/old/new in community, it'll repost the fixed comment for you!)
-
UkoeHB_
Even if that is done though, I still think sorted TLV is valuable. Enforced TLV makes it easier for wallets to coordinate on adding new kinds of features, and also makes it easier for them to ignore features they don't care about. Parsing TLV is very easy
-
sarang
The ability to do such coordination of non-standard features is, however, bad for uniformity in theory
-
UkoeHB_
and if they are allowed to add new things, might as well have some kind of expectations about uniformity
-
sarang
You still get fingerprinting with that
-
sarang
depending on adoption
-
UkoeHB_
yes but less fingerprinting than what we have
-
sarang
At the very least, enforcing order via serialization with set fields would be a huge benefit
-
UkoeHB_
if we have this extra field thing, what's the best we can do? imo, enforced sorted tlv
-
Isthmus
Just had a funny shower thought about PIDs but have to run into a meeting !RemindMe 3 hours
-
luigi1111w
what is tlv?
-
UkoeHB_
type-length-value
-
luigi1111w
thanks
-
needbrrrrrrr90
Sarang: if you want monerobux in here you'll need to keep people from using price commands :p
-
needbrrrrrrr90
But jwinterm would be happy to add it if you want sed replace, I'm sure
-
sarang
Oooh
-
sarang
having sed replace and UTC timing would be excellent
-
sarang
Probably other features that I don't know about too
-
sarang
PR notifications, maybe?
-
needbrrrrrrr90
Invite monerobux
-
needbrrrrrrr90
You're an admin
-
needbrrrrrrr90
Add to room
-
jwinterm
it doesn't do PR notifications now
-
sarang
here goes nothing
-
needbrrrrrrr90
Test
-
needbrrrrrrr90
s/test/yay
-
jwinterm
it does have some meeting logging capability
-
sarang
Oh, that must be a different bot (I didn't really pay attention to bot names)
-
needbrrrrrrr90
s/Tear/yay
-
needbrrrrrrr90
Oof
-
needbrrrrrrr90
Damn mobile
-
UkoeHB_
.usd
-
monerobux
Monero price in USD = $47.04
-
needbrrrrrrr90
Noooooo
-
sarang
This room is already publicly logged (see topic)
-
jwinterm
.ban UkoeHB_
-
monerobux
You are not a channel operator.
-
sarang
But yeah, would be nice to only have applicable features
-
UkoeHB_
well it works :p
-
sarang
like timing and sed
-
needbrrrrrrr90
Okay let's try it again
-
sarang
.time
-
monerobux
2020-04-01 - 20:14:29
-
needbrrrrrrr90
s/again/now?
-
monerobux
needbrrrrrrr90 meant to say: Okay let's try it now?
-
sarang
Lemme try
-
needbrrrrrrr90
Monerobux hardest worker in ecosystem
-
sarang
Pineapple on pizza is great
-
sarang
s/great/terrible
-
monerobux
sarang meant to say: Pineapple on pizza is terrible
-
sarang
good bot
-
jwinterm
not sure if I can limit per channel commands, but sed and time module are just part of default sopel bot
-
jwinterm
so you could spin up fresh sopel bot instance for this channel
-
jwinterm
s/you/me or anyone
-
monerobux
jwinterm meant to say: so me or anyone could spin up fresh sopel bot instance for this channel
-
sarang
I suppose we can just leave this one as-is, and just remove if it gets misused
-
sarang
How does it log the channel?
-
sarang
The topic statement and link to logs should be sufficient to notify people that this happens already (and of course, anyone can log with their client anyway)
-
jwinterm
I believe it logs everything, but you can set it up to do meetings and then I can host logs on webserver
-
jwinterm
.meeting start
-
jwinterm
something like that
-
jwinterm
I forget
-
sarang
Oh, no need
-
jwinterm
brb
-
sarang
I put meeting logs on the github issues; it only takes a few minutes to do
-
sarang
FYI may be unavailable tomorrow; have been feeling under the weather today
-
niocbrrrrrr
sarang: hope you feel better soon
-
sarang
Thanks; I'm sure it's nothing of consequence
-
Isthmus
Oh yea, so I was thinking about encrypted versus unencrypted PIDs earlier. (right now both in use - 10% of txns have uPID, 83% of txns have an ePID, some have neither)
-
Isthmus
As many have pointed out - encryption cannot be verified by an outside observer. From an information content perspective, a PID tag provides contains two pieces of information:
-
Isthmus
(1) The PID itself (whose encryption or lack there of cannot be verified)
-
Isthmus
(2) A flag to mark whether #1 is encrypted or unencrypted
-
Isthmus
The second piece of information is self-reported on the honor system, could be a lie, and can’t be verified. In practice, it’s not a u/e flag, it’s a [core software]/[custom software] flag (useful mainly for transaction tree analysis)
-
Isthmus
If we do move required features/keys out of tx_extra, it’ll be nice to have just a single PID field that is officially handled as encrypted. :- )
-
Isthmus
Then if two users (sender & receiver) decide that they’re both going to flaunt core recommendations and use custom software that puts a plaintext ID in there I can’t stop them and I can’t prove it. (As opposed to now when it is literally declared to every blockchain observer)
-
Isthmus
It’s a nice silver lining, to remove 1 of the 2 pieces of information.
-
moneromooo
When you say right now, you mean when exactly ?
-
moneromooo
There are still people using long pids now that support was taken out ? 10% sounds grossly wtf...
-
selsta
AFAIK all wallets have taken out support for long PIDs