-
br-m
<rucknium> MRL meeting in this room in two hours.
-
br-m
<ack-j:matrix.org> @rucknium:monero.social: is there free space in the agenda? We’d (MAGIC) like to discuss a new project proposal to improve the efficiency of bulletproofs
-
br-m
<rucknium> @ack-j:matrix.org: Yes. I will put it at the end. What do you want as the agenda item title?
-
sech1
When is the meeting today?
-
br-m
<ravfx:xmr.mx> sech1: in 33 minutes
-
br-m
<rucknium> sech1: 17:00 UTC
-
br-m
<ack-j:matrix.org> “Bulletproof prover and verifier optimization research”
-
br-m
<rucknium> I put RandomX Version 2 first on the agenda, after greetings and updates.
-
br-m
<rucknium> Meeting time!
monero-project/meta #1330
-
br-m
<rucknium> 1. Greetings
-
br-m
<ack-j:matrix.org> Hi
-
DataHoarder
hello world
-
br-m
<boog900> Hi
-
sech1
Hello
-
br-m
<jeffro256> Howdy
-
br-m
<sgp_> Hello
-
br-m
<w0venhand:matrix.org> Hi
-
br-m
<jberman> waves
-
br-m
<vtnerd> Hi
-
br-m
<articmine> Hi
-
br-m
<rucknium> 2. Updates. What is everyone working on?
-
DataHoarder
Have been doing RandomX benchmarks for V2 and looking into low-level CPU performance counters on current generations, specifically now investigatin how increasing prefetch distance across RandomX vm loops reduces the waits and increase instruction throughput.
-
br-m
<rucknium> me: Back on using Markov Decision Process to analyze selfish mining countermeasures.
-
DataHoarder
(note there seems to be a 2-5s delay on IRC bridging since last night outage, I'll investigate later)
-
sech1
I finished RandomX v2 in its current state (including the documentation) and have been testing it
-
br-m
<jeffro256> Me: reviewing ArticMine's scaling updates and digging into OSSFuzz issues
-
br-m
<vtnerd> Me: working on lwsf/monero_c builds for windows and macos. No decent progress on that asan issue unfortunately
-
br-m
<articmine> I updated the scaling documents to address changes with respect to the calculation for the maximum fee and also a series of fixes
-
br-m
<jberman> me: followed up on @jeffro256 's unbiased hash to point impl (a blocker for beta stressnet) and did a bit of refactoring of my own code for that impl and for the FCMP++/Carrot integration. Unrelated to the unbiased hash to point, I have some more refactoring ideas to implement in line with my changes there before opening up th [... too long, see
mrelay.p2pool.observer/e/78aQ2N4KX01nQzFa ]
-
br-m
<rucknium> The Monerotopia Conference is happening February 12 to 15 in Mexico City:
monerotopia.com . Some MRL regulars and semi-regulars like @jeffro256:monero.social , @articmine:monero.social , @freeman:cypherstack.com , @diego:cypherstack.com , and myself will be presenting.
-
br-m
<articmine> Yes I will be speaking at MoneroTopia and also afterwards at the Crypto Vigilante
-
br-m
-
br-m
<rucknium> sech1, could you describe the purpose of the RandomX update, what tasks remain, any way others can assist, and maybe an expected timeline for completion?
-
sech1
The purpose is to fix the bottlenecks in RandomX on modern CPUs. The main things we found are CFROUND instruction and memory access, so this is what we changed in v2
-
sech1
I think the only task that remains is PowerPC big-endian intrinsics (two small functions). Need a ppc64be systems to test it
-
br-m
<jeffro256> Can you explain a bit further what about the "memory access" was a bottleneck?
-
br-m
<articmine> Is this going to be ready for the upcoming hard fork?
-
sech1
The CPU is waiting for data from the memory (dataset) instead of executing instructions, so it wastes energy
-
sech1
There's a smaller bottleneck with L3 cache access where CPU waited too, but we filled it with AES tweak
-
sech1
acricmine it's already 99% ready, just needs ppc64be test
-
DataHoarder
we are doing live benchmarks with it, PR/code is ready as well
-
DataHoarder
I have been doing similar tests in my go-randomx project (where it's also already implemented)
-
br-m
<rucknium> Any expected effect on the Bitmain X9?
-
DataHoarder[m]
quoting from elsewhere as well:
-
DataHoarder[m]
18:22:02 <sech1> If they have RISC-V CPU with hardware AES instructions, it should drop from 1 MH/s to ~650 KH/s on v2
-
DataHoarder[m]
18:22:32 <sech1> If they have the CPU without hardware AES instructions, but with an AES crypto accelerator to generate the scratchpad, they're screwed[... more lines follow, see
mrelay.p2pool.observer/e/2oG72N4KRUtVQm9U ]
-
sech1
It depends on how X9 implemented AES support. If it's a separate circuit not in the CPU, X9 will be effectively bricked
-
sech1
Yes, that above ^
-
sech1
Worst case (for us) it will drop hashrate from 1 MH/s to 650 KH/s
-
br-m
<rucknium> I assume you don't know anyone with an actual X9 unit yet.
-
sech1
It's on preorder now, delivery in July
-
sech1
So no one but Bitmain has it
-
DataHoarder
They also would need to bother and update the firmware which they didn't even for minor changes on other coins they supported
-
br-m
<articmine> Why do I see deja vu here eight years later?
-
br-m
<syntheticbird> and be sure you'll see it again in eight years
-
br-m
<rucknium> sech1: Before you have said that miners would need a 6 month period of time between released of the "final" monerod for the hard fork and activation of the hard fork with RandomX V2. Is that timeline still accurate?
-
sech1
6 months after XMRig release, not monerod
-
sech1
If v2 is finalized and released soon, miners will start updating
-
br-m
<rucknium> That makes it easier if it's not a monerod requirement.
-
DataHoarder
^ even if no hardfork is set for monero at that point, just xmrig finalized support
-
sech1
We plan to finalize v2 in January, make a pull request, then I can start updating XMRig and it will be also released in February
-
DataHoarder
I guess it'd be rx/0 to rx/1 or whatever version shift
-
sech1
So miners will be (for the most part) hardfork-ready in August
-
sech1
no, rx/v2 :)
-
sech1
I don't want to have confusion with number again as it happened with Cryptonight
-
br-m
<rucknium> Would Version 2 need any kind of external audit like Version 1 did, or are the changes small enough not to need it?
-
sech1
Changes are small and evolutionary
-
br-m
<rucknium> Seems like everything is going smoothly :)
-
DataHoarder
note a v2 hardfork also would include commitments, for anyone tracking that work
-
DataHoarder
commitments already exist in randomx codebase merged
-
br-m
<rucknium> commitments of?
-
sech1
-
sech1
Those commitments ^
-
br-m
<jeffro256> Commitments to PoW verifiable by Blake2b
-
br-m
<rucknium> Good to hear.
-
br-m
<jeffro256> It's DoS-resistant pre-verification for our RandomX PoW
-
br-m
<jeffro256> Integration PR is here:
monero-project/monero #10038
-
br-m
<rucknium> Anything else on RandomX Version 2?
-
br-m
<rucknium> Thanks so much, sech1 and DataHoarder, for working on it!
-
br-m
-
br-m
<rucknium> I kept this agenda item to follow up on the followups from last meeting.
-
br-m
<sgp_> Divisors is waiting on me. I'll reach out and CC jberman
-
br-m
<jberman> Veridise confirmed to sgp their helioselene review/audit is progressing
-
br-m
<rucknium> @sgp_:monero.social: You mean soliciting firms for a third review of divisors?
-
br-m
<sgp_> Specifically zkSec, yeah. We already got a quote but that was months ago before the CS work on it wrapped up. So we need to update it and accept it
-
br-m
<rucknium> Thanks.
-
br-m
<jberman> CS submitted their latest round of work on GBP, it's currently on us to review that work. That review will take some time to complete
-
br-m
<rucknium> @jberman:monero.social: Building on this?
github.com/cypherstack/divisor_deep_dive
-
br-m
<sgp_> @jberman: Then after that review, back to zkSec for a second opinion. We got a quote for that already as well
-
br-m
<rucknium> Is there a reason it's not been posted publicly?
-
br-m
<sgp_> The CS GBP stuff?
-
br-m
<rucknium> Yes
-
br-m
-
br-m
<rucknium> Ok. Also posted here:
moneroresearch.info/243
-
br-m
<sgp_> I believe the intent was to publish after kayaba did their review of it, but I'm double checking
-
br-m
<sgp_> To make sure the suggested changes were feasible in practice (in the implementation)
-
br-m
<rucknium> They suggested changes in their latest review? Would that affect timeline at all?
-
br-m
<sgp_> There definitely has been a delay because of it (CS found issues with GBPs as originally written). Assuming the suggested fix is feasible (which kayaba sadly can't confirm asap since they're heads down for a Serai audit for another month), then the further delays should be minimal. If it's infeasible, then that'll be another delay
-
br-m
<sgp_> If CS is suggesting these fixes, there is a good chance that they will work as intended given their Monero experience
-
br-m
<rucknium> Isn't there a transparency reason to post it?
-
br-m
<rucknium> If it will take kayabaNerve a while to review it, then it could be best to let others see it now.
-
br-m
<sgp_> Fwiw I haven't seen it either, I'm just aware of the context around the delays. I wouldn't be opposed to posting it in draft form here
-
br-m
<jberman> Same position here^
-
br-m
<rucknium> Would be great if you could make that happen :)
-
br-m
<sgp_> Ok, I asked kayaba. If I don't hear back (unlikely) I'll ask CS
-
br-m
<rucknium> Thanks.
-
br-m
<rucknium> Anything else on this agenda item?
-
br-m
<rucknium> 5. FCMP alpha stressnet (
monero.town/post/6763165).
-
br-m
<jberman> My position is more or less the same as last week. From my perspective, we're looking good for beta since v1.5 solved the core reliability issues. Perhaps ofrnxmr has an opinion on v1.5's current status as well
-
br-m
-
br-m
<jeffro256> After that, scaling changes will be ready for review
-
br-m
<rucknium> Would the suggested changes to Generalized Bulletproofs affect performance enough that it would be a good idea to include the changes in beta stressnet? Probably the answer to this question is unknown, without the Cypher Stack document and/or kayaba's review.
-
br-m
<jberman> A significant perf impact would definitely surprise me, but ya it's an unknown as of now
-
br-m
<jberman> I do think it would be a good idea to have that task item settled before releasing beta
-
br-m
<jberman> We have outstanding tasks we're in the finishing stages for beta now (jeffro is working on scaling, I'm continuing on unbiased hash to point / some refactorings as needed, tx relay v2 is in review). It's all finishing stages though
-
br-m
<diego:cypherstack.com> Hey. Guys.
-
br-m
<diego:cypherstack.com> I want FCMPs out Q2 2026
-
br-m
<diego:cypherstack.com> I'll get everyone a $10 gift card to cold stone or an equivalent ice cream shop.
-
br-m
<diego:cypherstack.com> Plz and thx
-
br-m
<rucknium> @diego:cypherstack.com: There was a desire to publicly post Cypher Stack's latest Generalized Bulletproofs work.
-
br-m
<rucknium> Is that possible to do soon?
-
br-m
<diego:cypherstack.com> Lemme ask.
-
br-m
<rucknium> Thank you.
-
br-m
<rucknium> Anything else about stressnet?
-
br-m
<jberman> nothing from me
-
br-m
<jeffro256> nothing from me
-
br-m
<rucknium> 6. Bulletproof prover and verifier optimization research.
-
br-m
<rucknium> More Bulletproofs!
-
br-m
<rucknium> @ack-j:matrix.org:
-
br-m
<ack-j:matrix.org> MAGIC recieved a project proposal with the following research goals that we'd like community feedback on:
-
br-m
<ack-j:matrix.org> This project aims to deliver significant 2X speedup for both prover and verifier efficiency for Bulletproofs-style range proofs, while preserving their compact communication complexity of 2 log N. More precisely, it seeks to halve the number of computationally expensive group exponentiations required by existing Bulletproofs-b [... too long, see
mrelay.p2pool.observer/e/n9aL2t4KbThCbm1x ]
-
br-m
<ack-j:matrix.org> The lead researcher, Dr Nan Wang, is well published in topics such as range proofs and ring signatures.[... more lines follow, see
mrelay.p2pool.observer/e/n9aL2t4KbThCbm1x ]
-
br-m
<rucknium> Has anyone here closely read any of the papers linked above? It looks like at least one of them (BulletCT) could help with Bulletproofs efficiency. Anyone know anything about it?
-
br-m
<jberman> I have not, but on the surface, seems like a great proposal
-
br-m
<rucknium> The proposed protocol would not be quantum resistant, or would it?
-
br-m
<jberman> I would assume not
-
br-m
<cyrix126:gupax.io> @rucknium: not with Ed25519
-
br-m
<jeffro256> If the work to speeding up bulletproofs is applicable to either FCMP++'s GBPs and/or Bulletproof+ range proofs, then I am in support of it, especially at that price.
-
br-m
<cyrix126:gupax.io> sry if it's a dumb question but would the proposal be compatible with
ccs.getmonero.org/proposals/emsczkp-research-folding-gbp.html ?
-
br-m
<rucknium> The new protocol would require a hard fork probably, right?
-
br-m
<jeffro256> Practically, I think that it's probably too late in the game to make it into the FCMP++ hard fork, but assuming that research and development go well for BulletCT, it would make a good candidate for a follow-up improvement HF
-
br-m
<jeffro256> @rucknium: Almost certainly
-
br-m
<rucknium> @ack-j:matrix.org: MAGIC didn't adopt my suggestion to change the title of the Fuzzing project to something easier to understand :P
-
br-m
<articmine> It is a worthwhile proposal for the first post FCMP++ hard fork.
-
br-m
<ack-j:matrix.org> We generally agree and see it as a solid proposal to push forward bulletproof research with little risk.
-
br-m
<ack-j:matrix.org> @cyrix126:gupax.io that is a good question that I’m not sure of the answer
-
br-m
<ack-j:matrix.org> @rucknium:monero.social: sorry. Will update
-
br-m
<jberman> @cyrix126:gupax.io: a good question. I'd guess maybe and probably not, but perhaps could yield potential improvements to BP* as well. Perhaps @emsczkp:matrix.org could give better insight (but may need further details)
-
br-m
<emsczkp:matrix.org> it might be interesting to see how their poly evaluation proofs are working
-
br-m
<emsczkp:matrix.org> within BP range proofs of course, i'm looking into that
-
br-m
<rucknium> @emsczkp:matrix.org: Could you read
moneroresearch.info/285 Wang, N., Wang, Q., Liu, D., Esgin, M. F., & Abuadbba, A. (2025). BulletCT: Towards More Scalable Ring Confidential Transactions With Transparent Setup. BulletCT: Towards More Scalable Ring Confidential Transactions With Transparent Setup.
-
br-m
<rucknium> and tell us what you think?
-
br-m
<ack-j:matrix.org> @emsczkp:matrix.org: assuming we fund this proposal within the next month. Would their 13 week timeline overlap with your work and have the opportunity to benefit from it?
-
br-m
<rucknium> It's not part of your CCS proposal, so don't feel obligated to do it.
-
br-m
<emsczkp:matrix.org> I'll take a look yes
-
br-m
<emsczkp:matrix.org> also if the authors of the paper want discuss with me, it's ok
-
br-m
<rucknium> @emsczkp:matrix.org: Thank you!
-
br-m
<jberman> thank you @emsczkp:matrix.org !
-
br-m
<emsczkp:matrix.org> welcome
-
br-m
<rucknium> @ack-j:matrix.org: You could put them it touch with @emsczkp:matrix.org
-
br-m
<ack-j:matrix.org> Will do
-
br-m
<rucknium> Anything else on this item?
-
br-m
<rucknium> We can end the meeting here. Thanks everyone.
-
DataHoarder[m]
👋 > <@rucknium> We can end the meeting here. Thanks everyone.
-
br-m
<syntheticbird> Delicious meeting
-
br-m
<jeffro256> Thanks everyone!
-
br-m
<brandon:cypherstack.com> no good reasons, only several poor reasons. i wanted matthias from curve trees to take a look at it, and haven't gotten around to communicating about that. i wanted sarang to take a look at it. etc. but it's important and i agree it should be posted publicly sooner rather than later > <@rucknium> Is there a reason it's not been posted publicly?
-
br-m
<rucknium> Just put the DRAFT LaTeX watermark :)
-
br-m
<brandon:cypherstack.com> > <@sgp_> There definitely has been a delay because of it (CS found issues with GBPs as originally written). Assuming the suggested fix is feasible (which kayaba sadly can't confirm asap since they're heads down for a Serai audit for another month), then the further delays should be minimal. If it's infeasible, then that'll be another delay
-
br-m
<brandon:cypherstack.com> yes, the proposal i reviewed (i believe written by sarang, which was a modification of a previous version based on matthias' comments) had a problem with the extractor which sarang did not catch, and the only fix we could identify required a modification to the protocol which worsened efficiency slightly. @kayabanerve:matrix.org has more comments about that.
-
br-m
<brandon:cypherstack.com> @rucknium: yeah, i plan on posting it soon(tm)
-
br-m
<rucknium> If you can estimate the inefficiency increase and it's not very high, e.g. 20% or less total increase in FCMP verification time, it would seem OK to me.
-
br-m
<brandon:cypherstack.com> @brandon:cypherstack.com: despite the delay, i count this as a win because the version which would have been posted would have possibly allowed malicious parties to falsely convince verifiers of arithmetic circuit satisfaction. however, we do suspect that someone who could pull that off would be reducible to a discrete log [... too long, see
mrelay.p2pool.observer/e/9Zvo294Kb1JUSTd1 ]
-
br-m
<brandon:cypherstack.com> @rucknium: @kayabanerve:matrix.org should have a better view of that; i believe we had a few back-and-forth conversations on the specific complexity costs of my proposed fix
-
br-m
<brandon:cypherstack.com> afaik, kayaba has not concretely implemented my changes, so does not yet have concrete efficiency analysis done, and my back of the envelope asymptotics were slightly incorrect the last i spoke with kayaba about it
-
br-m
<rucknium> Thanks for your work on that, @brandon:cypherstack.com
-
br-m
<sgp_> Yes it's very good that it was caught