Published on Feb 21, 2020
Monero (XMR) is an open-source cryptocurrency created in April 2014 that focuses on privacy and decentralization that runs on Windows, macOS, Linux, Android, and FreeBSD. Monero uses a public ledger to record transactions while new units are created through a process called mining. Monero aims to improve on existing cryptocurrency design by obscuring sender, recipient and amount of every transaction made as well as making the mining process more egalitarian.[3] The focus on privacy has attracted illicit use by people interested in evading law enforcement. The egalitarian mining process made it viable to distribute the mining effort opening new funding avenues for both legitimate online publishers and malicious hackers who covertly embed the mining code into websites and apps.
Unlike many cryptocurrencies that are derivatives of Bitcoin, Monero is based on the CryptoNight proof-of-work hash algorithm, which comes from the CryptoNote protocol . It possesses significant algorithmic differences relating to blockchain obfuscation.[8][9] By providing a high level of privacy, Monero is fungible, meaning that every unit of the currency can be substituted by another unit. This makes Monero different from public-ledger cryptocurrencies like Bitcoin, where addresses with coins previously associated with undesired activity can be blacklisted and have their coins refused by other users.
In particular, the ring signatures mix the spender's address with a group of others, making it exponentially more difficult to establish a link between each subsequent transaction. Also, the "stealth addresses" generated for each transaction make it impossible to discover the actual destination address of a transaction by anyone else other than the sender and the receiver. Finally, the "ring confidential transactions" mechanism hides the transferred amount.
Monero is designed to be resistant to application-specific integrated circuit mining, which is commonly used to mine other cryptocurrencies such as Bitcoin. It can be mined somewhat efficiently on consumer grade hardware such as x86, x86-64, ARM and GPUs
Monero's blockchain protects privacy in three ways. Ring signatures enable the sender to hide among other transaction outputs, stealth addresses hide the receiving address of the transaction and RingCT hides the amount of the transaction. As a consequence, Monero features an opaque blockchain. This is sharp contrast with transparent and traceable blockchain used by Bitcoin. Thus, Monero is said to be "private, optionally transparent".
Monero has two sets of keys, called a "view key" and a "spend key". View key can be separately shared to enable optional transparency. However, the system is designed to ease processing on mobile devices, as it is impossible to calculate an accurate wallet balance without a spend key
A user needs client software, a so-called wallet, to interact with the Monero network. The Monero Project produces the reference implementation of a Monero wallet. This implementation is broken up into three parts. The main software daemon is called monerod and it is responsible for reading the blockchain and claiming the user's transactions. monero-wallet-cli is responsible for managing the user's account, also known as wallet address, and generating new transactions. Finally, Monero GUI allows the user to interact with the aforementioned components through a graphical user interface. All of the software produced by The Monero Project is open source and licensed under a broadly permissive BSD license.
Other third party implementations of Monero clients exist such as Monerujo which also make it possible to use Monero on Android. Finally, a web wallet allows users to interact with the network entirely through the browser using a third party website.