-
suyash67
I have summarised the number of multi-scalar multiplications necessary for BP and BP+ in the comment to our CCS proposal (Link:
repo.getmonero.org/monero-project/c…als/-/merge_requests/156#note_10110).
-
sarang
Thanks suyash67
-
sarang
I don't think I specifically pointed this out during the earlier conversation with suyash67 and omershlo, but they mentioned one possible concern was "Sarang can do it better"... to be clear, I don't claim this
-
sarang
(relating to their BP+ CCS, I mean)
-
sarang
Nor am I claiming that I would "do it worse"
-
moneromooo
Basically, you are claiming you are not claiming anything :)
-
sarang
I didn't want it to be interpreted as me opposing the proposal because of this
-
sarang
I'd have to read the logs, but I'm not sure if anyone said I could do it better
-
sarang
At any rate, I don't claim this
-
sarang
It's accurate to say that I _do_ think I could produce a quality implementation
-
moneromooo
I think I said something close to that: that I wasn't comfortable leaving crypto code to unknowns (implicit was: I'd be more comfortable if sarang were to do it).
-
sarang
I had not heard of the proposer before, but I have seen omershlo's work elsewhere
-
sarang
I think a bigger risk might be if the code were sufficiently different to make the review process difficult
-
sarang
Which might necessitate another full audit
-
sarang
But the proposers did say they want to reuse code to the extent reasonable
-
sarang
From Suyash on CCS: "By code reuse, we mean that we want to keep the same interface as much as possible, use the same functions used in BP as much as possible (to make audit and review easier). Ideally, keeping similar naming/naming conventions and code structure."
-
sarang
Weekly meeting here is at 17:00 UTC (about 20 minutes from now)
-
sarang
OK, let's get started!
-
sarang
-
sarang
First, GREETINGS
-
h4sh3d[m]
Hello
-
sgp_
hello
-
sethsimmons
Hi all
-
sarang
Let's move to ROUNDTABLE, where anyone can share research topics of interest with the channel
-
sarang
Note that Isthmus posted a few items on the agenda and said he would be unable to attend today
-
sarang
-
sarang
and noted some related work in Zcash that showed a 0-value/0-fee transaction could be mined, posing a spam risk
-
sarang
and further, that even if not relayed, such transactions could be mined if not disallowed by the protocol (not specific to Zcash, of course)
-
sarang
It is certainly the case that the Monero protocol also does not verify that the sum of spent inputs is strictly greater than zero
-
h4sh3d[m]
How does this apply to Monero?
-
h4sh3d[m]
Is there a verification for sum(inputs)>0
-
sarang
It would apply if miners can mine 0-fee transactions, since this means it would be free to spam the network
-
sarang
Nope, this is not the case
-
sarang
Range proofs allow zero value
-
ArticMine
but the miner wold have to pay the penalty on the spam
-
ArticMine
ikn Monero
-
sarang
h4sh3d[m]: and it's important for distinguishability of "fake change" that zero values look the same
-
ArticMine
So the economics are very different
-
sarang
ArticMine: well, at a certain point
-
sarang
If penalty-free, no problem
-
ArticMine
Yes up to the penalty free zone
-
sarang
Enforcing minimum fees at the protocol level would mitigate this risk
-
ArticMine
but this is not in the miner's interest
-
sarang
but I know this has been brought up before
-
ArticMine
Enforcing fees at the protocol does not mitigate this risk
-
sarang
The existence of a penalty zone is certain a disincentive at some point
-
h4sh3d[m]
Can the block size grow if you are under the penalty-fee?
-
sarang
How would it not mitigate? It at least ensures that the spammer has to pay something
-
moneromooo
The miner would pay himself.
-
ArticMine
The miner just pays out of one pocket to the other
-
sarang
Oh, you mean in the case that the miner chooses to execute the spam attack, sure
-
sarang
can't remove that risk in the penalty-free zone
-
sarang
but it does mean that a non-miner user can't trivially execute the spam
-
ArticMine
The non miner has to deal with node relay minimum fees
-
ArticMine
on top of the penalty
-
moneromooo
If a miner exposes their sendrawtransaction RPC, someone could send 0 fee txes this way.
-
ArticMine
It is also in the interest of the miner to allow for fluctuation in the block weight
-
ArticMine
... and have the miner pay the penalty for the spam
-
sarang
Anyway, might be useful to bring up at the next dev meeting, to see if there are mitigations that receive general agreement
-
ArticMine
Also as Monero mature the penalty free zone is below the block weight
-
ArticMine
So this attack becomes moot
-
sarang
Well, something to keep in mind... if non-miners users can easily produce such spam and it gets mined, it's a problem
-
sarang
I have a few things to share
-
moneromooo
I guess forcing a min fee also removes a way to get fingerprinted.
-
sarang
I made a couple of PRs to finally jettison old JS analytics code from CCS and the main getmonero site, which isn't really research :)
-
ArticMine
It simple cannot be enforced because of out of bounds payments / refunds
-
sarang
The audit is finally closing
-
sarang
for CLSAG
-
sarang
We're finalizing the report with OSTIF and the reviewers, and I have a blog post ready to go that explains CLSAG and the audit results, which were helpful and positive
-
sarang
moneromooo has rebased the code, so it's ready for testing
-
sarang
Trezor support will be there for the upgrade
-
sarang
still working with Ledger on some scheduling problems, unfortunately
-
sarang
And I updated some code and tests for transaction proofs and message signing
-
sarang
Any questions or comments on these topics?
-
sarang
There is a proposal for a research team to implement Bulletproofs+ in Monero:
repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/156
-
sarang
The numbers they get for verification seem better than when I had first looked at estimates, but they've since provided information on operation counts that I think are much better than from specific implementations
-
sarang
Any thoughts on BP+ in Monero?
-
sarang
Regardless of the actual verification benefits, the size benefits are certain
-
moneromooo
If they're smaller and faster and just incremental code changes, yes please.
-
h4sh3d[m]
does the transaction structure changes with the proof size reduction?
-
sarang
When first brought up a while back (when the preprint came out), it seemed like there were some questions on using something so new for a marginal (but certainly nontrivial) benefit
-
sarang
h4sh3d[m]: what do you mean?
-
sarang
The proofs contain different elements, sure
-
sarang
Nothing else changes (except standard transaction weights)
-
h4sh3d[m]
So de/serialization of transaction changes
-
sarang
Sure
-
h4sh3d[m]
Ok
-
sarang
It did for BP, it does for CLSAG, etc.
-
sarang
I don't think that's a reason not to do it
-
sarang
I assume it'd be a consensus requirement, so no issues there
-
h4sh3d[m]
Me neither, just wondering
-
moneromooo
How comfortable are you with the safety of the changes, mathematically ?
-
moneromooo
(since you mention "something so new").
-
sarang
The construction appears sound and correct
-
sarang
but it hasn't received formal external review yet
-
sarang
That's no guarantee of correctness, but it is useful
-
sarang
FWIW it's not like the math expires, if it were decided to wait until the preprint gets more eyes on it
-
sarang
The downside would be the sunk cost of heavier proofs on chain
-
sarang
BPs were also new, but they received a _lot_ of good review and attention from a lot of researchers
-
sarang
You could easily argue that not that many people have done thorough review of CLSAG either, though
-
ArticMine
The trade-off is mathematical risk vs heavy transactions. It can be a very delicate one
-
sarang
Yeah. I don't doubt that the proposers did a thorough review of the BP+ preprint, as it appears they have
-
sarang
Anyway, certainly a proposal worth considering
-
sarang
Did anyone else have topics they wish to share?
-
h4sh3d[m]
Yep. I nearly finished the researched funded by the CCS on atomic swap
-
h4sh3d[m]
The paper has just been updated
-
sarang
Excellent! Link?
-
h4sh3d[m]
sarang: if you find time to have a look, I'd appreciate some feedback
-
h4sh3d[m]
-
sarang
Happy to
-
h4sh3d[m]
and feedback from all of you too!
-
h4sh3d[m]
I'm happy with the results and I'll have a better look at what you did in MRL-0010
-
sarang
^ what andytoshi did
-
h4sh3d[m]
As it is one of the two "new" cryptographic primitives used in the scheme
-
h4sh3d[m]
yes, andytoshi was the first to talk about it, you wrote the tech note!
-
h4sh3d[m]
Anyway, feedbacks are welcome and thanks for the inputs from the last months. I'll write on reddit a summary of the research soon
-
sarang
Thanks h4sh3d[m]
-
sarang
Any other topics folks wish to bring up, before we move along?
-
sarang
OK, then on to ACTION ITEMS
-
sarang
I'll finish up some tests on some older code and PRs, see if we can get the audit report posted publicly, continue some investigation of BP+ specifics, and finish up CLSAG testing
-
sarang
Anyone else?
-
sarang
All right, in that case, we are adjourned!
-
sarang
Thanks to everyone for participating; logs will be posted shortly to the GitHub agenda
-
ArticMine
Thanks for hosting
-
h4sh3d[m]
Thank you for hosting sarang!
-
ArticMine
... and a thank you to all participants
-
selsta
Would it make more sense to implement BP+ ourselves and ask the CCS author for an audit including maybe a second audit?
-
sarang
That's a very interesting idea
-
selsta
(second audit by OSTIF or so)
-
selsta
Seeing that we always did the crypto code ourselves in the past I don’t see a reason to do this different this time.
-
sarang
Given that the conceptual changes from BP to BP+ aren't that huge, I don't think a separate audit would necessarily provide much benefit
-
dEBRUYNE
But it would provide some assurance I guess
-
sarang
Well, having at least one audit would be ideal
-
sarang
I think my wording above was unclear
-
sarang
by "separate audit" I meant "a second audit"
-
dEBRUYNE
I was referring to the second audit basically
-
dEBRUYNE
Having both the authors plus an independent party (via OSTIF) audit the implementation would provide better assurances imo
-
ArticMine
The key is that the audits be independent
-
sarang
To be clear, the CCS proposers are not the authors of the BP+ preprint
-
sarang
if that was in question
-
sarang
So there's already a degree of independence
-
dEBRUYNE
Ah I missed that
-
sarang
Yeah, they did a Rust implementation and wrote up some posts about how the math works, but they didn't write the preprint
-
ArticMine
So the CCS proposers write the code and then we organize the audit?
-
sarang
It sounds like selsta's idea is to have MRL contributors write the code, and see if the CCS proposers are open to auditing that code; is that right selsta?
-
selsta
Yes you, mooo or both of you. I think it would take you less time due being familiar with monero’s source.
-
sarang
I am certainly willing to do this
-
sarang
It also has the benefit of having the audit done (if they are open to this) by people who clearly are knowledgable about BP+
-
sarang
Finding additional experts might be challenging since the preprint is so new
-
sarang
(but this challenge is likely to be reduced over time)
-
gingeropolous
well, to advocate for more hands in monero, are we biting the hand that feeds or some other metaphor if we .... inhibit other scienticians from getting dirty in the monero code?
-
sarang
This is also true, and omershlo specifically mentioned it
-
sarang
So it should be considered as part of the value proposition
-
gingeropolous
i'd also put forward the idea that we can do a double thinger .... use both systems (the old one and the new one) concurrently, and then when the new one is given the 100% by either time or audit, the old once can be dropped during the overlap time
-
selsta
gingeropolous: we don’t inhibit them but they ask for 3 person months of work, it seems like it would take sarang less time
-
sarang
What exactly does that mean?
-
gingeropolous
it might add some complexity, but it seems like the best of both worlds....
-
sarang
^ gingeropolous
-
gingeropolous
ive rambled about it before, but basically you use both proof 1 and proof 2 for a given time
-
sarang
FWIW if someone else writes the code, I don't think having moneromooo or I review it should be considered equivalent to an external audit
-
gingeropolous
once proof 2 is considered good, you don't have to verify proof 1 anymore and can drop the data from the chain
-
gingeropolous
apparently google did this when they migrated from something or another
-
sarang
gingeropolous: that sounds tricky to implement properly :/
-
sarang
and potentially risky if not done correctly
-
gingeropolous
indeed
-
gingeropolous
but so is using hot off the press mathemagic. audits are great, but...
-
sarang
Right, no audit is a guarantee
-
sarang
Just a way to reduce risk if done well
-
gingeropolous
i guess, in general, upgrades to the monero protocol are not something new, and its something we'll hopefully do for a long time
-
gingeropolous
so i think some sort of protocol for how these upgrades are done would be neat.
-
sarang
Ah, a protocol protocol =p
-
gingeropolous
yep
-
gingeropolous
all about the meta
-
gingeropolous
and audits are expensive. imagine all the sarangs we coulda gotten from all the other audits. into the clone machine u go!
-
sarang
0_0
-
dEBRUYNE
Running both schemes concurrently seems to have little benefit
-
dEBRUYNE
It would still expose the chain to any flaws in B+ as they are valid transactions
-
sarang
Yep, it could only possibly help in the event of a flawed implementation
-
sarang
Hello omershlo !
-
omershlo
Hi all, I am one of the authors of the CCS on BP+. Both Suyash (co-author) and me are open to the idea of auditing instead of writing the code. We believe that between us and for that specific protocol we have the tools to audit it successfully. We saw this project as an opportunity for us to get involved and contribute. This is our main
-
omershlo
motivation. We appreciate the thoughtful polite discussions and all the help the community is offering.
-
sarang
Thanks for the excellent discussion in response to the feedback omershlo
-
sarang
I really appreciate it
-
sarang
I also like this audit idea in particular because you and suyash have experience with the protocol and your existing implementation
-
sarang
And having new researchers work on Monero is a huge benefit as well, as you had said
-
omershlo
Should we submit a new proposal ?
-
sgp_
omershlo: imo yes, thank you for coming here to talk with the community
-
sgp_
sarang: can you fill us in again on the pros/cons of implementing BP+?
-
sarang
Marginal but nontrivial improvements to size and time
-
sarang
Downside is it's new work that hasn't been formally reviewed much
-
sgp_
so it would be good to have math review outside of the main authors?
-
sarang
Yes. The CCS proposers have done this, albeit not in the context of the traditional academic review process
-
sarang
And again, academic peer review is no guarantee