Monero Network Simulation Tool
CCS Proposal: Monero Network Simulation Tool
Forward: Throughout my time here in Monero, I've always wanted the ability to test new / modified versions of the software at the network level. It's always great to compile master and see that your node is running stable, but this doesn't tell you whether some modification will affect how the network functions. I want to be able to capture the emergent behavior of the network. This, of course, can only be done by actually running a network - hence, why testnet and stagenet exist. Unfortunately, neither of these additional networks reach the level of use or dispersion that would allow for the detection of abnormal network behavior. Well, that might be too absolute. I think these real-world alternative networks can detect highly penetrant (to borrow a genetics term) abnormalities, but for subtle things, or things that require scale, we need something that can match the scale of the actual network. For instance, what would the effect of a non-divisors FCMP++ verification time be on transaction propagation, network stability, etc? How effective would a spam attack of heavy FCMP++ transactions be on the network? Would mitigation strategy X,Y,Z potentially work? Exactly how awesome would PoW for establishing p2p connections and transaction submission actually be? Does the proposed transaction relay v2 work as intended?
Wouldn't it be great if we could create a simulated network using the existing code, gather data about its behavior, observe how it responds to attacks x,y,z. Then we create a simulated network using the new code, gather data, observe response to x,y,z. Then we can compare.
We could test anything before it rolls out, in a rigorous fashion, with so much data gathered our hard drives will burst.
On to the formal stuff.
-
Proposer: Gingeropolous
-
Amount Requested:
The total fiat amount will be converted to XMR using a 14-day Exponential Moving Average (EMA) from a reputable exchange (e.g., Kraken) submission. A 10% buffer is added to the XMR amount to mitigate risks associated with XMR price volatility between funding and fund utilization.
Total Estimated Fiat Value: $13,750 USD 2 week EMA as of writing: $342 XMR Amount: 13,750 / 342 * 1.10 = 44 XMR
-
Abstract/Summary: This proposal seeks funding for a 10-week summer research & development project focused on enhancing the Monero ecosystem by creating a network simulation tool. The project involves setting up a Monero network simulation environment using the Shadow discrete-event network simulator, leveraging the ethshadow project as a foundational template. The primary objective is to create the network simulation tool which will then be freely available to use. Members of the MRL can also use it on the MRC hardware. Initial use of the tool will be to conduct tests for new Monero protocol updates. Additionally, this proposal includes a request for funds to procure additional hardware for the MRC. The primary acquisition will be a secondary UPS to enhance the reliability of the MRC, which will support this and future research endeavors. Secondary acquisitions include addition storage capacity for the MRC.
-
Motivation & Background: Robust network simulation is a powerful tool for understanding and improving complex distributed systems like Monero. It allows for the testing of protocol changes, security vulnerabilities, and network performance under a wide variety of conditions in a controlled and reproducible manner, without risking the live network. Indeed, during the MRL meeting on June 4th 2025, it was commented:
"SyntheticBird We really need that Shadow thingy for simulating thousands of nodes on a machine don't we... Rucknium Shadow could be useful here, yes."
Testing Protocol Updates: As Monero continues to evolve, proposed protocol updates require thorough vetting. A dedicated simulation environment will allow for early-stage analysis of their network-level impacts, performance characteristics, and potential unforeseen interactions.
Leveraging Existing Work: The ethereum/ethshadow project provides a valuable open-source template for integrating cryptocurrency software with the Shadow simulator. Adapting this for Monero can significantly accelerate the setup of a functional simulation environment.
Supporting Monero Research Infrastructure: The Monero research cluster is a valuable asset for community-driven research. Enhancing its power redundancy and capacity with a secondary UPS will ensure more stable and continuous operation for this and other research projects. (A recent power outage revealed our existing UPS has degraded. I am getting it replaced under warranty, but seeing that servers have redundant power supplies, I should get another UPS to ensure stability). Additional hard drives will also be obtained, as storage space may become a bottleneck for this simulation.
- Project Goals & Deliverables:
The primary goals of this 10-week project are:
Develop a Functional Monero Network Simulation Environment: Deliverable: A working Monero network simulation setup using the Shadow simulator, adapted from the ethshadow template, capable of running Monero nodes in a simulated network. Documentation on the setup and basic operation will be provided.
Research and Test New Protocol Updates: Deliverable: A report detailing methodologies for testing new Monero protocol updates within the simulation environment. This will include initial simulation results for the heavy FCMP++ implementation, focusing on network-level effects.
Enhance Monero Research Cluster Infrastructure: Deliverable: Procurement and installation of a new 3 kVA UPS for the Monero research cluster. Obtain additional storage for new dell poweredge 1tb ram server.
All software, scripts, and research reports generated will be made publicly available to the Monero community.
- Methodology:
Simulation Environment Setup: The Shadow network simulator will be the core tool. The initial phase will involve studying the ethereum/ethshadow architecture and adapting its Monero-agnostic components (e.g., node deployment, network configuration, data collection hooks) for use with monerod.
Protocol Update Testing: Once the basic simulation is functional, I will design scenarios to test specific aspects of new or proposed protocol updates. This will involve configuring simulated nodes with different software versions or parameters and observing network behavior, message propagation, and resource utilization.
- Timeline & Milestones (~10 Weeks):
I plan to begin around June 15th, as I have the summer off from my primary work obligations. As I don't know how challenging this work will be, I am hesitant to list specific milestones. Instead, I request that this CCS be a time-spent based CCS. I will provide updates every 2 weeks on my progress, and request payouts on the following schedule:
Immediate Payout: 8.7 xmr - funds to obtain UPS. ~June 30th: 11.8 xmr ~July 31th: 11.8 xmr ~August 23: remaining funds
- Budget Breakdown & Justification:
The total funding request is an estimated $13,750 USD, to be converted to XMR as detailed in section 2.
A. Personal Compensation (10 weeks of research work): Effort: Estimated 25 hours per week for 10 weeks = 250 hours. (will probably be more hours, but ~4 hrs per day will be my minimum effort) Rate: $35 USD per hour. Justification: This rate is requested for dedicated part-time research, simulation design, execution, and data analysis over the 10-week summer period. This rate reflects a commitment to delivering the outlined research goals, and the likelihood that I will be spending more time on this than detailed here.
Subtotal Compensation: 250 hours * $35/hour = $8,750 USD
B. Hardware:
Item: One (1) 3 kVA Uninterruptible Power Supply. Estimated Cost: $3000 USD. Justification: This estimate is based on current market prices for reliable 3 kVA UPS. It is about what I paid for the current one.
Item: Various PC / server hardware: Estimaged Cost: $2000 USD Justification: For the MRC, I pay out of pocket for the hardware required to mine monero, which includes mobo, cpu, minimal ram, minimal storage, PSU. To enhance the utility of this hardware for members of the MRL, there needs to be increased storage capabilities and ram capacity. Additional storage and ram is useless for mining monero, so I request funds for these expansions.
Effort: Cost for time spent installing etc is included in the above amounts.
Subtotal Hardware: $5000 USD
Total Estimated Fiat Cost: $8,750 (Compensation) + $5,000 (hardware) = $13,750 USD.
- About the Proposer:
I am Gingeropolous, long time community member and tinkerer. I've had 2 succesful CCS in the past. https://ccs.getmonero.org/proposals/gingeropolous_zenith_storage.html , and https://ccs.getmonero.org/proposals/gingeropolous_1TB_MRC.html . I am committed to the Monero project and believe this research will provide valuable tools and insights for the community. I plan to dedicate significant time and effort during the 10-week summer period to achieve the goals outlined in this proposal.
-
Final Notes: This project aims to be transparent and provide regular updates to the Monero community on its progress. All developed tools, scripts, and research findings will be open-sourced and made available for community use and scrutiny.
-
Expiration: If I am unable to work on this project as intended due to unforeseen circumstances, any remaining funds as of 2026-02-01 should be moved to the general fund.
Thank you for considering this proposal.