-
chaserene
Rucknium: I'd like to nominate two topics for tomorrow's meeting.
-
chaserene
- I had a look at hyc's reorg data. as far as the data is representative, it gives cause for optimism with regard to reducing the lock time.
monero-project/research-lab #102#issuecomment-1577827259
-
chaserene
- earlier this week here I/we wondered where exactly the bottlenecks are on the path to global membership proofs, and whether there is someone who is not yet involved in the effort but whose help could prove meaningful.
-
xmrack[m]
kayabanerve: you were right it is RSA based.
-
xmrack[m]
-
-
xmrack[m]
The search time tradeoff comes with a massive increase in address and key size, as expected
-
Rucknium[m]
chaser: Thanks. They are on the agenda:
monero-project/meta #846
-
UkoeHB
Meeting 40mins
-
UkoeHB
Meeting time
-
UkoeHB
1. greetings
-
UkoeHB
hello
-
vtnerd
hi
-
xmrack[m]
Hi
-
rbrunner
Hello
-
jeffro256[m]
Howdy
-
chaserene
hello
-
Rucknium[m]
Hi
-
UkoeHB
2. updates, what’s everyone working on?
-
UkoeHB
Me: slowly putting together monerokon presentation. I’m considering taking a long break after monerokon to properly reset.
-
Rucknium[m]
me: OSPEAD
-
vtnerd
zeroconf webhoooks (LWS), otherwise and p2p-encryption / bp++. both are coming along slowly, but some progress is being made
-
Rucknium[m]
There is a 90% probability that MAGIC will have something to announce about EAE attack research this week
-
chaserene
I examined the long-term reorg data provided hyc
-
jeffro256[m]
me: adding support for separation of coinbase/non-coinbase output distributions directly into BlockchainLMDB for issue #109
-
jeffro256[m]
Rucknium[m]: Is it bad....
-
Rucknium[m]
No
-
Rucknium[m]
The announcement will be "please, community, fund this research so we know how bad it is"
-
Rucknium[m]
And how it could be defended against.
-
UkoeHB
3. discussion
-
chaserene
I truly wonder how it can be defended against other than churning
-
chaserene
yeah, it's an art for now
-
UkoeHB
chaserene: it sounded like you have some things you want to discuss today
-
xmrack[m]
Increasing the ring size could help
-
chaserene
yes. I wondered where the bottlenecks are exactly on the path to global membership proofs
-
xmrack[m]
But it would need to probably be in the thousands of decoys
-
chaserene
and whether involving new people and expertise could accelerate progress on it
-
Rucknium[m]
Maybe ask Bailey if he wants to do this for trustless global membership proofs: Bailey & Miller (2023) "Formalizing Soundness Proofs of SNARKs"
eprint.iacr.org/2023/656
-
xmrack[m]
<xmrack[m]> "
moneroresearch.info..." <- UkoeHB: did you have a chance to read this paper/ have any thoughts on the concept?
-
chaserene
Rucknium implied it's mostly a math problem for now, to which I answered that even hiring mathematicians and academics could be an option
-
rbrunner
Maybe me manage to summon kayabaNerve, because he was so far a main force behind this push
-
Rucknium[m]
That would also help us figure out what the state of the security proofs are in these papers
-
Rucknium[m]
kayabanerve: What are the bottlenecks to implementing trustless global membership proofs in Monero?
-
rbrunner
tevador has also been pretty active in the issue:
monero-project/research-lab #100
-
chaserene
Rucknium[m]: thanks, that's a point to start at. there are all these researchers on whose efforts Monero is built, but I sense some kind of divide between their world and ours
-
Rucknium[m]
chaser: IMHO, if you want this to happen, you should contact Bailey
-
rbrunner
Well, theory and implementing are by very nature quite different already, seems to me
-
Rucknium[m]
I don't want to do it since I have a lot on my plate already. And cryptography isn't something I know
-
UkoeHB
xmrack[m]: not yet
-
Rucknium[m]
Sometimes there is a divide since what researchers come up with cannot be practically implemented in Monero (or any other usable system). I guess the idea is that research will eventually fix the problems that an unimplementable idea has.
-
Rucknium[m]
For example, that paper that xmrack linked that wanted to have address sizes in the kilobytes
-
Rucknium[m]
Or these papers that want a partitioning decoy selection algorithm. Those are a little closer to being practical, but with disadvantages.
-
chaserene
Rucknium: I'm no cryptographer either. I'll take a look at the paper to have at least a basic understanding and see if I can formulate how Bailey can help in this
-
plowsof11
i would just like to pop this invitation in from QuarksLab (if anyone was interested)- "We can schedule a new presentation of our activities and convictions in the next few days if that suits you, for example: June 8th between 14h and 16h / 13th afternoon /15th between 3pm and 5pm" if someone wants to "know how they could help the project", i am also going to poke the bp++ author again for an update on the final version of the pap
-
Rucknium[m]
That's why MAGIC says that we would fund actionable research on Monero:
monerofund.org/apply_research
-
UkoeHB
plowsof11: that sounds valuable to me
-
Rucknium[m]
(I wrote it)
-
jeffro256[m]
Rucknium[m]: That's not necessarily completely infeasible, you already have to copy/paste XMR addresses, and a couple kilobytes can still fit on a QR code
-
Rucknium[m]
And it needs "A plan to work with Monero's developers and/or researchers to integrate the results of the research into Monero's protocol or ecosystem."
-
rbrunner
Hardware wallets will surely thank us for 2KB addresses or so ...
-
chaserene
Rucknium: yes, this is a much more promising avenue for this than CCS
-
chaserene
I dunno, I'm already freaked out by the Jamtis address lengths
-
Rucknium[m]
plowsof: Are those UTC times?
-
xmrack[m]
rbrunner: 2kb….. thats cute. They propose 37kb addresses
-
rbrunner
:)
-
jeffro256[m]
oop
-
plowsof11
I have no idea, i will get the times / tell them UkoeHB wants to attend (hopefully it is not just a sales rep reading a generic pdf)
-
Rucknium[m]
A presentation from them seems interesting to me
-
plowsof11
great, ill pass this on and get times / more info
-
UkoeHB
Thanks plowsof11
-
chaserene
while we're waiting for kayabanerve or tevador to pop in, I want to put this forward: visualization of hyc's long-term reorg data
monero-project/research-lab #102#issuecomment-1577827259
-
chaserene
done by me, wholly non-quantitative, but has a few interesting insights
-
jeffro256[m]
I wanted to bring this up so people can chew on it: is there any downsides to the #109 idea of when spending non-coinbase outputs, only selecting non-coinbase decoys? I have a couple in mind, but I don't want to bias ideas that people may have.
-
xmrack[m]
Nice work chaser
-
xmrack[m]
jeffro256[m]: Wouldnt an obvious downside be that when a coinbase output is spent it’s guaranteed to be the true spend?
-
Rucknium[m]
chaser: Thanks for the parsing of the log files. I think we could probably reduce the 10 block lock to 5 blocks. Probably. We would want to do more analysis and thinking about it.
-
chaserene
namely,
-
chaserene
* reorgs correlate w/ hash power
-
chaserene
* reorgs relative to hashpower decreased a lot after Carbon Chameleon, and even more after Fluorine Fermi, and I wonder if you guys have a guess why
-
Rucknium[m]
You could say if the real spend is a coinbase, then all ring members are coinbase outputs
-
Rucknium[m]
chaser: I think sech1 helped improve network connectivity and reduced the probability of re-orgs
-
jeffro256[m]
@xmrack Yes that's biggest one, when miners want to spend outputs it reveals their true spend. This isn't such a big issue for me though, since 1) 90% of miners are either p2pool or trad pool miners so miner spends are already public information or 2) if it's a solo pool miner, they can churn once to a normal output (wallet code would do this default ideally)
-
chaserene
Rucknium[m]: a-ha
-
jeffro256[m]
There was also the changes that ooo implemented which allowed for more p2p connections to stay alive and healty
-
chaserene
Rucknium: I would lean toward a more conservative reduction (8?), see how it performs in prod, and reassess whether to keep it, go higher or go lower. I agree with hyc's notion about unknown unknowns earlier in that thread. a reduction would invite more attackers who so far have been outpriced
-
Rucknium[m]
chaser: I think this was the PR from sech1:
monero-project/monero #8675
-
jeffro256[m]
^^^^^
-
chaserene
Rucknium: nice, thanks
-
Rucknium[m]
If an attacker has enough hashpower to reorg 5 blocks, then Monero has bigger problems than the privacy issue with re-orgs
-
Rucknium[m]
I agree that when the system changes, you could see the incentives change, so attackers could change behavior. But 5 blocks...?
-
jeffro256[m]
-
chaserene
jeffro256: thanks
-
jeffro256[m]
Before PR #8426, a lot of connections were getting dropped and stagnating. Afterwards, alive connections went up on average by about 30%
-
xmrack[m]
jeffro256: what do you think of Rucknium idea to have coinbase outputs create rings using only other coinbase outputs. This way we stick to our ethos of private by default
-
Rucknium[m]
chaser: The 10 block lock can only be changed by a hard fork. Stepping it down gradually would take years
-
UkoeHB
jeffro256[m]: from a meta point of view, a special rule for coinbase spends doesn’t solve the root problem which is inadequacy of ring signatures. Setting a precedent could have long term effects… which is an ambiguous complaint.
-
jeffro256[m]
xmrack[m]: My PR actually does this currently, but it doesn't take into account amounts which reduces the effectiveness
-
chaserene
Rucknium[m]: yeah, I know. I can imagine attackers who aren't willing to attempt the whole thing with 10 blocks, but will come out of the shadows with 5. but of course I can't prove it would play out that way
-
jeffro256[m]
UkoeHB: Yes, but this is a clear cut rule which raises the effective ring size for free in terms of on-chain data, and just a tiny overhead for RPC servers
-
jeffro256[m]
Obviously nothing is better theoretically than just increasing ring size, but look at the impact in practice, especially with p2pool
-
Rucknium[m]
You could use the formula for 51% attack success probability to determine the hashpower for an occasionally successful 10 block reorg vs. 5 block reorg with minority hashpower
-
UkoeHB
That path has a clear slippery slope. Say you make it a wallet rule, well now you have implementation variance. In response, we get pressure for a protocol rule. After that might come balance splitting (coinbase/non-coinbase), which is a wallet nightmare. What if some other use-case clearly divides the global money supply? The coinbase precedent will encourage going down the same route again.
-
hyc
IMO the 10-block lock must stay unchanged. Tweak wallets to auto-create change like Monerujo did, if purchase convenience is an issue
-
hyc
A more useful problem to tackle is speeding up IBD further. we've discussed methods a few times already but nothing's come of them.
-
rbrunner
IBD = initial block distribution?
-
hyc
allow nodes further than N blocks behind to use summary/checkpoint hashes, generated the same way as the hardcoded ones,
-
hyc
yes
-
chaserene
D = downuoad
-
hyc
^ yes
-
UkoeHB
10-block lock is a safety factor of at least 2.5, which is a good value. Idk if we can justify a lower safety factor.
-
hyc
yeah, decreasing that is playing with fire
-
Rucknium[m]
-
jeffro256[m]
UkoeHB: I get the concern, but I don't think I buy this slippery slope argument since there is already a hard protocol difference between coinbase and non-coinbase outputs (coinbase outputs appear in special transactions in the block and have amounts encoded in tx prefix even when version > 1).
-
Rucknium[m]
Safety factor of 2.5? Is that in the github issue somewhere?
-
chaserene
hyc: I agree speeding up IBD is good, but not sure how it's related to the problem caused by the 10-block lock
-
rbrunner
Well, 5 blocks are still 10 minutes, which won't make all people happy anyway.
-
hyc
chaserene: not related. IMO the 10-block issue needs to be dropped and forgotten.
-
hyc
let the wallets deal with the UX.
-
UkoeHB
Rucknium[m]: with a typical reorg depth of 2-3, we get a safety factor of at least 2.5
-
chaserene
Rucknium[m]: I think he means that all the reorgs we see are 2-4 blocks deep
-
rbrunner
With years between 4 block reorgs, right?
-
hyc
decreasing the 10-block lock is foolish, if not totally reckless.
-
Rucknium[m]
PocketChange and similar solutions probably reduce privacy. Consolidating pocketchange can improve guessing probability of real spends.
-
chaserene
I don't know, those reaorgs don't have a clear date to them in the logs
-
hyc
you will just have to estimate based on the logfile names
-
hyc
and perhaps the line numbers in each logfile
-
hyc
Rucknium[m]: I suppose this is the same problem we have from churning
-
Rucknium[m]
Maybe some similarities with churning
-
UkoeHB
jeffro256[m]: I’m not convinced, you can use any distinction to make an anonymity puddle. Whether the cause is a protocol rule or a user behavior, the result is the same in terms of privacy.
-
Rucknium[m]
PocketChange consolidation is basically this problem: Borggren, N., & Yao, L. (2020). "Correlations of multi-input Monero transactions."
moneroresearch.info/index.php?action=resource_RESOURCEVIEW_CORE&id=57
-
hyc
yeah, understood
-
Rucknium[m]
There is a warning in wallet2 when you spend two real spends that are close to each other in age...and both old, IIRC
-
chaserene
<Rucknium[m]> "PocketChange and similar..." <- yes, I really didn't like how the Monerujo dev didn't mention at all the privacy tradeoff
-
chaserene
in their announcements
-
UkoeHB
We are approaching the end of the meeting, are there any last-minute questions or comments on other topics?
-
Rucknium[m]
If coinbase outputs are not excluded from rings, then ring size should be increased to compensate for the number of black marbles that coinbases create
-
Rucknium[m]
Maybe "proportion" is a better term than "number". Since coinbase outputs are included in proportion to their prevalence in recent blocks
-
hyc
since we want to increase ringsize to N=128 or more anyway, just do that
-
Rucknium[m]
The formula would be...something...to nominal ring size be equivalent to effective ring size at a particular (lower) ring size.
-
Rucknium[m]
This issue with coionbase outputs was brought up months ago and there were no strong objections. I asked what the next step were...and nothing
-
jeffro256[m]
Doesn't matter if ring size is 128, there's still X% of ring members which are coinbase when spending non-coinbase. Why not remove those ring members for free?
-
Rucknium[m]
So there is a problem with the decisionmaking process here
-
Rucknium[m]
jeffro's work is a sunk cost, of course. We don't have to do it just because the sunk cost was expended
-
rbrunner
Removing is not "free", you rise the complexity of the system overall, and the codebase
-
jeffro256[m]
<UkoeHB> "jeffro256: I’m not convinced..." <- You could say the same thing about pre-RCT decoy selection selecting outputs of the same amount. It creates puddles, but that's alright because the alternative is that cross contamination reduces effective rign size
-
rbrunner
The protocol becomes one wart more, to put it aggressively ...
-
rbrunner
*gets
-
Rucknium[m]
Of course, further research and analysis can uncover issues that were not considered before
-
Rucknium[m]
This is an unavoidable curse of ring signatures. This overall problem was written when the Cryptonote paper was released
-
Rucknium[m]
Everyone has accepted this problem
-
rbrunner
Maybe "everyone" is a bit much :)
-
Rucknium[m]
There are some protocols that ignore these ring signature problems, e.g. Zano and Mobilecoin. I hope Monero does not become one of them
-
Rucknium[m]
What I mean is Monero was born with this problem. By trying to improve Monero, you accept that the system is imperfect
-
rbrunner
Ah, ok, I see
-
UkoeHB
jeffro256[m]: overall I’m not against it being a wallet feature, but we should keep in mind the trade offs and dangers
-
UkoeHB
We are past the hour so I’ll call it here, thanks for attending everyone
-
jeffro256[m]
Agreed, thanks for letting me bounce ideas off you
-
hyc
just a note on reducing the 10-block lock - you should expect to see a nonlinear, hysteresis effect. not many multi-block reorgs because everyone knows attacking the 10-blocks is too hard.
-
hyc
but as that number comes down, the feasibility of attack will make reorg frequencies increase beyond the rates we see now
-
jeffro256[m]
That's a good point that I didn't think about
-
chaserene
hyc: yes, I agree that this is what would happen. the unknown that is the hash power at the sidelines
-
chaserene
that's why I'd support only a very minor reduction, to slowly map out tde terrain that's right now unseen
-
jeffro256[m]
What would be cool is to have a way to sign an incomplete transaction, missing only the decoys, and send that to a trusted daemon. Upon a reorg X-block-lock deep, the daemon can reconstruct the complete transaction by filling in the decoys and broadcast that transaction instead. Doesn't solve the key image leak problem, but it would increase availability, making those attacks against the network less fruitful
-
UkoeHB
jeffro256[m]: with seraphis you can delegate membership proofs
-
jeffro256[m]
Absolutely based, that also fixes cold signing transaction with old decoys
-
hyc
chaserene: the problem with mapping out the terrain is when you reach the limit you've just tanked a $3billion network
-
jeffro256[m]
For long term storage
-
jeffro256[m]
hyc: And a psychological effect like that could be very discrete. You would not necessarily see any signs of breakage until you lower it by just one block and then deeper reorgs pop up left and right
-
chaserene
hyc: fair enough
-
chaserene
jeffro256[m]: yes, the discreteness of it probably makes it especially to do it safely
-
chaserene
* hard
-
ofrnxmr[m]
Its a wallet side ux issue that exists as long as we use rings
-
jeffro256[m]
Or even full membership proofs, depending on the implementation
-
ofrnxmr[m]
I describes an easy to implement wallet sideux feature that gets around it (lockd funds) in probably 99% of cases with minimal privacy reductions from consolidstionsb
-
chaserene
ofrnxmr: I'm interested in reading it, where did you publish it?
-
hyc
I think the safety issue would go away if txns referenced outputs by their 32byte hash instead of their 8byte output index
-
ofrnxmr[m]
twitter
-
hyc
then most txns remain valid even after a reorg, as long as they're still mined in the new chain too
-
UkoeHB
hyc: the safety issue is that a malicious double-spender can remove their own enotes from the ledger, invalidating txs that reference them as decoys
-
hyc
ah, right
-
nacrox
i didnt receive a transactions. can someone help me?
-
ofrnxmr[m]
Monero please and thanks
-
jeffro256[m]
Or #monero-support:monero.social
-
kayabanerve[m]
Rucknium @rucknium:monero.social: There's a few disagreements on how to move forward and a lack of available development
-
chaserene
kayabanerve: what do you mean by "available development"?
-
kayabanerve[m]
chaser: Have you implemented SNARKS yet?
-
kayabanerve[m]
That's what I mean :p
-
kayabanerve[m]
Few people here can and no one has published work yet.
-
kayabanerve[m]
I will ask chaser: and Rucknium @rucknium:monero.social: to not contact Bailey at this time though.
-
kayabanerve[m]
I don't believe Bailey is an appropriate fit to contact, unless you just want to contact any researcher in the field. Then sure, they're intelligent, knowledgeable, and security focused. Great.
-
kayabanerve[m]
They have no direct relation to our needs though. The Curve Trees authors would be a much better choice.
-
chaserene
kayabanerve: I haven't implemented any of them yet. I suppose that means none of the existing circuits are a fit for Monero?
-
kayabanerve[m]
I'd also ask y'all don't reach out to them though. I've already done so with some replies. I'm still weighing how I want to move forward there, and will sync with the Monero community when I have a path worth discussing.
-
kayabanerve[m]
(Or sure, you can be independent and do so. I just don't want to reach out twice and potentially be a bother. That doesn't justify me monopolizing them)
-
kayabanerve[m]
To be very blunt, and I'm sorry if I'm too rude as I do, if you're asking that question you shouldn't be reaching out to anyone to organize anything.
-
kayabanerve[m]
I don't hold that against you. It just reiterates few people can discuss this at this time, and that limits bandwidth. I appreciate you trying to add bandwidth though.
-
kayabanerve[m]
If you do want to try to help, I'd say reading the entire issue, top to bottom, is sane (unlike the TX extra issue which isn't worth the time).
-
kayabanerve[m]
There are circuits and proofs which are a fit. We need implementations.
-
chaserene
kayabanerve: okay, noted, and don't worry. I appreciate both your contributions and your honesty
-
kayabanerve[m]
narodnik has commented on this work. So have I. There's mutual interest with Firo. jberman @jberman:matrix.org: has bullied me ad infinitum to do it.
-
kayabanerve[m]
I'm planning to present, at Monerokon, on this topic, and with it, sync everyone on status. While private/closed doors/black box of me, I'd personally appreciate the opportunity.
-
kayabanerve[m]
To at least start that process now, Curve Trees requires a modified BP, which there isn't a formal protocol for nor security proof of. I realized this about a month ago and reached out to the authors asking if they'd be interested in doing so.
-
chaserene
kayabanerve[m]: sounds great, looking forward to that
-
kayabanerve[m]
They replied with the underlying statements necessary to use Bulletproofs to prove, yet not a protocol using Bulletproofs to do so (though they do have a modified PoC which one can be extracted from).
-
kayabanerve[m]
They aren't interested in further work on it at this time, from my understanding.
-
kayabanerve[m]
Or rather, they weren't planning to do further work at this time. I've been personally considering explicitly offering funding to do so, as they may be interested if they have the opportunity, yet I'm unsure that'd be optimal at this time. I need to sync with a few people who may be willing to pick it up themselves.
-
kayabanerve[m]
And because I haven't done such syncing, I don't feel a need to get everyone's opinion. If anyone has contributing opinions, I'd love to hear them. I just know this aspect is semi-needed (there is a much simpler workaround with much worse performance), so from my perspective, moving forward requires either making the alternative's performance acceptable OR finding someone to do the work. I'm uninterested in trying to organiz
-
kayabanerve[m]
authors, or trying to find and organize funding for distinct researchers, when I may be able to arrange for that work to be done myself via another angle.
-
kayabanerve[m]
If the other angle doesn't pan out, then we have to evaluate how much worse worse performance is and discuss community organization of research/fundraising. I would absolutely bring that up, likely initially involving MAGIC. I just haven't brought it up since we're now all spending time on it when it's just another few messages I have to follow up right now.
-
kayabanerve[m]
(Though yes, there's now reason since others are trying to move forward, which I appreciate :) Just clarifying I have been moving forward. there's just angles and intricacies. I should have a proper summary/path for the community by my self-imposed deadline of Monerokon)
-
kayabanerve[m]
And if I didn't have such a deadline, yes, I would've commented much earlier. I'm not trying to prevent other people from hopping in. Solely trying to get some bones down so we don't waste time when we move forward, since I have a definitive time to make such bones or fail to do so.
-
chaserene
I think that's all very valuable, thank you for sharing 🙏
-
kayabanerve[m]
(There is also a variety of other research aspects. That's my primary WIP rn)
-
kayabanerve[m]
Further cc: kowalabearhugs- monerobull: tevador:, and I'm already privately syncing with narodnik and a few other parties.
-
kayabanerve[m]
Koe/vtnerd/others would likely also be interested. I just have no actionable reasons to draw them in now, nor am I considering drawing them in yet.
-
monerobull[m]
Llama summarize
-
kayabanerve[m]
Literally just I have been privately working on organizing SNARKS a bit more, have nothing worth discussing with the community at this time, and am requesting until Monerokon to present my findings on research and steps forward. That may involve MAGIC/the community coordinating research funding. You were pinged due to that aspect.
-
Rucknium[m]
kayabanerve: You are still thinking of it as a software engineering problem instead of as a math problem
-
Rucknium[m]
No security proofs yet? Can't move forward without them. At least, cannot go to mainnet without them
-
kayabanerve[m]
Rucknium @rucknium:monero.social: I literally said I contacted the authors to ask them about their work, and inquired if they'd formalize/prove it.
-
kayabanerve[m]
My entire commentary was about getting it proven.
-
kayabanerve[m]
I also said there was an alternate which wasn't so invasive, just with much less performance. If we can't get the former proven, I'd put forth proving the vastly inferior option.
-
kayabanerve[m]
If we can't prove either at this time, then we'd know the obstacles and leave them to be worked on. I never once suggested deploying unproven protocols. I solely discussed getting the protocols proven.
-
Rucknium[m]
Thanks. Your summary makes it more clear what your plan would look like.
-
kayabanerve[m]
Sorry for being so defensive here. The reason I wanted to wait to post my conclusions, with an explicit path forward already clear, was to avoid these discussions/criticisms/concerns. I do plan to properly comment on the proofs, the protocols, the algorithms, the security of each component, and what they each need. Any in-development view would be partial, as my initial commentary here was. It's frustrating for me that as I
-
kayabanerve[m]
commenting, to prevent seeing wasted efforts, I now have these concerns raised.