-
midipoet
-
midipoet
or anybody else interested for that matter ^
-
sarang
I'll share this later at the meeting, but I completed an analysis comparing the spend-age distributions of deducible coinbase outputs to compare to non-coinbase outputs
-
sarang
-
sarang
I also included the gamma distribution from Miller et al. (dashed line)
-
sarang
The distributions for coinbase/non-coinbase/all are extremely close; it's tough to differentiate the lines in this CDF
-
fluffypony
is that good or bad?
-
sarang
I think it's a good thing for the current selection algorithm; or at least pretty neutral
-
sarang
If the spend-age distribution was very different for coinbase, it could indicate the need for a change to that part of output selection
-
sarang
This doesn't necessarily remove the need to consider coinbase outputs differently; but it is good data to know
-
sarang
It's also a good confirmation of the Miller et al. parameters
-
sarang
and is reproducible
-
sarang
Getting recent data from a chain like bitcoin would still be useful, since all this data is from deducible transactions, the vast majority of which are quite old at this point
-
sarang
and the Miller et al. paper's look at the bitcoin chain found its spend patterns trended newer than for monero
-
sarang
I'll share some additional plots on transaction types and deducibility over time during the meeting
-
sarang
Weekly research meeting begins here at 17:00 UTC (about half an hour from now)
-
sarang
.time
-
monerobux
2020-06-17 - 16:27:33
-
sarang
good bot
-
UkoeHB_
sarang, over time does the distribution get stretched out? so more recent tx will tend to have older members than historical tx?
-
sarang
I'm running that but don't have windowed results just yet
-
UkoeHB_
my thought is the analytical 'gamma distribution' might be less accurate than a numerically generated 'pure selection distribution'
-
sarang
While it's not directly comparable, the Miller analysis did identify a shift from newer to older on the bitcoin blockchain when looking at more recent transactions
-
sarang
-
UkoeHB_
Im referring to the decoy distribution, as in a gamma selection over 10k blocks will pick more recent tx than a gamma selection over 100k blocks
-
sarang
Yes, but there's a pretty sharp decay
-
UkoeHB_
which would imply no global 'gamma distribution' curve
-
sarang
I get what you mean though
-
sarang
it can't reasonably scale forever
-
sarang
There have been recommendations (anecdotal and in wallet) to avoid very old spends for this reason
-
sarang
Or rather, to carefully note that they may stick out
-
UkoeHB_
yes for sure, although my immediate concern is the graph you posted :p
-
sarang
FWIW that data is all old... there's no ground-truth data for after the CT transition except for old spends
-
sarang
But yes, I'm running time windows as well to watch the difference in distribution
-
sarang
There's also the meta-question of diminishing returns
-
sarang
Using any kind of reasonable approximation to spend patterns (like the current selection distribution) is of huge value over the previous iterations, but small tweaks may be of limited marginal value compared to other possible heuristics
-
sarang
e.g. output merging
-
sarang
etc.
-
sarang
OK, we'll start the meeting presently!
-
sarang
-
sarang
Logs will be posted there after the meeting
-
sarang
Let's start with GREETINGS
-
sarang
Hello!
-
h4sh3d[m]
Hi
-
Isthmus_
Greetings_
-
sgp_
hello
-
ArticMine
Hi
-
sarang
Righto, on to ROUNDTABLE, where anyone is welcome to share research of interest
-
sarang
Isthmus_: noticed you just added to the agenda; care to go first?
-
sarang
If Isthmus_ isn't quite ready, I can share a few things
-
Isthmus_
Ah come back to me in 5
-
Isthmus_
juggling something else real quick
-
sarang
I've done some further analysis on transaction tracing
-
sarang
I'll post a few plots of interest here... one sec
-
sarang
-
sgp_
I like hidden, transition, denominated
-
sarang
-
sarang
Deducible transactions, by date and type (same scale as first plot):
usercontent.irccloud-cdn.com/file/rcPhKQZ4/deducible.png
-
sarang
Note that "deducible" means "at least input deducible" for this analysis
-
sarang
From the deducible transactions, I ran spend age distributions and further categorized by coinbase and non-coinbase
-
sgp_
"at least 1 input deducible"
-
sarang
-
sarang
s/input deducible/1 input deducible/
-
monerobux
sarang meant to say: Note that "deducible" means "at least 1 input deducible" for this analysis
-
sarang
thanks sgp_
-
sarang
That CDF plot also includes the gamma distribution used for output selection, and first examined in the Miller et al. paper
-
sgp_
yup, for transactions with multiple inputs rings (to the observer, sarang obviously knows this)
-
sarang
Notably, coinbase outputs have an essentially identically spend-age distribution to non-coinbase outputs
-
sarang
We didn't previously know if/how they might differ
-
sarang
A big disclaimer is that _zero_ "hidden"-type transactions are deducible, and don't factor in to this data at all
-
sarang
We have _no_ hidden-type transactions to use as a direct ground-truth dataset for this
-
sarang
Which is a good thing!
-
sarang
The fraction of all transactions (non-cumulative) that have at least one deducible input:
usercontent.irccloud-cdn.com/file/jiDfKje2/proportion.png
-
sgp_
I'm astonished they are so similar tbh
-
sarang
One guess as to when the CT crossover happened...
-
sgp_
lol
-
sarang
UkoeHB_ had asked before the meeting about if/how this distribution changes over the time period of the dataset, which is data I'm presently running and should have later today
-
sarang
But at the very least, this is useful since it both shows that the Miller distribution is reasonable, as well as suggests that coinbase outputs do not require any particular special treatment from a spend-age perspective
-
sarang
This is not to say that's the only factor in selection
-
sarang
but it is one factor that we previously had no data for
-
sgp_
but it gives me initial confidence that we should separate the ring types and shouldn't make the selection of a particular different selection algorithm a showstopper
-
sarang
I'm also updating a writeup that includes scripts and instructions for how to run this data yourself
-
sgp_
BTC data would obviously be nice to confirm since it's more recent
-
sarang
as well as supporting incremental updates, to make it straightforward to produce these plots over time in a consistent way
-
sarang
I strongly encourage folks to review these scripts once posted and/or run them yourself to verify my conclusions
-
sgp_
as will the over time data UkoeHB_ suggested, in the case that Monero coinbase outputs were spent later than average in its early history, for example
-
sarang
Unfortunately I don't have the proper setup to run the BTC data
-
sarang
I will of course have the time-based Monero data
-
sarang
it just takes time to run the deducibility analysis
-
sgp_
how will you graph time-based? the average number of blocks after the generation of a coinbase output before it's spent?
-
sarang
I'll pull some windows within the dataset and overlay them
-
sarang
Using the spend transaction as the target for the window
-
sarang
Ages are always relative to the spend transaction
-
sarang
This should make it straightforward to see any substantive changes
-
sgp_
okay, I'll let you know later if I have concerns or am confused
-
sarang
Aside from this, the CLSAG audit by JP Aumasson and his colleague Antony Vennard is continuing
-
sarang
That's what I wanted to share today; were there other questions on any of this, before I pass the baton to Isthmus_ or others?
-
sarang
Isthmus_: ready to go?
-
Isthmus_
Sure
-
sarang
Have at it!
-
Isthmus_
Here’s our first draft of the audit framework for post-quantum security. Thoughts on mechanisms or algorithms to add?
-
Isthmus_
-
sarang
This is the same image as posted to the agenda?
-
sarang
How are you defining the concern types?
-
Isthmus_
TL;DR of image is:
-
Isthmus_
Adversary definition: {Shor's Algorithm, Grover's algorithm, Fourier Fishing/Checking, Simon's Algorithm, Deutsch–Jozsa algorithm, Bernstein–Vazirani algorithm (Hidden Linear Function Problem), Possibly vulnerable to a future method employed by a Quantum Computer but lacking any known algorithm}
-
Isthmus_
Attack surface: {Ring Signatures, RingCT, One-time "Stealth" Addresses, Pubkey derivation, Forge amounts?, Bulletproofs, RandomX proof-of-work, Block / Transaction hashing, PRNG, Fiat-Shamir Transform, Schnorr Signature, ??}
-
Isthmus_
Anything jump out that we're missing?
-
sarang
Does the secrecy/privacy of amount commitments fall under RingCT?
-
sarang
"RingCT" can be interpreted broadly
-
sarang
or not broadly
-
Isthmus_
Yea, you could label it either way
-
Isthmus_
The questions are essentially 1) forgery, 2) unmasking amounts
-
sarang
Perhaps payment IDs could be added as well, since they're intended to be private
-
Isthmus_
Oh yea!
-
sarang
Also: how are you defining the "concern" types on the chart?
-
moneromooo
keccak, (our particular usage of) chacha20
-
Isthmus_
Oh, those "concerns" are just our research notes to each other. Not formally part of the table
-
» Isthmus_ makes note of that
-
sarang
Isthmus_: related to mooo's notes... are you concerning yourself with only on-chain stuff, or local stuff too?
-
sarang
e.g. is local wallet encryption out of scope
-
moneromooo
sarang may want to add any new crypto primitive from triptych ?
-
sarang
I'd certainly welcome Triptych proof analysis from that
-
sarang
since it's heavily DL based
-
gingeropolous
^^
-
sarang
"all DL stuff is toast" :/
-
Isthmus_
RE on-chain vs local: Hmm, I had only been considering the on-chain stuff until now, but we could also glance at local :- )
-
sarang
I think the local stuff depends on the threat model
-
Isthmus_
My #1 priority is attack vectors that enable retroactive deanonymization
-
Isthmus_
Which would mostly be on-chain stuff
-
sarang
If someone gets on your machine, you have bigger worries
-
Isthmus_
If you have ideas for local security mechanisms to check (e.g. local encryption) feel free to let me know and I'll add them to the list
-
h4sh3d[m]
Pubkey derivation is very general and is used in other feature/mech as a primitive, or is it more like account and subaddress?
-
Isthmus_
Right now it looks like the biggest fundamental issue is that an adversary leveraging Shor’s algorithm can find private keys based on public keys. This means that if you give your public address to somebody, they could create a wallet with your private key and scan your entire account history (circumventing almost all privacy)
-
sarang
Yeah I also wondered what that term means
-
UkoeHB_
sounds like diffie-hellman
-
moneromooo
The proposed recipient encrypted data scheme in the rpd branch uses chacha20 fwiw.
-
sarang
:D
-
moneromooo
So neither keccak nor this are local only.
-
sarang
excellen
-
sarang
s/excellen/excellent
-
monerobux
sarang meant to say: excellent
-
sarang
good bot
-
sarang
I'm really looking forward to the results of this analysis
-
Isthmus_
Primary key to private key should be breakfast for Shor's algorithm
-
Isthmus_
Will also look at subaddresses, etc
-
sarang
Isthmus_: do you know of other projects doing this kind of in-depth work? just curious
-
sarang
I expect an unfortunate whirlwind of "Monero is not quantum-safe! Run for it!" from this =p
-
sarang
But having a solid picture of the protocol relative to a hypothetical quantum adversary will be fascinating
-
Isthmus_
Haha, yea we're going to add a lot of "this also applies to Bitcoin, Zcash, and anything else in your portfolio" disclaimers
-
Isthmus_
The big question for me is whether stealth addresses are secure. If there’s a way to go from stealth addresses to private keys, we’re all toast.
-
Isthmus_
As opposed to only toast if you've given somebody else your address
-
sarang
Isthmus_: is there anything you need from this group to assist with your current work on this?
-
Isthmus_
Can I ask a silly question?
-
sarang
sure
-
Isthmus_
If I send sarang a transaction, and then erase my computer, and restore from seed, will I be able to recover your address from the on-chain transaction?
-
sarang
Not without external information
-
Isthmus_
*PHEW*
-
Isthmus_
Okay, otherwise things were going to get scary recursive real fast
-
sarang
There have been ideas from time to time to encode this for precisely this reason
-
sarang
and you can do this in extra yourself, I suppose
-
Isthmus_
It would be bad from this perspective, since if I get pubkeyA, then I derive privkeyA
-
sarang
It would
-
sarang
and it's certainly a design tradeoff, regardless of quantum considerations
-
Isthmus_
Cool, that's all I have for today.
-
sarang
Thanks Isthmus_ !
-
sarang
Looking forward to future updates for this project
-
sarang
Were there other questions for Isthmus_?
-
tevador
I think that the likely conclusion is that a quantum adversary would be able to steal everyone's funds, but would not be able to link payments unless they also know your address
-
luigi1111w
the "privacy" of stealth addresses shouldn't be obviously compromised by QC, but other far more catastrophic things would be
-
sarang
I am personally interested to see how the conclusions from this project compare to the risks of other protocols
-
Isthmus_
Yea, I think we're going to look closely at QRL and quantum cryptocash for inspiration to address these fundamental issues first
-
luigi1111w
you can't link blockchain to unknown address but you could link known addresses
-
sarang
That is, does the Monero protocol do better, worse, or about the same as other protocols with similar goals
-
sarang
luigi1111w: AFAIK this is also what Zcash has concluded about their quantum resistance
-
sarang
(as a comparison)
-
Isthmus_
"you can't link blockchain to unknown address but you could link known addresses" < could you elaborate slightly?
-
luigi1111w
given a particular address you could determine if it matches an output
-
luigi1111w
but you couldn't derive that address from the output
-
Isthmus_
Ah, gotcha
-
Isthmus_
When you say "matches an output" do you mean created an output or received an output
-
luigi1111w
received
-
luigi1111w
although by extension also created because untraceability is compromised
-
Isthmus_
Yep, that makes sense and matches our preliminary thining
-
Isthmus_
s/ini/inki
-
monerobux
Isthmus_ meant to say: Yep, that makes sense and matches our preliminary thinking
-
sarang
OK, did anyone else wish to share research of general interest to this group?
-
h4sh3d[m]
Yesterday I published an updated version of the swap
-
h4sh3d[m]
-
sarang
Nice!
-
sarang
Anything in particular to comment on it here?
-
h4sh3d[m]
I corrected the one-time VES usage, and I confirm that it is now correct ; )
-
sarang
noted
-
sarang
thanks h4sh3d[m]
-
h4sh3d[m]
I'll add more details in the paper in the next days but the protocol is done
-
sarang
Before moving on, are there any other general questions, or other research topics to address today?
-
sarang
(from anyone)
-
sarang
OK, on to ACTION ITEMS
-
sarang
I'll get my analysis toolset updated and posted, as well as finalize that time-windowed spend-age distribution data and provide it on this channel
-
sarang
And continue working with the CLSAG audit team
-
sarang
I had to set aside the output merging algorithm design, but will return to it
-
sarang
Anyone else have action items they care to share?
-
sgp_
I want some confirmation that we think coinbase-only rings make sense for the CLSAG update specifically
-
sarang
What data will/do you use to make this assessment?
-
sgp_
obviously I support this as-is, even without more coinbase vs non-coinbase data
-
sarang
noted
-
sarang
Is there particular data you think would help assess this, that we currently do not have?
-
sgp_
I see it as an incremental improvement either way, even more so if we can adjust to fit a different selection algo for each
-
sarang
Such an algorithm likely wouldn't need to separately account for spend age, as we now know
-
sgp_
makes implementation even easier then
-
sarang
All right, our hour is just about up
-
sarang
Are there any last questions or comments before we adjourn?
-
Isthmus_
I have a minimum-age aglorithm on a whiteboard that might help with this
-
Isthmus_
but haven't ported over to data queries yet
-
sarang
What do you mean Isthmus_?
-
Isthmus_
Every single monero output has a minimum plausible age. If you follow up the transaction tree far enough, you'll always encounter coinbases.
-
Isthmus_
So I can point at any output and say, "it is no younger that N hops from this coinbase"
-
sarang
Ah, got it
-
Isthmus_
Ah I'm late for another meeting crap
-
Isthmus_
g2g
-
» Isthmus_ bolts to a zoom room
-
sarang
Yeah, would love to see what you come up with
-
sarang
OK, I suppose we can adjourn
-
sarang
Thanks to everyone for joining in!
-
sgp_
is that necessary for this specific change, or is that mostly for a broader analysis?
-
» sarang goes to post logs to the agenda
-
ArticMine
Thanks for hosting
-
sgp_
(I see it as the latter personally)
-
Isthmus_
(waiting for people to join the call)
-
Isthmus_
It's part of a bigger picture. Relating to coinbase-only, I like the idea of changing blockchain tracing capabilities from "came from *this* coinbase" to "came from *a* coinbase"
-
Isthmus_
Ah call starting now :- /
-
sgp_
Isthmus_: thanks, agreed on both counts there
-
UkoeHB_
Isthmus if tx private keys are produced deterministically (as has been suggested by some) then for subaddress recipients you could multiply the tx pub key by the inverse of the tx private key to see the recipient's spend key. Tx private keys are randomly generated by the core software atm.
-
UkoeHB_
and there may be a way to extract someone's private view key from transaction data if keccak preimages can be found, since output commitments can be brute forced if the DLP is broken
-
UkoeHB_
and if the view key is known then the spend key is trivially found
-
UkoeHB_
so keccak preimage is the stealth address line-of-defense
-
sarang
-
sarang
If anyone has trouble interpreting due to the colors, let me know and I'll see what I can do
-
sarang
^ UkoeHB_ in particular had been curious about this data
-
sarang
Note that all these CDF plots take into account the change in target block time, but do not otherwise take into account block timestamps
-
sarang
They assume fixed constant block targets specified by the protocol
-
UkoeHB_
yeah kinda lines up with my expectation
-
UkoeHB_
wait nvm those are all pre-ringct lol, so not referring to decoys at all
-
sarang
These are actual spend ages for those blocks
-
sarang
Nothing more, nothing less
-
sgp_
it's actually slowed down over time? lol
-
sgp_
my intuition is so wrong
-
sgp_
still they are all mostly similar
-
xmrmatterbridge
<cankerwort> Sarang what is the "output merging" you mentioned?
-
sarang
Looks like an IRCCloud error
-
sarang
Any missed messages recently?
-
scoobybejesus
xmrmatterbridge> <cankerwort> Sarang what is the "output merging" you mentioned?
-
sarang
thanks scoobybejesus
-
sarang
cankerwort: suppose that (for some reason) a single transaction directed multiple outputs to you
-
scoobybejesus
no prob. that was the only one
-
sarang
If you later generate a tranasction where these outputs are spent, each such output will be contained within a different ring in the transaction
-
sarang
This may also occur by chance due to the selection process, of course
-
sarang
So an adversary may try to use these statistics to build a heuristic
-
sarang
This can be generalized through the graph as well
-
xmrmatterbridge
<cankerwort> Very interesting thank you