-
m-relay
<rucknium:monero.social> MRL meeting here in one hour.
-
Rucknium
-
Rucknium
1) Greetings
-
m-relay
<vtnerd:monero.social> Hi
-
rbrunner
Hello. Given the number of 888, this will be one lucky meeting.
-
m-relay
<dangerousfreedom:matrix.org> Hello
-
Rucknium
2) Updates: What is everyone working on?
-
Rucknium
me: N block lock analysis (scope expanded). Identifying nonstandard fees on the blockchain (analysis is paying off).
-
Rucknium
Announcements: CCS Retroactive funding for Full Chain Membership Proofs is expected to be decided by the end of the week:
repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/403
-
m-relay
<compdec:matrix.org> I'm continuing on EAE stuff, hoping to hear more about my submission soon.
-
m-relay
<vtnerd:monero.social> I've got SSL+p2p coded up, including optional authentication, but there's still at least 1 bug for me to track down
-
Rucknium
-
Rucknium
-
Rucknium
-
Rucknium
compdec: by "hoping to hear more about my submission soon" do you mean "hoping for feedback soon"?
-
m-relay
<compdec:matrix.org> yeah, Justin seems to want more before considering the milestone is completed, but I can only guess at that
-
Rucknium
3) Discussion. plowsof added two agenda items to the meeting GitHub issue:
-
Rucknium
"BP++ peer review: Do we return to cypherstack saying "yes, the out of scope things are fine, what are the next steps now"
gist.github.com/plowsof/534778636eca474951e4661507cdc205 "
-
Rucknium
"Seraphis: this draft scope of work to make the papers(s) complete will be used to approach auditors for quotes unless someone states something is missing
gist.github.com/plowsof/8cb33e2efe4bf0239927ad3bd92326e0 "
-
m-relay
<compdec:matrix.org> I'll update the document by Friday with more progress
-
Rucknium
compdec: Thanks.
-
Rucknium
Anyone have opinions about the BP++ peer review scope?
-
rbrunner
Pretty much out of my depth here ...
-
Rucknium
Me, too.
-
Rucknium
-
rbrunner
I guess we can agree on "Multi-asset transactions" being out of scope. We don't have multiple assets, and probably never will, if I understand "assets" correctly
-
rbrunner
(as something like different "coins" also living on the Monero blockchain)
-
Rucknium
The scope looks reasonable to me, but I don't know much about cryptography at this level.
-
Rucknium
I think plowsof was seeking input from tevador at least.
-
Rucknium
What about the Seraphis draft scope of work?
-
rbrunner
Pass :)
-
m-relay
<dangerousfreedom:matrix.org> At least the batch verification of bp++ should be done, right?
-
rbrunner
I think talk was it would be good to have, but well, if the paper is light on details? "it provides no details on the corresponding algebra"
-
Rucknium
That would be asking Cypherstack to develop the math for batch verification. That's different from reviewing what's already in the paper. It could be requested, maybe.
-
m-relay
<ghostway:matrix.org> If it doesn't slow you down, do you have a mid-analysis report? Sounds interesting
-
rbrunner
Sounds reasonable
-
Rucknium
Biu then they cannot review their open implementation
-
m-relay
<dangerousfreedom:matrix.org> Oh okay, sorry. I didnt read the bp++ paper yet
-
Rucknium
But*
-
Rucknium
own implementation*
-
plowsof
The seraphis scope of things to be done has the approval of those who made it (kayaba/koe/jberman)
-
Rucknium
ghostway: I will post a gist about the fee analysis after the meeting. I don't have much about N block lock ready to go. Mostly just the table of attack success probabilities. Rosenfeld (2014) already has that for N <= 10.
-
m-relay
<dangerousfreedom:matrix.org> Where can I find the link of the c++ implementation of bp++ ?
-
Rucknium
-
m-relay
<ghostway:matrix.org> Ok
-
m-relay
<ghostway:matrix.org> Is how to do the swap (in the bounty) already closed? Or are there problems still
-
rbrunner
Are you asking about the BCH-XMR swap?
-
m-relay
-
m-relay
<vtnerd:monero.social> There's links in the post to the pr requests
-
m-relay
<ghostway:matrix.org> Yep rbrunner
-
Rucknium
ghostway: bitcoincashautist has not claimed the bounty by executing his swap on the mainnets. I'm not sure why.
-
m-relay
<ghostway:matrix.org> Huh
-
Rucknium
We would need a knowledgeable person to review the swap after it happened to make sure it is truly atomic.
-
Rucknium
-
Rucknium
"There's a 10 XMR bounty for the implementation! Feel free to go for it using my contract, you don't owe me anything."
-
m-relay
<ghostway:matrix.org> That's odd
-
m-relay
<dangerousfreedom:matrix.org> Thanks. So what is being done is just a theoretical review of the bp++ paper ? We still need to implement it using our curve?
-
Rucknium
dangerousfreedom: AFAIK, it's just a review of the mathematics. Not a code audit.
-
m-relay
<vtnerd:monero.social> Correct. The paper initially had no peer review, not sure about the latest iteration
-
Rucknium
The authors submitted it to a conference earlier this year, but it didn't make it in.
-
m-relay
<dangerousfreedom:matrix.org> Okay, thanks. Someone is working on implementing it to be used in Monero?
-
Rucknium
IIRC, we don't know if BP++ is compatible with kayabaNerve's Full Chain Membership Proofs proposal.
-
rbrunner
Didn't vtnerd go the way at least in part?
-
m-relay
<kayabanerve:matrix.org> BP++ supports ACs.
-
m-relay
<vtnerd:monero.social> Yes I did, but I stopped as I couldn't figure out the last part, without just blindly copying the c variant
-
Rucknium
kayabaNerve: does that mean they are compatible?
-
m-relay
<kayabanerve:matrix.org> The issue is that Curve Trees requires a VCS on top of a R1CS AC proof, and the only known applicable VCS is an unproven one for BPs (if you ignore my hack).
-
m-relay
<vtnerd:monero.social> And I think at least one portion of the c/blockstream variant had an unnecessary calculation in it, but who knows
-
m-relay
<kayabanerve:matrix.org> sarang is currently researching a VCS for BP+, one of the reasons being BP++ argues its norm argument reduces to BP+'s weighted inner product argument, which BP+ in turn argues can be used in place of BP's inner product argument.
-
m-relay
<dangerousfreedom:matrix.org> Okay, cool! Thanks vtnerd ! Hopefully I will find some time this year to read the paper (and the code if ready)
-
m-relay
<kayabanerve:matrix.org> So BP++ has the bones, an extra piece is needed, sarang is researching that piece for BP+, that piece for BP+ likely helps development of a similar piece for BP++.
-
Rucknium
Thanks for explaining, kayaba
-
rbrunner
Who finances that research?
-
m-relay
<kayabanerve:matrix.org> Though of course, FCMPs can use BPs while range proofs use BP++s.
-
m-relay
<kayabanerve:matrix.org> rbrunner: Right now, Firo.
-
rbrunner
Ah, ok, thanks.
-
m-relay
<kayabanerve:matrix.org> It's part of the collaboration I orchestrated prior to and at Monerokon.
-
rbrunner
Yeah, yeah, I think I remember now.
-
Rucknium
kayabaNerve: iI the scope on the BP++ peer review satisfactory to you?
-
rbrunner
At least not in immediate danger of more "retroactive funding" drama, right?
-
Rucknium
More discussion? (If not, I can talk about N block lock and nonstandard fee analysis.)
-
Rucknium
My question is "What does Monero gain from having a 10 block lock instead of a 9 block lock? What does it lose from not having an 11 block lock?"
-
m-relay
<kayabanerve:matrix.org> Rucknium: I don't know what the scope is, sorry
-
Rucknium
-
Rucknium
gist.github.com/plowsof/534778636eca474951e4661507cdc205 is the modifications to the scope after they looked at the paper
-
Rucknium
I thought for a complete analysis we would want to know the security budgets of PoW coins that have had malicious deep block reorgs. Then compare with Monero's security budget.
-
Rucknium
A coin's "security budget" is the coin unit's purchasing power multiplied by its block reward emission to miners. endor00 and I are starting to gather that data.
-
m-relay
<dangerousfreedom:matrix.org> I add to your question, should the lock time be a wallet feature?
-
m-relay
<kayabanerve:matrix.org> Feedback is sane. IIRC, the binary range proofs (optimized or not) don't need to be in scope as the way BP++ achieves its range proof perf is via a hexadecimal base.
-
Rucknium
Block time be a wallet feature? It used to be default in wallet2, but not consensus. Then it was changed to consensus since some wallet software did not use the N block lock.
-
m-relay
<kayabanerve:matrix.org> dangerousfreedom: Considering it's a security function which would be a mess for opt-in wallets to track if wallets can opt-out, I'd vote no.
-
m-relay
<ghostway:matrix.org> Is it actually about double spending or is it about reorderingm
-
m-relay
<ghostway:matrix.org> ?
-
Rucknium
It's about lots of things.
-
m-relay
<kayabanerve:matrix.org> To be clear on BP++, as my only other comment, it sounds infeasible to scope MPC at this time. That should be dropped, which it sounds like it may have been?
-
m-relay
<kayabanerve:matrix.org> It's mainly about the chain reaction as one TX being reordered invalidates all future TXs, AFAIK
-
Rucknium
It prevents maliously double spends. Also, since ring members in Monero are referenced by index number in the chain and rings that reference outputs that are no longer in the chain are invalid, a deep re-org can invalidate txs completely.
-
m-relay
<kayabanerve:matrix.org> Though also, I retract my comment on wallet implementation difficulties. I didn't think it through, yet I think we could make it opt-in/opt-out...
-
m-relay
<ghostway:matrix.org> That's what I guessed, making decoys invalid and reducing the ring size
-
m-relay
<kayabanerve:matrix.org> Whether or not we should remains a discussion, just not impeded by wallet dev complexity.
-
Rucknium
Two issues on the 10 block lock:
monero-project/research-lab #95
-
Rucknium
-
m-relay
<dangerousfreedom:matrix.org> I remember when you needed 6 confirmations in bitcoin to get a transaction accepted on an exchange for example. Today there are some that accepts even with 1 confirmation. I guess the limiting factor would be the hashing power of the network then? Is there any studies to correlate with hashing power to analyze that probabilistic ?
-
Rucknium
Originally, I thought the anti-double-spend justification for the 10 block lock was paternalistic. It is paternalistic, but there is also a moral hazard problem with centralized exchanges deciding to accept a low confirmation number.
-
Rucknium
dangerousfreedom: Yes, Rosenfeld (2014) does those calculations for minority hashpower share.
-
m-relay
<ghostway:matrix.org> Id imagine it's more about % of the total hashrate like rucknium's paper suggests
-
Rucknium
We know the attack success probabilities for any hsahpower share.
-
plowsof
binance accepts Monero deposits after 3 confirmations
-
Rucknium
By "moral hazard" I mean the standard economics definition: An agent makes a risky decision where the agent does not bear 100% of the potential negative consequences for that decision
-
Rucknium
If an exchange becomes the victim of a double spend attack, they lose money. But the coin itself loses confidence, too.
-
Rucknium
We are past the hour. Let's end the meeting here. Thanks everyone.
-
m-relay
<dangerousfreedom:matrix.org> Thanks Rucknium[m] . I'm behind many papers in my schedule but hopefully will catch up :p
-
plowsof
thanks Rucknium and all who attended, special thanks to kayabanerve for the feedback
-
Rucknium
Wait a minute. Am I wrong about the 10 block lock preventing hashpower-based double spend attacks? What plowsof said about Binance accepting deposits with 3 confirmations makes me think that the 10 block lock doesn't prevent these types of double spends.
-
Rucknium
The 10 block lock would prevent the potential victim from re-spending the outputs in fewer than 10 blocks. But it doesn't meaningfully constrain the attacker. The attacker only include the malicious self-spend transaction in its attacking chain, not the transaction to the victim of course. The 10 block lock on the transaction to the victim doesn't bind the attacker.
-
Rucknium
If true, that reduces the incentive for a block re-orgs of 10+ blocks to only the sabotage/vandalism "benefit" of invalidating transactions that don't belong to the attacker.
-
isthmus
If an attacker has sufficient hash power to produce 10 blocks faster than everybody else, they can also produce 11 blocks faster than everybody else.
-
isthmus
10 block lock has some important implications for stability and privacy, and security against probabilistic attacks from miners with minority hashrate. It doesn’t offer any protection against attackers with 50%+1 majority hashrate
-
Rucknium
isthmus: I agree except for "security against probabilistic attacks from miners with minority hashrate". The assumption in this discussion is minority hashpower share since with a majority, the no value for N in "N block lock" will protect as you said.
-
Rucknium
Rosenfeld (2014) Table 1 gives probabilities of a successful re-org of 1-10 blocks with 2-50% minority hashpower shares.
-
Rucknium
My question was "what is gained from having a 10 block lock instead of a 9 block lock? What is lost from not having an 11 block lock?"
-
Rucknium
Now I don't think that an N block lock on re-spending outputs prevents a malicious double spend by a party with minority hashpower share.
-
isthmus
Are you familiar with stubborn and selfish mining, which have been observed on Monero?
eprint.iacr.org/2015/796.pdf
-
isthmus
That's all I meant
-
isthmus
Last time NRL processed the archival node logs, we had seen evidence of occasional stubborn / selfish mining, but only to depth 2 I believe
-
isthmus
But because the reorg depth is 10 it didn't invalidate any rings or anything
-
isthmus
So one factor to inform N is how much hashrate we think might be inclined to selfish/stubborn mining (say 10%) and then from that we can say "okay, they'd be able to produce 2-deep on occasion, and 3-deep on VERY RARE occasion, and 4-deep with P<0.0000001" or whatever
-
isthmus
So, circling back to your question, if P(9) < 10^-30 already, then not much would be lost by switching it from 10 to 9
-
isthmus
(with respect to this specific aspect)
-
Rucknium
I've read a little about selfish mining, but I haven't gone in depth.
-
Rucknium
Scope creep :cry:
-
m-relay
<compdec:matrix.org> selfish mining has been observed on Monero?
-
isthmus
Yea, I wrote up a little note the first time we saw something that fit the bill back in 2018
github.com/noncesense-research-lab/…work/wiki/Selfish-mining-at-1636647
-
isthmus
It's not particularly disruptive on a scale of 2-deep with a 10 block lock time, besides cutting into the profit margins of miners that don't engage in the practice
-
isthmus
Our nodes in Frankfurt, Tokyo, and London all saw the exact same order of events, so we know it was a global phenomenon and not a localized latency artifact.
-
m-relay
<compdec:matrix.org> cool, I had a student write a senior paper on selfish mining, read that paper a year ago or so