-
UkoeHB
Meeting .75hr
-
UkoeHB
-
UkoeHB
1. greetings
-
UkoeHB
hello
-
gingeropolous
hi
-
rbrunner
Hello
-
jberman[m]
Hello
-
Rucknium[m]
Hi
-
vtnerd
hi
-
UkoeHB
2. discussion, what is everyone working on?
-
kayabanerve[m]
👋
-
vtnerd
rmq support for lws (completed), and noise protocol for daemon p2p
-
Rucknium[m]
me: The OSPEAD estimator should get closer to the true value as N increases, but when I push the number of rings from 200,000 to one million its accuracy seems to plateau. I am troubleshooting this.
-
Rucknium[m]
Research community resources: WIKINDX, which powers moneroresearch.info , is going to enable "AND" as default in QuickSearch by my request. That's a small step toward better search for users:
sourceforge.net/p/wikindx/discussion/888681/thread/1fcdd20630
-
kayabanerve[m]
I jotted down some theoretical improvements to FCMPs, but nothing much on my end.
-
gingeropolous
i think i've finally made 100% of the available silicon in the research computing cluster accessible for R&D (280 threads total). random reminder that the resource is available for anyone who would find it useful.
-
UkoeHB
me: I spent a short time working on the eclib abstraction before concluding that the project of switching everything to a new curve is too immense on every dimension (at least for me to handle). I am now on hiatus from Monero work, so someone else should start leading the meetings.
-
jberman[m]
Me: no update on my end, just returned from traveling. Looking to start making headway on full chain membership proof integration over the next week
-
Rucknium[m]
I am working on an API to integrate the MAGIC Monero Fund's fundraisers (monerofund.org) into Feather Wallet like CCS fundraisers are.
-
kayabanerve[m]
gingeropolous @gingeropolous:libera.chat: How much storage is available?
-
gingeropolous
14TB SSD, 74TB HDD
-
vtnerd
gotta run, sadly
-
Rucknium[m]
To be blunt: Is it a good idea to use CCS funds to work on software where we don't know if the Curve Trees protocol is secure yet? Or is this part of the SeraiDEX labor exchange?
-
UkoeHB
thanks for the update vtnerd
-
kayabanerve[m]
I may ask to generate and store a couple hundred GB data set in the future...
-
kayabanerve[m]
Rucknium @rucknium:monero.social: The Serai "labor exchange" only went up to a post I made months ago on GH.
-
kayabanerve[m]
Further contributions by jberman have been at my financial guarantee. All code has been done by my effective volunteering so far, though I do plan a CCS for past and one for future, with its timeliness paid for by a distinct exchange I made with jberman @jberman:matrix.org
-
kayabanerve[m]
As for if the CCS should host it... I don't see how it's distinct from anything it funds under Seraphis. This work explicitly delineates where it's unproven, and seeks said proofs with an explicit issue tracker. Part of the CCS would be to ensure its security.
-
UkoeHB
3. discussion, what to discuss today?
-
kayabanerve[m]
While it isn't guaranteed to be deployed, as Seraphis effectively is, I don't see a world in which we don't transition from either CLSAG or Grootle to it.
-
Rucknium[m]
Ok. I have also brought up the same issue about Seraphis for months. Maybe a year. We need security proofs.
-
kayabanerve[m]
Or if not this exact impl, the same underlying theory with the same underlying research which is currently optimal.
-
Rucknium[m]
Triptych has security proofs published in a peer-reviewed outlet.
-
Rucknium[m]
I see a world: It's not proven secure.
-
Rucknium[m]
Proofs are hard
-
ofrnxmr[m]
kayabanerve[m]: Ccs is fine
-
kayabanerve[m]
Sure. Part of further efforts on this work is ensuring security. I promise you it's tracked and important to me. I don't believe questioning if the CCS should fund it is appropriate when part of the CCS funding would be to prove the security. If you're unhappy with the timeline on the CT work, believing specific security sections should be done sooner than latter, I'd ask you to call that out on specific proposals. Not
-
kayabanerve[m]
question CCS funding entirely.
-
UkoeHB
kayabanerve[m]: CT historically means Confidential Transactions, maybe a different abbreviation would be better (or just don't abbreviate)
-
Rucknium[m]
I was asking about jberman's current CCS work, not a future one. Of course, work priority can change in the course of a CCS. But proposed priority changes can be given feedback here
-
gingeropolous
ah, is it curve trees?
-
ofrnxmr[m]
Oh i was referring to future kaya ccs'
-
UkoeHB
gingeropolous: yeah
-
Rucknium[m]
I would love to see a CCS that funds work on security proofs for...anything we have on the table. That includes Seraphis, BP++, and Curve Trees.
-
UkoeHB
BP++ already has a CCS for review of the paper that hasn't been fully published yet
-
kayabanerve[m]
Rucknium[m]: Ah, sorry, missed that context.
-
Rucknium[m]
There's no security proof in that paper. Can't review what's not there
-
kayabanerve[m]
UkoeHB: Thanks for the reminder
-
Rucknium[m]
This isn't a theoretical risk. A zero-knowledge protocol was recently discovered to be flawed:
zksecurity.xyz/blog/posts/nova-attack
-
jberman[m]
plowsof @plowsof:libera.chat is currently on the hunt to find a suitable party to do security proofs for Seraphis
-
kayabanerve[m]
Rucknium @rucknium:monero.social: Agreed re: Seraphis.
-
kayabanerve[m]
Right now, Sarang, funded by Firo, is working on the VC scheme as their hours allow. That'd include a proof.
-
Rucknium[m]
Can you type out your acronyms? VC?
-
kayabanerve[m]
*that second part is referring to ensuring the security of curve trees which requires BP(+) be modified with a vector commitment scheme.
-
Rucknium[m]
Ok
-
Rucknium[m]
That's good. Recently I've seen carts being put before horses and all problems looking like nails when we all we have is hammers.
-
gingeropolous
what materials would an individual need that was going to embark on security proofs on seraphis?
-
gingeropolous
for Seraphis.
-
UkoeHB
-
Rucknium[m]
IIRC part of koe's current CCS is to get the Seraphis paper to a place where someone could continue the work into writing security proofs
-
gingeropolous
thanks UkoeHB .
-
UkoeHB
Rucknium[m]: I already did it
-
kayabanerve[m]
Rucknium @rucknium:monero.social: I asked Firo to collaborate, noting specifically the VC scheme and proof, over a month ago.
-
kayabanerve[m]
Just to clarify that as we've had theoretic changes, I have followed up re: security. I didn't do this whole thing and then say we'll get security later.
-
UkoeHB
gingeropolous: there are also coinstudent2048's writeups which may be a useful reference/head start
github.com/coinstudent2048/writeups
-
Rucknium[m]
UkoeHB: Great. What is the next step? I assume sarang would be a good person to write the proofs, if he would be willing, since his work with Firo has some similarities.
-
UkoeHB
Rucknium[m]: like jberman[m] said, plowsof is already looking for suitable parties
-
UkoeHB
ok are there any other topics? otherwise we can wrap it up
-
gingeropolous
the agenda had that 10 block lock thing ....
-
Rucknium[m]
kayabanerve: Do you think the 10 blocks can be reduced with Curve Trees? The threat model would be different than a decoy-based model when there are deep re-orgs.
-
UkoeHB
10 block lock is not something that should be hyper-optimized. If you reduce it too much, that might open the floodgates to attacks.
-
Rucknium[m]
Myself and another researcher may look into the privacy issues with Monerujo's PocketChange (and similar application-level ways to deal with 10 block lock).
-
kayabanerve[m]
Rucknium @rucknium:monero.social: Arguably? But it's indirect.
-
UkoeHB
Rucknium[m]: 10 block lock mitigates the case where a reorg invalidates txs unaffiliated with the reorger
-
kayabanerve[m]
With a merkle tree structure, you can choose a root from 10 blocks ago or choose the most recent root.
-
kayabanerve[m]
(If we allow it (
-
UkoeHB
reorgs would be much more impactful if txs used full chain membership proofs, not less impactful
-
kayabanerve[m]
If you choose the most recent root, you're at risk of reorg, and you dox you're spending something from the last ten blocks
-
kayabanerve[m]
BUT your privacy set is all of the last 10 blocks which is decent. That's the one benefit
-
kayabanerve[m]
UkoeHB: AFAIK it's effectively the same.
-
Rucknium[m]
the 10 lock lock prevents some adversarial inference of the true spend in a decoy model. AFAIK, there isn't really that problem with Curve Trees, except maybe that your wallet is using the most updated merkle tree at X most recent block height
-
gingeropolous
yeah. it might be that for "select membership proofs" (of which current and seraphis are parts) might just need that 10 block lock, but perhaps the new general membership proofs don't need it
-
kayabanerve[m]
You used to reorg if decoys shifted at all. Now you reorg if a tree root no longer exists.
-
kayabanerve[m]
It's probably easier to detect if a TX is incompatible under merkle trees.
-
UkoeHB
kayabanerve[m]: it is worse because a reorg will invalidate all txs referencing a merkle root above the reorg point. With ring sigs, you will only invalidate txs with ring members above the reorg point, which is likely to be some proportion of all reorged txs.
-
Rucknium[m]
By default, won't all wallets use an updated merkle tree? So your true spend would not be able to be inferred
-
kayabanerve[m]
... Right but don't we heavily weight the most recent TXs? Isn't that likely?
-
UkoeHB
Rucknium[m]: no, 10 block lock is a security measure not a privacy measure
-
Rucknium[m]
tx invalidation is not the same as revealing the real spend. Different problems IMHO
-
kayabanerve[m]
jberman @jberman:matrix.org: What are the odds a new TX has a ring member from the most recent 20 blocks?
-
UkoeHB
kayabanerve[m]: yes but proportionally, merkle root invalidation is more impactful
-
kayabanerve[m]
Doesn't the algorithm explicitly weight 10-25?
-
Rucknium[m]
UkoeHB: That's not what you said in the GitHub issue about it
-
kayabanerve[m]
UkoeHB: Marginally, sure.
-
UkoeHB
marginally is all that matters here...
-
UkoeHB
Rucknium[m]: link it...
-
jberman[m]
Also on the margin, any decoys in your chosen ring could be invalidated and weaken your final chosen ring on chain
-
Rucknium[m]
-
UkoeHB
jberman[m]: if you resubmit
-
Rucknium[m]
> This weakens those users' ring signatures. To prevent that weakening, the 10-block-lock time is enforced. This way all decoys in a tx input are plausibly the real spend.
-
Rucknium[m]
AFAIK, no other blockchain is paternalistic with the "tx invalidation" issue. Other blockchains allow users to determine the number of confirmations they accept
-
kayabanerve[m]
Right, so FCMPs solve the privacy issues yet maintain reorg risk.
-
UkoeHB
-
Rucknium[m]
A 51% attack for double spends has invalidated txs. That's the point.
-
gingeropolous
FCMPs.....
-
Rucknium[m]
kayabanerve: That's my hypothesis
-
UkoeHB
privacy impact is an advantage, security is the original reason
-
kayabanerve[m]
And anything spent within the most recent 10 blocks would definitively reveal it's within the most recent 10 blocks (if anything outside defaults to the 10 block old root)
-
kayabanerve[m]
gingeropolous @gingeropolous:libera.chat: Full chain membership proofs.
-
kayabanerve[m]
But, since it's a FCMP, those 10 blocks still probably exceed 128, right? And it's safe to re submit.
-
kayabanerve[m]
Not to dismiss the reorg risk, to say privacy may be 'resolved'.
-
gingeropolous
yeah i thought the main concern was privacy implications of the re-org, not the re-org itself
-
jberman[m]
kayabanerve: I don't remember offhand but I would be mildly surprised if over 20% of txs have ring members from the last 20 blocks
-
kayabanerve[m]
Regardless of original reasons, once we have FCMPs slated, we may want to re-evaluate privacy and security risks.
-
kayabanerve[m]
Huh. I thought it'd be much higher. Never mind on my "marginally" then.
-
UkoeHB
it's still marginal, the margin is just quite large
-
Rucknium[m]
Yes. What is the benefit to an adversary of invalidating txs that they don't have the spend keys for (i.e. cannot perform a double-spend)? Just vandalism?
-
kayabanerve[m]
DoS, yeah.
-
kayabanerve[m]
I will note Zcash didn't implement a lock AFAIK and seems to do fine. I have no idea their root selection policy though (10 blocks back, 5 blocks, most recent...)
-
UkoeHB
lack of an attack is not proof of security
-
kayabanerve[m]
Agreed. It is potential evidence on the financial incentive to perform such DoSs though.
-
Rucknium[m]
Curve Trees, if implemented, would have much less (if any?) privacy issues with a PocketChange implementation to get around the 10 block lock, so it has that to its advantage.
-
rbrunner
If you can bring down a cryptocurrency with just filling blocks with large transactions, you don't anything sophisticated ...
-
rbrunner
*you don't need
-
gingeropolous
so FCMP could solve the 10 block lock issue either directly or indirectly ... ?
-
gingeropolous
because I don't know if we'll ever have enough data to convince ourselves to lower it while using ringsigs (select membership proof). is there a better name for that, or just call it ring sigs?
-
jberman[m]
Leaving a vector open to make Monero unusable via consistent 1-2 block reorgs wouldn't be great (for wallets that select from the most recent 1-2 blocks)
-
gingeropolous
oh its only sending some of my message to matrix
-
gingeropolous
so FCMP could solve the 10 block lock issue either directly or indirectly ... ?
-
Rucknium[m]
Writing up the results from applying the Double Spend Races formula hasn't been a priority (doesn't seem time-sensitive), so I haven't done it. But what I've seen is that if the adversary has enough hashpower to re-org 5 blocks with non-negligible probability, then they have close to enough hashpower to re-org 10 blocks
-
UkoeHB
imo the only real solution to 10-block-lock is allowing no-membership-proof inputs, but that is a contentious idea for sure
-
kayabanerve[m]
Rucknium @rucknium:monero.social: I'm hearing we should raise to 100? /s
-
Rucknium[m]
koe throwing a rabid chicken in there at the end. (I dont know what no-membership-proofs would imply)
-
UkoeHB
ok that's the end of the hour, thanks for attending everyone :p
-
kayabanerve[m]
FCMPs solves the privacy issues around allowing new output's to be used. It also solves the privacy on pocket change. It does nothing for security against reotgs. That's the summary.
-
kayabanerve[m]
No privacy on spent output @ruckUkoeHB
-
kayabanerve[m]
* Rucknium @rucknium:monero.social:
-
kayabanerve[m]
No idea how my phone butchered that so much, sorry
-
jberman[m]
gingeropolous @gingeropolous:libera.chat: and PocketChange doesn't fully solve the 10 block lock issue 1) when on boarding would still have to wait 10 blocks, and 2) you have to have enough "pocket change" leftover to make another follow-up tx
-
jberman[m]
"Mythical L2" is also another avenue :)
-
ghostway[m]
<Rucknium[m]> "Curve Trees, if implemented..." <- Can you share the paper?
-
ghostway[m]
For Pocket change
-
kayabanerve[m]
PC just refers to creating a 16-out TX.
-
kayabanerve[m]
It sucks for privacy as it ends up merging back :/
-
Rucknium[m]
-
ghostway[m]
Thanks!
-
r4v3r23[m]1
<kayabanerve[m]> "PC just refers to creating a 16..." <- pocketchange is 10-out
-
kayabanerve[m]
*many-output TX
-
r4v3r23[m]1
its not 16
-
kayabanerve[m]
*many-output
-
r4v3r23[m]1
cool
-
kayabanerve[m]
It's not 16 in Monerujo. ACK. Thanks for the heads up :)
-
r4v3r23[m]1
whats the "privacy preserving" way to do pocketchange?
-
r4v3r23[m]1
if it exists
-
gingeropolous
never recombine your change
-
r4v3r23[m]1
so the initial split outputs still retain privacy?
-
r4v3r23[m]1
sound like the wallet has to do a lot of extra work behind the scenes to make sure it doesnt fuck up
-
kinghat[m]
not sure if related but might be an issue in near future:
matrix.org/blog/2023/07/deportalling-libera-chat
-
selsta
should not be an issue, we have a proper room
-
selsta
it might be an issue for some users who use matrix as an irc bouncer to connect to libera.chat directly, but it should not be an issue for monero channels because we have plumbed rooms that remain unchanged