Site icon Monero News

Monero FCMP++ Optimization Contest

monero fcmp optimization contest

monero fcmp optimization contest

Monero’s Research Lab has officially announced an FCMP++ Optimization Competition to supercharge two key cryptographic libraries: helioselene and ec-divisors. These libraries are critical to Monero’s upcoming Full-Chain Membership Proofs (FCMP++) protocol upgrade, and the community is buzzing with excitement. The contest offers a generous 100 XMR prize for helioselene and 250 XMR for ec-divisors, funded by the Monero General Fund. Developers and enthusiasts are encouraged to participate in this friendly competition to help optimize Monero’s core code – a chance to improve privacy tech and earn substantial rewards.

Why Helioselene and EC-Divisors Matter

Helioselene is an elliptic-curve library implementing two new curves, “Helios” and “Selene,” which form a cycle atop Ed25519. This “curve tower” allows Monero to reuse its existing anonymity set while upgrading to FCMP++. In effect, Helioselene is deeply woven into every part of FCMP++: node syncing, wallet syncing, transaction creation, and verification all rely on it. Any speed improvement here benefits the entire network’s performance.

EC-Divisors is a library for computing elliptic curve divisors – a cryptographic technique to verify scalar multiplications more efficiently. This concept, pioneered by researcher Liam Eagen, significantly reduces the work needed to verify Monero transactions under FCMP++. Currently, EC-Divisors presents a performance bottleneck. Generating a proof can take several seconds per operation. Optimizing this library directly impacts transaction construction in wallets. Both libraries are vital for Monero’s next-gen privacy tech, and squeezing out every bit of performance is crucial before deployment.

Community Enthusiasm and Developer Involvement

The contest has sparked widespread discussion across Monero’s development spaces. Justin Berman (j-berman), a Monero Research Lab contributor, is organizing the event and has refined contest details based on community feedback. In weekly MRL meetings, developers such as Kayaba (kayabanerve) discussed how to benchmark library functions fairly and enforce constant-time code.

Benchmarks and Guidelines

For example, developers agreed to benchmark the ScalarDecomposition::new and scalar_mul_divisor functions in EC-Divisors together. This decision reflects real-world use cases and followed extensive debate about runtime weighting. Contest rules require constant-time execution to prevent data leakage. These guidelines appear in the official README.

Community Contributions and Support

Several community members have contributed resources. The Monero Core Team allocated 350 XMR from the General Fund to fund prizes. Veteran member binaryFate supported the initiative after reviewing its scope. Long-time contributor gingeropolous offered a dedicated benchmarking machine (AMD Ryzen 3700X) for fair testing.

On the outreach front, contributor xmrack volunteered for marketing, while ACK-J suggested bringing in external cryptography developers. The contest has energized the community. Many look forward to seeing the innovations participants submit.

Contest Timeline and How to Participate

The FCMP++ Optimization Competition runs from April 28 through June 30, 2025. Submissions can include improvements to either or both libraries. Anyone can participate – including anonymous contributors – as long as they follow the rules.

Submission Rules

Participants must:

The judging panel will evaluate based on speed, correctness, and constant-time behavior. One winner will be chosen for each library. Helioselene earns 100 XMR; EC-Divisors earns 250 XMR. Monero’s team has created dedicated directories in the contest repo for each library. Since the libraries are written in Rust, setup is straightforward for most developers.

Technical Insights and Optimization Avenues

Advanced contributors have already discussed potential strategies in public channels. Developers identified parts of the current code that could benefit from SIMD instructions or complete rewrites. For instance, scalar decomposition in EC-Divisors may improve using vectorized math or alternative decomposition techniques.

Helioselene Optimization Ideas

Optimizations may include faster field arithmetic using 256-bit or 512-bit SIMD, curve-specific formula improvements, or leveraging precomputation. Since Helioselene allows Monero to tower its anonymity sets, any optimization enhances overall network efficiency.

EC-Divisors Optimization Ideas

In EC-Divisors, focus areas include reducing divisor construction time, improving memory layout for cache performance, and exploring multi-scalar multiplication techniques. Developers also discussed scoring ScalarDecomposition::new and scalar_mul_divisor together to reflect their combined use in practice.

The Monero community encourages experimentation. Submissions can even use assembly code if it integrates with Rust and maintains the MIT license. Creativity and attention to security will be key factors in winning entries.

Building Monero’s Future Together

This competition reflects Monero’s open-source spirit. Rather than limiting performance work to insiders, the project invites the broader community to contribute. These optimizations will ensure FCMP++ runs efficiently when deployed and will improve wallet syncs, transaction times, and network performance overall.

For anyone experienced in cryptography, Rust, or low-level systems development, this is an ideal opportunity to contribute meaningfully and earn XMR in the process. Even new contributors can learn and grow through this initiative.

As the April 28 start date approaches, Monero’s channels will continue to discuss ideas and prep for submissions. By the end of June, the community will celebrate the winning entries and integrate them into Monero’s codebase. This is performance tuning with purpose – a fun, inclusive way to push Monero’s privacy tech further than ever before.

Exit mobile version