CT-013: Moneranoj: Unite or 'curb your cypherpunk'
This is the 13th report in the Cypherpunk Transmission series.
\Mon-er-an-o-j\ (eo) [n,pl]: members of the Monero community
Motivation
This special transmission offers a big picture view of current Monero research & development efforts and it should be perceived as an invitation for astute non-devs to get more involved and help the project grow and become more resilient.
Assumptions
- you are not a dev, but you believe in the cypherpunk movement and want Monero to succeed
- you are an independent, open-minded critical thinker
- you can find and dedicate a portion of your free time to this effort
1. A big picture view
1.1 State of affairs
One could attempt to visualize Monero as a bag of nuts:
- the kernel (0.1% population: core devs, researchers;)
- the nutshell (0.9%: helpers, maintainers and contributors;)
- the nut bag (99%: users, thinkers, everyone else spectating;)
Let’s take a closer look at those numbers: assuming a total population of 300,000, do we actually have 300 devs and researchers working on the project’s kernel and a group of 2,700 extra helpers and contributors?
Keen observers of weekly workgroup meetings and dev activity, know that the answer is clearly no. Unfortunately, we are off by at least an order of magnitude.
1.2 The issues
If it is not yet clear why that can be a key issue for Monero, we can go into it.
The handful of industrious people working on Monero are doing their best to steer the project down the path they perceive to be the right one. That’s what anyone in their position would do. But are we still on the original cypherpunk path? Or are we slowly sacrificing user privacy for extra features and in the name of adoption?
How could users really tell? By looking at the price and market cap? By reading mainstream FUD articles? By watching adoption metrics? By simply using the digital cash and hoping for the best? Could that be good enough?
The default reaction is to delegate all responsibility to the devs, cheer for the companies that are building around the project, and whenever something goes wrong just turn around and blame the same devs and companies. Is that fair and productive?
A rare and extraordinary decision would be to accept some of that responsibility and get more involved, learn and eventually work with the experts, become one, build and maintain more cypherpunk projects.
Even if you’re not a cryptography expert, you don’t know C++, and you can’t even work with a terminal, you could still come help us strengthen the nutshell. There are ways.
2. Getting involved
To contribute, one needs to first understand some of the challenges Monero is facing today, and the solutions proposed by our devs and researchers.
Let’s look at a few examples that are still relevant today, try and ask valid questions, and explore some learning options:
-
Monero might get flexible multi-tier address schemes thanks to Seraphis/JAMTIS.
-
Q: Could the introduction of view-only wallets that can see spent outputs potentially become a privacy issue for users as more and more parties start using those kind of wallets?
-
Tip: Read the Seraphis wiki1, participate in weekly Seraphis meetings2 (or read the meeting logs/summaries3) and learn how to formulate and ask the right, tough questions.
-
-
Monero currently still has the tx_extra field, but it is a known fact that using it is likely to decrease privacy.
-
Q: What is it used for? Should we remove the field, or try and ‘fix’ it somehow?
-
Tip: Learn more about the topic4, maybe test the feature yourself, join MRL meetings5 and get involved in the ongoing debate on Github6’7’8 when you are ready to ask a constructive question or suggest an efficient solution.
-
-
Eliminating Monero’s 10-block-lock could considerably improve usability, but it could also harm privacy.
I could go on, but you probably get the point by now. Just keep an eye on dev activity12 (merged PR’s and new issues) to get in the loop.
It might take some time before you write a single insightful comment on a relevant issue, or contribute something of value to a research meeting, but that’s okay. Just be persistent, question everything, and never stop learning.
You don’t have to be a developer to do this and it is unnecessary to ask for permission from anyone. Monero’s future is not set in stone and your voice can indeed be important.
Remember that Monero is not a company, and we move forward by reaching loose consensus. The more eyes on the issues, code, and proposed solutions, the stronger the process becomes: 50 people agreeing on something is much more reliable than 5.
Observations
- always do your own research before asking questions and wait for feedback, don’t spam
- this is just an introduction, it’s my big picture, and you need to find yours
- if you don’t feel prepared for this kind of leap, read my Ultimate guide for new Monero contributors13 and start with other constructive tasks instead
- there is always a need for more Gitian builders14, see if you can help with that
- watch the Breaking Monero15 video series and read CT-008: Mitigating dusting attacks in Monero CLI16 to learn more about attack vectors and potential mitigations
- for more technical users that are ready to push some code, do it anonymously (CT-005: Contributing to Monero anonymously17); new researchers consult Rucknium’s Open Research Questions18 and join the #monero-recruitment Matrix room (instructions19)
- learn the art of asking tough questions politely and respectfully interact with other Monero contributors - they are doing the best they can, just like you
- suggested reading: Mastering Monero20, Zero to Monero - First Edition21, Zero to Monero - Second Edition22, The Monero Standard23, Rucknium’s OSPEAD24, tevador’s JAMTIS paper25, UkoeHB’s Preliminary Seraphis Design Overview26
That’s it. Share this transmission with others that might be interested in helping Monero stay true to its original values so we don’t have to curb our cypherpunk any time soon.
Feedback
Let me know if you find this helpful and, depending on interest, I will do my best to post a new Cypherpunk Transmission report every (other?) Monday.
Questions, edits and suggestions are always appreciated @ /about/.
-3RA
Credit goes to gnuteardrops from monero.graphics for the amazing xkcd graphic. Work and xkcd Script font licensed under CC BY-NC 3.0.
-
https://github.com/noncesense-research-lab/monero_tx_extra/blob/master/ascii_data.md ↩
-
/ukoehb-invites-community-input-radical-proposal-eliminate-monero-10-block-lock/ ↩
-
https://github.com/monero-project/monero/tree/master/contrib/gitian#gitian-building ↩
-
https://redirect.invidious.io/playlist?list=PLsSYUeVwrHBnAUre2G_LYDsdo-tD0ov-y ↩
-
/cypherpunk-transmission-008-mitigating-dusting-attacks-monero-cli/ ↩
-
/cypherpunk-transmission-005-contribute-monero-anonymously/ ↩
-
https://forum.monero.space/d/79-how-to-join-the-monero-core-team-matrix-server-web ↩
-
(pdf) https://getmonero.org/library/Zero-to-Monero-1-0-0.pdf ↩
-
(pdf) https://getmonero.org/library/Zero-to-Monero-2-0-0.pdf ↩
-
(pdf) https://raw.githubusercontent.com/Rucknium/OSPEAD/main/OSPEAD-Fully-Specified-Estimation-Plan-PUBLIC.pdf ↩
-
https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024/ ↩
-
https://gist.github.com/UkoeHB/f508a6ad973fbf85195403057e87449e ↩