Monero (XMR): A Reasonably Private Digital Currency
What is Monero?
Monero is a private-centric cryptocurrency launched in 2014 to allow direct and anonymous digital payments without being dependent on a central authority.
Monero GUI (graphical user interface) and Monero CLI (command line interface) is installed by default in Whonix ™. The
monero-gui package is installed by default. No manual installation required. This goes for Monero programs,
monerod and less frequently used utilities; see footnote. 
Apart from these hints, installation and usage of Monero in Whonix ™ does not differ from installing Monero on any Linux based distribution.
monero-gui package is maintained similar to Debian stable frozen packages.
monero-gui package updates will only include updates which are major releases or releases that fix security or network issues.  This is to reduce the maintenance load of the package maintainer.
Should the user wish to use a newer version of Monero than available in the package, it is possible to uninstall the
monero-gui package. (Uninstallation is optional if Monero is manually installed in home folder. ) Since Whonix ™ is based on Debian, the user can optionally install Monero using the usual instructions from the Monero website. Recommendations from the safely installing software wiki page such as Verifying Software Signatures applies. See also Install Newer Software Versions.
Start Monero GUI
Open a terminal.
If you are using Qubes-Whonix ™, complete the following steps.
Qubes App Launcher (blue/grey "Q") →
Whonix-Workstation ™ App Qube (commonly named anon-whonix) →
If you are using a graphical Whonix ™ with XFCE, run.
Start Menu →
For detailed instructions on how to use Monero, please refer to the official Monero documentation.
Figure: Monero GUI in Whonix ™
Start Monero CLI
Alternatively, you could also use Monero on the command line.
Remote Node Security and Privacy Considerations
Using a remote node provides a quick way to set up your Monero wallet. You will not have to download the entire blockchain.
It is important to note that the remote node:
- cannot spend your XMR (you hold the keys);
- does not know your IP address (we are connecting to it over Tor);
- does not know your XMR address; and
- does not know your balance or private view key.
However, using a remote node is not without risk. To learn more about the possible attacks, see: https://moneroworld.com/
In general, if the wallet warns you about the node misbehaving, then immediately exit the wallet and connect to a different node.
To enforce stream isolation, you could experiment with the following commands.
When using Monero from monero-gui package you can use the following command below as is. Otherwise replace
monero-wallet-cli with the actual path to monerod, for example
For more inspiration, refer to the related forum discussion: Monero in Whonix ™ with torsocks for better stream isolation.
To avoid any issues with Whonix ™ meta package removal, first install the
B. Install the
apt command line parameter
--no-install-recommends is in most cases optional.
The procedure of installing package(s)
dummy-dependency is complete.
Done, removal of the
monero-gui package is complete.
After installing Monero, please consider making a donation to Whonix ™ to help keep it running for many years to come.
It is recommended to read the Money wiki page as it contains a lot of related information on how to make anonymous payments.
Advanced Qubes users can also look into How-to: Use Monero with Wallet Isolation in Qubes-Whonix ™.
Gratitude is expressed to the donors of Monero who funded the proposal Monero Debian Package Repository for 2 years, to @rehrar for helping the creator of the package (Whonix ™ developer Patrick Schleizer) with writing the proposal, everyone else who supported the proposal, and the community of Monero developers and users at large for creating Monero. 
Major updates will be posted here: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/130
Development blog: https://forums.whonix.org/t/monero-and-whonix-sitting-in-a-tree/5949
Monero works by having contributors host large files which are equivalent to a public ledger. Any time someone broadcasts a transaction, every ledger maintainer updates their copy of the ledger and ensures no cheating or fraud has occurred. As with most cryptocurrencies, transactions are sent to Public Addresses which are derived from personally created private keys.
Since transactions could otherwise be traced by watching which addresses are sending to each-other, Monero uses a Diffie-Hellman key exchange using the transaction information on the sender's side and the public address on the receiver's end of a transaction to encrypt the recipients address on the ledger. To protect the sender, spending Monero is equivalent to forwarding the output of the previous transaction, so a users address is never stored on the ledger at all - this technique is called Stealth Addressing.
Since this solution is imperfect, and allows EABE attacks and is dependent on ECC for the key exchange, Monero uses a second layer of anonymity called Ring Signatures. When signing a transaction and broadcasting it to the network, Ring Signatures take signers from previous transactions and forge a new signature with Ring Size = N, where you cannot tell which entity in the group N actually authorized a transaction. This further obfuscates the blockchain and reduces the available attack vectors on the cryptocurrency as a whole, as well as introduces several zero knowledge proofs which prevent absolute analysis of the ledger.
Ring Signatures combined with Stealth Addressing prevent many attack vectors, but since new transactions are forwarded outputs from previous ones you can still perform analysis by viewing the amounts spent on-chain. To address this potential issue, a solution called RingCT was introduced which obfuscates the amount spent in a transaction.
Further attack vectors including cross-referencing an address posted in multiple places and IP leaks when connecting to the network are further developments sought out by the Monero community. These potential issues are addressed with Subaddresses and Kovri respectively.
The former Manual Monero Instructions have been archived for historic reasons.
- Such as fixes required if the Monero network is under denial of service (DOS) attacks.
A manually installed Monero won't interfere with the
monero-guipackage. That is, unless the user installs Monero to folder
/usr/bin. (Files in that folder would be replaced when the
monero-guipackage gets updated. However, the Monero start menu entry might be confusing since the start menu entry would start Monero from the
monero-guipackage (from folder
/usr/bin), and not the manually installed Monero.