-
Isthmus
13404422 ring signatures generated by version 2 transactions
-
Isthmus
Whoops, wrong channel
-
Isthmus
Well, you can probably guess who I meant to send that to
-
UkoeHB_
Avg ~1 tx every 20secs
-
UkoeHB_
One ring sig*
-
sarang
Reminder that weekly research meeting is today @ 18:00 UTC (about 3 hours from now)
-
suraeNoether
why do i keep thinking these meetings are 17:00 UTC?
-
sarang
They used to be 17:00
-
sgp_
.time
-
suraeNoether
.dementia
-
sgp_
too bad that doesn't work here. works in #monero-community
-
suraeNoether
so, good news everyone: i now have two full days of sleep, with a calorie defecit smaller than 500 calories, for the first time since xmas. finally freaking feeling better
-
sarang
:D
-
sgp_
suraeNoether: that's great news!
-
sarang
How do we get the timebot here?
-
nioc
back in my day we wound our watches
-
sarang
Now we have robots to do that
-
sarang
Anybody have anything they want to specifically add to today's agenda?
-
suraeNoether
nioc: i'm still winding my watch :)
-
nioc
my question is, what is the status of the matching project and how will is be used going forward to help select an appropriate ringsize?
-
UkoeHB_
Curious as well
-
sarang
Great question for the meeting, or for right now
-
sgp_
+1
-
sgp_
As I stated before, I don't think there are strong reasons to increase ringsize with clsag unless there's a justification other than "larger is better" or "it could theoretically help with churning"
-
sarang
I agree
-
sarang
Some forms of analysis are easily mitigated by small increases, and those have been done already
-
sgp_
this was maybe fine a few years ago when the ringsize was MUCH smaller and this was the best analysis we had, and when we were dealing with more basic attacks
-
sgp_
sarang: beat me to it :)
-
sarang
Other more targeted forms of analysis would be difficult to mitigate without very large increases that are not feasible right now without bloat
-
sgp_
easy attacks are effectively covered
-
sarang
But marginal increases at the current size seem unnecessary without a good rationale, likely related to churn as sgp_ says
-
sarang
We'll start our meeting in just a few minutes
-
sgp_
my hope is that the matching results come out in time to make a good decision regarding ringsize in the clsag update
-
sarang
The usual agenda, with an addition from Isthmus:
monero-project/meta #434
-
sarang
^^ agreed
-
sgp_
plus this project has been ongoing for what, a year or two now?
-
sarang
OK, let's get started
-
sarang
Logs from this meeting will be posted to the agenda issue shortly after the meeting
-
sarang
First, GREETINGS
-
sarang
hello
-
sgp_
hello
-
suraeNoether
good mroning
-
UkoeHB_
hiya
-
» sarang will wait a minute for anyone else to arrive
-
sarang
On to ROUNDTABLE, where anyone is free to share interesting research
-
sarang
I'll go first, since I have a small assortment of things
-
sarang
I worked up code and examples for doing hidden data storage within Bulletproofs and Triptych, suitable only for the prover
-
Isthmus
I,m kinda here, but on a conference call
-
sarang
Several ongoing projects/issues have been moved to monero-project/research-lab issues for comment and discussion
-
sarang
The CLSAG code on my monero fork (clsag-plumbing branch) has been cleaned up; thanks to UkoeHB_ for helpful suggestions and comments
-
sarang
It includes, among other things, hash function domain separation that we hope to roll out elsewhere for a more robust overall codebase
-
sarang
There is also CLSAG Python sample code showing how to do signer index extraction in a clever way, which I assume UkoeHB_ may wish to discuss when he shares
-
sarang
I've written up material for ZtM about transaction proofs/assertions
-
sarang
And have worked up some new C++ code that updates transaction in/out proofs to have correct Schnorr challenges
-
sarang
(still need to write tests for this)
-
sarang
That's my update; any particular questions before the baton is passed?
-
suraeNoether
quick question: iirc you had done work on encrypted timelocks
-
sarang
yes
-
suraeNoether
i've been chatting with both isthmus and TheCharlatan about them
-
suraeNoether
do you have any notes prepared any place for later reading?
-
sarang
On what in particular?
-
suraeNoether
alternatively: can we schedule a discussion in this room that will end up in the logs for later this week?
-
sarang
Sure
-
sarang
Let's table for now, and address at the end
-
suraeNoether
if we implement them regardless of if we are using mlsag, clsag, or triptych, there's going to be a cost. i want to see how it's all going to fit into future monero dev
-
suraeNoether
word, word, i can go next
-
sarang
OK, go ahead suraeNoether
-
» sarang makes a note about timelocks
-
suraeNoether
last week i spent a lot of time on CLSAG and linkable ring signatures security definitions
-
suraeNoether
there are a lot of definitions out there and they don't all relate to each other in a clean taxonomy, and it wasn't clear which ones we needed to use, and so on
-
suraeNoether
so i started writing this rather large technical note summarizing all this with the intention of writing a second paper about it, but sarang and i have decided to merge the two into a new draft
-
suraeNoether
the reason is that even definitions of unforgeability miss absolutely critical stuff becuase they are taken from "ring signatures" and mapped over to "linkable ring signatures" wholesale without regard for linking properties
-
suraeNoether
so now the paper will be proposing a new definition of unforgeability specifically for linkable ring signatures that subsumes more than one security definition, and this is going to set the standard for a few years on how unforgeability is considered for all applications of linkable ring signatures.
-
suraeNoether
this is good news(tm) for MRL
-
Isthmus
sweet
-
UkoeHB_
congrats :)
-
suraeNoether
thanks :D
-
sarang
It makes the preprint all the more valuable
-
suraeNoether
In addition to that, I have been preparing my talk for the Blockchain Tech Symposium at the Fields Institute in two weeks, and debugging my matching code.
-
suraeNoether
i'm extremely grateful to the peer reviewer who "gently" pointed us towards the backes' paper actually
-
sarang
Having both improvements to security models _and_ a new construction seems to be the gold standard these days
-
suraeNoether
they did us more of a favor than maybe they realized
-
suraeNoether
my work for the week will include finishing up this new draft of CLSAG, and to begin large-scale data collection on matching
-
sarang
Thanks suraeNoether
-
sarang
Any questions for suraeNoether?
-
UkoeHB_
if you want more CLSAG work, it's possible to increase the number of linkable keys up to the total number of pub keys considered :p
-
sarang
Sure, but that's not useful for our particular application
-
sarang
which is why we didn't consider it
-
UkoeHB_
I believe there was an earlier question from nioc about matching
-
UkoeHB_
for suraeNoether
-
sarang
12:46 <nioc> my question is, what is the status of the matching project and how will is be used going forward to help select an appropriate ringsize?
-
sarang
^ was the question
-
suraeNoether
ah, great question: the matching project is *what appears to be* a single-line bug away from correctly generating simulated ledgers. it already appears to generate correct confusion matrices; once this bug is cleared up, it's a matter of executing a big block of code for a large period of time to get all the sample data, and then analyzing the data that's dumped to file.
-
suraeNoether
so... if this bug, just like all the others, is a hydra, then I don't have a good answer, but i suspect i've narrowed down the problems to the source
-
UkoeHB_
Is the purpose of the matching project to produce the ledgers?
-
suraeNoether
there are several purposes, but here's the main thing
-
suraeNoether
we want to estimate how well an adversary can do at finding the "real" history of a monero ledger, given some hints (like it's a KYC exchange)
-
suraeNoether
i have a method of computing a maximum likelihood estimate of the real history given some obscured ledger, and all that code works
-
suraeNoether
and i have a method of taking an estimate and comparing it to the ground truth, producing a confusion matrix, and all that code works
-
suraeNoether
i have a simulator that generates simulated ledgers, and the vast majority of that simulator is working just fine, too
-
suraeNoether
the origin of the project came from the idea of developing a game-theoretic description of traceability on the monero ledger: you hand me an obscured ledger and some hints, I hand back to you my best guess, and then success is judged by you comparing the best guess to the ground truth you kept from me the whole time
-
suraeNoether
so, the hope is: graph performance against ring size, and see if getting larger than 11 is a waste of space/time or not
-
suraeNoether
in the meantime, we hope to also get good data for zcash-style ledgers, so that we can actually rigorously compare the two ledgers against each other, instead of tweeting at each other about fragility
-
suraeNoether
but that last bit is farrrrr down the line
-
Isthmus
Oh yea, I just remembered that ginger and I talked about generating synthetic blockchains forever ago
insight-decentralized-consensus-lab/CryptoNote-Blockchain-GAN #1
-
» Isthmus has to run to a meeting at :30, sorry >_<
-
sarang
OK, any follow-up questions on this?
-
suraeNoether
unfortunately, i've not worked on matching since mid-January because CLSAG's security models are critically important
-
sarang
and CLSAG needs to get out the door
-
sarang
Anything else to share, suraeNoether?
-
sarang
Does anyone else wish to share relevant or interesting research?
-
Isthmus
I'm taking a break from blockchain logs analysis to do some chat log analysis, analyzing recurring logical fallacies in this space
-
suraeNoether
Nope
-
suraeNoether
isthmus lol really?
-
sarang
?
-
Isthmus
Yeah, actually doing a formal analysis
-
suraeNoether
Isthmus: if you are, i have a friend to hook you up with at the university of exeter
-
sarang
This channel in particular?
-
sarang
Or more broadly in cryptography?
-
Isthmus
Somewhat broady
-
Isthmus
There's 7 common ones that show up in -lab
-
sarang
go on...
-
Isthmus
But they break down into combinations of red herrings and something that is *similar* to the slippery slope argument, but not quite the same and I'm still nailing down its technical logical structure
-
suraeNoether
dude, please elaborate
-
Isthmus
Like when we're debating fixing a tractable privacy leak, and somebody points out that there are other privacy leaks
-
UkoeHB_
:O
-
suraeNoether
ah yeah
-
suraeNoether
or comparing everything to 50% attack costs
-
Isthmus
Another one is the hashrate code control fallacy
-
suraeNoether
?
-
Isthmus
Confusing a 51% attack on longest chain with a 51% attack on the code
-
Isthmus
This came up a few weeks ago actually
-
suraeNoether
aaaah
-
suraeNoether
i smell some medium articles
-
Isthmus
Like why should we bother working on the protocol and code, when one day, somebody might run their own version on a bunch of their own miners
-
sarang
Based on what you've analyzed so far, any particular recommendations to avoid such flaws in discussion/thinking?
-
Isthmus
That one can be disproven by contradiction
-
Isthmus
If 50% of BTC hashrate moved to BCH, does that make BCH the official bitcoin?
-
suraeNoether
"why should we patch little leaks in info here and there" styled privacy nihilism/despair
-
Isthmus
Oh shit, I gotta be in a meatspace meeting
-
Isthmus
ciao!
-
sarang
-__-
-
sarang
Very interesting stuff
-
Isthmus
Erm, not by contradiction. I mean by example demonstrating absurdity
-
sarang
We have plenty of time left... does anyone else wish to share anything?
-
UkoeHB_
lol 😆
-
suraeNoether
lol "i'm going to use machine learning to watch all of your conversations and find out who repeats fallacies most zealously BAIII GOTTA GO GRAB A FREE SLIZE OF 'ZZA FROM THE CORPORATE OVERLORDS" amiright
-
UkoeHB_
Here's mine. Worked on write-ups of different ideas -> now Research repo Issues, with good feedback from sarang improving viewspent approach. TxTangle (aka my monero coinjoin protocol) is mostly done and just needs questions answered about network-layer anonymity. Current draft of ZtM2 is here
pdf-archive.com/2020/02/05/zerotomo…0-23/zerotomoneromaster-v1-0-23.pdf and current
-
UkoeHB_
-
sarang
Yeah, the original view/spent idea was broken, but there's a better approach
-
sarang
It ties in with the CLSAG index extraction that I mentioned earlier
-
sarang
If the signer generates all non-signing scalars via a PRNG `s_i := H(seed,i)` (with appropropriate seed data), then it can be asserted privately what the signing index is
-
sarang
It removes the need to add anything to the chain, and hence is good for indistinguishability
-
sarang
I dig it, provided the UX is sufficient for reasonable use cases
-
UkoeHB_
yeah if view key can regenerate those scalars, it can know when an output has been spent with certainty
-
UkoeHB_
of course, it only works if tx author generates scalars like that
-
sarang
The problem is still that it's opt-in, so even an accidental use of a non-participating wallet ruins the account balance computation for good
-
sarang
So you'd have to be super-clear about presenting that to the user
-
sgp_
hmm
-
sarang
Of course, a wallet could be doing that right now for all we know
-
sarang
it's non-consensus and can't be detected if done properly anyway
-
UkoeHB_
it does leave open questions about data stored by nodes, since signature scalars are pruned; perhaps only full nodes, or view-spent enabled nodes can be used
-
sarang
IMO that's a completely reasonable trade-off
-
sgp_
sounds reasonable to me too
-
UkoeHB_
it also may greatly increase data transmitted to view-only wallets by remote nodes
-
sarang
Bloating the network for optional functionality benefitting only a single user seems unnecessary
-
sarang
But this approach means you can run a full node (good for the network) and have the functionality for your wallets safely
-
sgp_
UkoeHB_: I think that's a good thing to point out but probably isn't a showstopper
-
UkoeHB_
might need to receive a gigabyte of data to read through a year's worth of tx
-
suraeNoether
hmmm
-
suraeNoether
i'm a little worried about this in the following sense
-
sgp_
I still think that is okay for view-only wallets
-
suraeNoether
you are selecting the non-signing scalars deterministically from a PRNG
-
sgp_
anyone using them for critical stuff, or viewing multiple wallets, should run their own node
-
suraeNoether
one thing we all know about schnorr signatures is that if nonces are selected deterministically, it's possible to extract the private keys
-
suraeNoether
at least, under certain constraints
-
sarang
suraeNoether: yes, which is why seed selection is very important
-
suraeNoether
so my question is
-
sarang
UkoeHB_ and I discussed this a bit already earlier
-
suraeNoether
if the seed is chosen from a high entropy distribution and kept secret, it's computationally hard to detect that these are computed deterministically
-
suraeNoether
i would prefer a method that is more than computationally hard
-
sarang
Presumably the seed is a combination of the view secret key, the index, the key image, etc.
-
sarang
suraeNoether: how would that even work?
-
sarang
Data extraction requires that only the designated parties be able to construct the "expected" output value
-
suraeNoether
pfeh, we use PRNGs because statistical RNGs don't really exist :P so ... it wouldn't
-
sarang
Well, right now we operate on the assumption that the user has access to something behaving as an RNG
-
sarang
this moves to an honest-to-goodness PRNG
-
sarang
(and has to)
-
sarang
You can't do data extraction with a true RNG AFAICT
-
suraeNoether
that... is... true.
-
sarang
Anyway, this is an interesting topic that could be useful for a future release
-
sarang
but has subtle aspects to seed selection and UX that need further review
-
sarang
Let's move on, for the sake of time
-
sarang
Any other topics you wish to share, UkoeHB_?
-
UkoeHB_
well, I hope people can leave feedback on the repo issues
-
sarang
Yes, please do
-
sarang
Much easier than only doing IRC comments =p
-
UkoeHB_
sorted TLV is probably most important for next hardfork
-
sarang
TBH that's probably going to be better for -dev discussion
-
sarang
More of an engineering question than a math question :)
-
UkoeHB_
true
-
sarang
I'd bring it up at a dev meeting, or just in -dev whenever
-
sarang
Get a sense of the work involved
-
UkoeHB_
ok
-
sarang
I know people have brought up tx_extra parsing before, and it's a hot topic
-
sarang
Does anyone else wish to discuss other research topics?
-
UkoeHB_
ah, CLSAG section was added to ZtM2 for anyone curious
-
sarang
excellent
-
suraeNoether
uh i saw vtnerd's push on dandelion++
-
sarang
Yes
-
sarang
Most excellent
-
sarang
It's on my list to review later this week
-
sarang
Speaking of which
-
sarang
Let's briefly move to ACTION ITEMS to respect everyone's time
-
sarang
I'll be reviewing the D++ PR, working through some additional transaction assertion/proof stuff, updating sublinear tx protocol MPCs, and writing up examples of RCT3 hidden data storage
-
suraeNoether
yes. Mine: Finish CLSAG, start collecting matching data. Also, of primary importance: provide updates twice or three times a day in here until both of these are finished.
-
sarang
As well as getting tests written for the new tx in/out proofs
-
suraeNoether
i'll be reviewing the D++ pr also once those are both off my plate
-
sarang
Yes, looking forward to the CLSAG stuff (will review when ready)
-
sarang
Anyone else have action items planned for the week?
-
UkoeHB_
To do: focus on multisig all week, hopefully finish txtangle (need a network anonymity expert for advice, any takers?)
-
sarang
The most knowledgeable person is probably vtnerd
-
sarang
I hear if you say his name 3 times, he gets 3 separate notifications...
-
sarang
=p
-
sarang
Any last-minute items, questions, etc. before we formally wrap up?
-
sarang
(I'm happy to discuss timelocks after we adjourn)
-
sarang
Going once...
-
sarang
twice...
-
sarang
Adjourned! Thanks to everyone for attending; logs will be posted shortly on the agenda issue
-
sarang
Feel free to continue discussions, of course
-
sarang
suraeNoether: timelocks
-
sarang
What do you wish to know
-
suraeNoether
well, first question: is there a github issue or something describing any proposed methods of implementing them?
-
suraeNoether
second question assuming no: is there a document anywhere describing any proposed method of implementing them?
-
sarang
I have some example code showing how they operate
-
sarang
What details do you want?
-
sarang
If you want timing information, that's separate (depends on performance timing)
-
sarang
and that doesn't address the engineering work required to integrate the timelock range proofs (used for inputs) with the existing bulletproofs (used for outputs)
-
sarang
It seems pretty nontrivial to do
-
UkoeHB_
Issue #65 I did a short explanation of how it works
-
suraeNoether
uh #65?
-
sarang
-
sarang
I opened an issue describing the basic idea
-
suraeNoether
oh!
-
suraeNoether
i was in monero-project/monero :P
-
suraeNoether
ok, this was *all* i wanted before i had more questions
-
suraeNoether
thank you
-
sarang
The gist: requires each input to have an additional auxiliary commitment added; still a cleartext auxiliary time included; CLSAG verification complexity increases; range proofs basically unaffected if done properly
-
sarang
First-order estimate is that the MLSAG-CLSAG verification benefits go away with CLSAG-based timelocks
-
sarang
Although: I should note that range proofs currently have a cap on the number of commitments included... with timelocks, this cap would incorporate both input timelock commitments _and_ output value commitments
-
sarang
I mean unaffected since we already pad to the next power of 2 for size and time purposes
-
sarang
Increasing the limit would of course change this
-
suraeNoether
*nod*
-
sarang
So there are still size benefits from the MLSAG-CLSAG transition, but the time benefits disappear
-
sarang
May be slower overall by a bit... there's always variance in the test numbers
-
sarang
Seemed like a wash during my initial testing
-
suraeNoether
sarang: i have a weird notion of unframeability, or non-slanderability i wanna run by ou
-
suraeNoether
but it requires out of the box thinking
-
suraeNoether
if you are aroudn
-
sarang
I am around
-
suraeNoether
ok so
-
suraeNoether
firstly, unforgeability is a version of soundness, which is a matter of the existence of a witness extraction algorithm. when we prove unforgeability, we prove such an extractor exists and use it to violate a hardness assumption
-
suraeNoether
secondly, if A is an algo that can produce a valid signature, then it can be rewound by the extractor to get the witness, so if A produces some (m, R, \sigma), we can wrap it without harming its advantage and output instead ((m, R, \sigma), w) for a witness w
-
suraeNoether
follow me so far?
-
sarang
Ideally
-
suraeNoether
-
suraeNoether
this is an amped up definition of linkability. I suspect it's distinct both from Backes' and the older Tsang-style definitions, also
-
suraeNoether
but i haven't proven proper containment of the securiyt models yet.
-
suraeNoether
actually: this is a very strong definition of linkability that says two signatures will link if and only if their witnesses match
-
suraeNoether
which implies Backes' definition for sure
-
suraeNoether
hmm, yeah, actually i think this definition also implies tsang's definition
-
suraeNoether
suggesting this is stronger than those
-
suraeNoether
i... suspect htere's a problem with my thinking, though, other htan the fact that it assumes the scheme is unforgeable to start.
-
sarang
How do you frame this in a challenger-player scenario?
-
sarang
The challenger can't naively extract the witness itself
-
Isthmus
-
Isthmus
Back by popular demand
-
Isthmus
^@koe
-
Isthmus
@UkoeHB_
-
Isthmus
Wow, we've had some transactions with a lot of inputs... 1187, 1086, 1067, ...
-
sarang
Ah is this the chain analysis I had asked for?
-
suraeNoether
sarang: same way backes' linkability defines it as player-challenger
-
sarang
suraeNoether: this is a good conceptual example of linking unforgeability to (special) soundness by Groth and Kohlweiss:
link.springer.com/content/pdf/10.1007/978-3-662-46803-6_9.pdf
-
suraeNoether
oooh
-
suraeNoether
taking a lunch break, and then sarang, i'm at the point where i'm copy-pasting proofs over... so i think i'll be done later today and passing a new draft along to you, but i'll do an update in a bit
-
sarang
Roger
-
Isthmus
Want to see 800 obviously spent outputs?
-
Isthmus
-
Isthmus
Our ring signatures and decoy selection algorithm are simply statistically incompatible with spending a large number of temporally-correlated outputs in a single transaction
-
Isthmus
I can automate this too
-
sarang
Yup
-
Isthmus
Collapse the ring member ages of all 1000 ring into a histogram, find cluster centroids, flag every output within 1 stddev as spent. Loop this over all of the 500+ input transactions, and mark thousands and thousands of outputs as known to be spent.
-
UkoeHB_
Interesting, it seems like the amount of pool payouts is less than 1% of all tx
-
Isthmus
i haven't coded it up yet, but it could take a single pass through our database and identify >10,000 spends
-
sarang
Isthmus: *highly suspected* to be spent
-
sarang
Known for a long time :/
-
sarang
Tricky to avoid without sufficient cluster/bin selection AFAICT
-
sarang
Which in turn is tricky without larger overall anon set sizes
-
Isthmus
And of course revealing 10,000 spends also reveals 50,000 decoys
-
Isthmus
I'm a statistician, not a court of law. For the purposes of commercial chain-analysis those are considered spent.
-
Isthmus
:- P
-
sarang
Sure, and I don't know a good way to avoid this beyond clustering and/or wallet warnings
-
UkoeHB_
All high input count inputs are pre-ringct
-
sarang
Or, alternatively, such a large-input transaction followed by a properly-executed self-spend
-
UkoeHB_
Since max tx size limit
-
sarang
to return the single output into the "recent pool"
-
Isthmus
" Or, alternatively, such a large-input transaction followed by a properly-executed self-spend" < protects the sender, but laces the chain with weak decoys
-
sarang
An on-the-fly analysis followed by a churn wallet warning might useful as a stopgap
-
UkoeHB_
Ah right, can you flag every tx with >1 input if it used RCTTypeFull?
-
sarang
Isthmus: right, but in general it's not possible to fully avoid
-
UkoeHB_
Or add a count column to that data set with #tx with rcttypefull
-
Isthmus
Yea it is, we just need to cap the number of inputs to force multiple transactions. A little bit of computational and fee overhead, but allowing insanely large numbers of inputs basically defeats the point of ring signatures
-
Isthmus
I'm not saying to cap it at 5
-
Isthmus
But it needs to be not 1000
-
UkoeHB_
And another flag if the first referenced input offset is pre-ringct (implies all inputs are pre-ringct)
-
Isthmus
Ah interesting
-
UkoeHB_
I think rcttypefull could get up to around 600 inputs, maybe more with smaller ring sizes
-
UkoeHB_
Pre-bulletproofs
-
Isthmus
Anyways, good lunch break but I gotta get back to the work
-
Isthmus
gg
-
sarang
Isthmus: the sharp dropoff for decoy selections means that the temporal effects may be reduced somewhat
-
sarang
but it'd be interesting to see to what extent this is the case
-
UkoeHB_
I'm guessing all those inputs from the same block are denominated pre-ringct outputs being swept
-
sarang
I still very much advocate for eventually moving to a bin/cluster selection approach, but I also think it only has maximal benefit when used with a large overall ring size
-
UkoeHB_
Isthmus multiple transactions doesn't work either, since with a little extra effort you can compare the input rings of adjacent tx for clusters
-
UkoeHB_
Well helps a little, and moreso as the time spread rises, but not a huge improvement
-
sarang
Larger clustered bins shared across all inputs seems to mitigate this
-
UkoeHB_
Yeah
-
Isthmus
True, in that sense transactions are kind of arbitrary boundaries around branches of the tree, but it's still the same tree
-
sarang
Even if you gain knowledge of the bin used across inputs, that doesn't necessarily identify all spends within the bin
-
Isthmus
Very mature graph analysis erases the boundaries from both blocks and transactions, to focus on the pure topology
-
sarang
and the presence of identical bins on all txns means you can longer use only cross-input techniques to guarantee a single set of spent inputs
-
sarang
Isthmus and UkoeHB_: suppose we can do ringsize 128 or 512
-
sarang
How would you structure selection?
-
sarang
I've thought a lot about this
-
sarang
but surely there are factors at play that I am missing :)
-
sarang
For starters, inputs should share the same anon set
-
sarang
(this is generally also very efficient)
-
sarang
Binning is also a good idea (Miller et al. show how to do deterministic shuffled binning to avoid miner shenanigans)
-
UkoeHB_
I think maintaining the gamma distribution as foundation is important, although I have some thoughts on how to make sure it ages decently
-
sarang
What else?
-
sarang
Yes, I assume the bin selection follows a reasonable spend distribution
-
sarang
with the rule that when you select a bin, the ring includes that entire bin
-
UkoeHB_
I feel that reveals too much about the spend timing
-
Isthmus
I need to clear my mind and think on that for a while. There are 3 concrete research strategies that I believe should inform selection
-
sarang
UkoeHB_: bear in mind one of the key reasons the Miller paper advocated binning (at least in the single-input simplified case) was to reduce the adversarial advantage from heuristically identifying the spent bin because of a bad distribution choice
-
sarang
At that point, the signer ambiguity is still at the level of the bin size
-
Isthmus
(1) What does the spend time distribution look like for other multiple other cryptocurrencies like BTC and transparent Zcash. Why multiple? I don't just want to see the distribution for one, I want to understand how representative it is and how much it varies across different coins
-
sarang
as opposed to a single output
-
Isthmus
(2) use the egregious decoy transactions (exhibit 1: uniform selection, exhibit 2: cached decoys, exhibit 3: links from by MonKon talk) to identify real spend times in Monero
-
Isthmus
There's enough obviously spent outputs (from a statistician's perspective) that we should be able to generate a pretty large data set
-
sarang
Isthmus: are you familiar with the data presented in the Miller paper?
-
Isthmus
Oh yea, I read it like once every 6 months
-
sarang
haha ok
-
Isthmus
Now, we don't know for sure whether these sore thumbs representative of general activity
-
sarang
I was gonna say, 1+2 is basically "do Miller again"
-
sarang
but with more sources
-
Isthmus
Yea, I just have more heuristics with more teeth :- )
-
Isthmus
We've advanced chain analysis significantly since then
-
sarang
Because I wonder if, even armed with this extra data, there are good general rules beyond "build shuffled bins, select them using an estimated spend distribution, and that's it"
-
Isthmus
So the last strategy (3) is to take the transactions that appear to have the correct decoy algorithm matching core wallet implementation (assessed by offset-corrected median ring member age) and then subtract those from the observed distribution
-
sarang
(and reuse all bins across inputs)
-
Isthmus
This won't tell us anything about a *particular* ring, but across 13404422 ring signatures, the difference should paint a pretty accurate picture of the real Monero spend time distribution
-
sarang
OK, so assume you have that distribution in hand
-
sarang
What do you want to pull from it?
-
Isthmus
Our decoy selection algorithm should mimic the ground truth spend time
-
sarang
Sure, but we already know that doesn't play well across inputs
-
sarang
So now we also have the hypothetical advantage of 128-512 rings
-
sarang
Also assume that reusing inputs/decoys across rings is more efficient to verify (it is)
-
Isthmus
Oh I'm tacking theory for single ring before cross-ring stuff xD
-
Isthmus
I guess that's bad of me
-
Isthmus
Anyways, gotta bounce back to work stuff, will meditate on large rings laater
-
sarang
roger
-
UkoeHB_
Earlier I figured out how to hide the true distribution inside another distribution, but that only works if the true distribution is unknown.
-
UkoeHB_
only hides if the true dist is unknown to analyst*
-
sarang
We should assume a reasonably-accurate distribution is known (at least its general form, if not parameters)
-
sarang
The parameters we use in practice are from Miller, assumed to be "nothing-up-my-sleeve" values (or something reasonably so)
-
suraeNoether
i still think it'd be worth it to have those values updated every 6 months or so
-
suraeNoether
the market today is not the market in 2017, and the velocity of money largely determines spendtime...
-
suraeNoether
one of the stupid things about spendtime is that it's sensitive to economic conditions
-
suraeNoether
a depression is when spendtimes are long, and a bubble occurs when spendtimes get shorter; picking a single distribution to capture both regimes is not a smart way around the problem
-
suraeNoether
but ya gotta pick *some* spendtime
-
sarang
The methods should also be consistent and reproducible
-
sarang
All NUMS values