Monero RingCT Cheatsheet

Here I am with the third issue of this Monero-related cheatsheets series. Just a quick recap of previous episodes:

  • Monero Addresses Cheatsheet where we have seen everything is needed to forge one-time Stealth Addresses to decouple on-chain payee address from the one advertised to receive the payment

Now we put together what we have previously learnt to obtain the typical Monero transaction at the time of writing (Q2-2021), i.e. RingCT Type 5 (the CLSAG-based one). Doing so, the third ingredient of confidentiality is employed as well: Pedersen Commitments are used, together with other stuff, to hide exchanged Moneroj amounts.

That’s why this cheatsheet features a conceptual diagram of transactions structure, but also:

  • a basic introduction to Pedersen Commitments and their main properties

What the cheatsheet instead lacks is a satisfying Bulletproof treatment: given the complexity of underlying Zero Knowledge Proofs, in this context only the solved problem is cited, i.e. the risk of currency inflation -Moneroj creation from scratch- due to cyclic groups “overflow” for multipliers ≥ group order (I guess seeing it as an “overflow” is not so common, but imho it’s a more gentle introduction than speaking about negative amounts, even if they are just two ways to see the same problem).

In credits section you can find, apart from various documental sources, some tools I have found valuable to dig deep in these topics.

Cheatsheet’s Github repository:

As previous ones, this cheatsheet has been proposed for Library section of Monero official site (via Pull Request #1655), and it’s pending review and -hopefully- approval.

July 2nd, 2021 EDIT

IT and networking professional, crypto & blockchain enthusiastic, science and tech hungry guy.