Monero is an anonymous digital currency that enables untraceable and unlinkable transactions by obfuscating a public ledger. It combines ring signatures, stealth addresses, Kovri and RingCT in a way that hides senders, recipients, their IP addresses and transacted amounts
In the today’s data-driven world, the issue of privacy is drawing an increasing amount of attention. And rightfully so, as privacy is an essential human right. One must at all times be able to retain this right and protect one’s personal data from mining by tech giants trying to figure out browsing and spending patterns.
Monero (XMR) is a peer-to-peer cryptocurrency that seeks to address the issue of privacy present in most today’s cryptocurrencies. Bitcoin, the original cryptocurrency, is pseudonymous, meaning it offers some level of anonymity as long as nobody knows the real-world identity behind a particular public address. As we’ve come to learn, identities can, in fact, be linked to addresses by analyzing transaction patterns associated with an address.
Unlike most blockchains that achieve security at the cost of privacy, Monero harnesses the magic of cryptography to provide an anonymous digital cash system. Monero transactions are often described as unlinkable and untraceable. While those are similar concepts, it is important to note that unlinkability implies that no transaction can be linked to any particular address with a sufficient amount of certainty, and untraceability means that coins cannot in any way be traced back to previous transactions, which essentially makes XMR fungible.
How does Monero work?
Monero combines a number of techniques to address each component of a transaction. These components and the respective techniques are as follows:
- sender’s address — ring signatures;
- recipient’s address — stealth address;
- amount of funds sent — RingCT;
- their IP addresses — Kovri, an I2P router.
Ring signatures are not a new invention and have been used here and there from the early 00s. But before we can understand them, let’s go back and talk about transactions.
Like in many other cryptocurrencies, in Monero transactions are done by passing the right to spend coins from one user to another using digital signatures. A user makes a transaction by referencing all the outputs of past transactions by which they came into possession of the coins.
A ring signature is a digital signature that obfuscates the sender’s output by mixing it together with other past transaction outputs randomly pulled out from the blockchain. An outside observer has no way of telling the true source of the transaction, which, in other words, hides the address of the sender. But with no one to know who sent the transaction, is there a way to tell if the money has not been already spent? Yes, by way of key images. A key image is a unique cryptographic key of an output and is attached to a transaction. Though each output has a unique key image, there is no way of telling which key corresponds to which output. Thus, key images prevent double-spends.
Each Monero wallet address is a 95-symbol string which contains a public view key and a public send key. When a user initiates a transaction, their wallet takes the recipient’s view and send keys as well as some random data to generate a one-time public key known as a stealth address which is then broadcasted to the network. Everyone can see the stealth address but no one can read it, except the transacting parties. The sender, if they ever need to, can use the stealth address to prove that they actually sent the money. The recipient uses their private view key to find the stealth address and retrieve the money. The recipient will be able to generate a one-time private key that corresponds to the one-time public key and spend the money using their private spend key.
Ring Confidential Transactions
Ring Confidential Transactions, or RingCT, are a mechanism that hides the amount of a transaction by hiding the funds in rings with other coins. Whenever a user sends a transaction, they make a commitment declaring that the sum of the inputs and the sum of the outputs of their transaction are equal. Users cannot commit to a negative value of the sum to get coins due to a special protection called the Range Proof, which makes sure the sum is greater than zero. The commitments are then can be read by miners and verified.
Kovri is an anonymity technology developed by Monero. It is an I2P router which hides the IP addresses of Monero users by passing the transaction data through an overlay network. The message goes through a network of nodes which cannot read the message but know where to pass it. Each time the message passes through a node, it is encrypted once again. Kovri is currently under development.
- Monero was launched on April 18, 2014 as a fork of Bytecoin.
- Monero uses a Proof-of-Work mining algorithm called CryptoNote v 2.0 which was described by Nicolas van Saberhagen.
- Piconero is the smallest unit: 1 monero = 1000000000000 piconero.
- Block rewards in Monero gradually decrease until the total supply reaches 18.123 million XMR and the tail emission stage begins (expected to happen in May 2022). At that point the lowest block reward will be set at 0.6 XMR. This implies a theoretically infinite supply of XMR and a 0.87% yearly inflation. For more math, read /u/Amichateur’s post on Reddit.
- The block time is 2 minutes.
- There are 7 core developers, the 2 known developers are David Latapie and Riccardo Spagni.
- Monero is designed to be ASIC-resistant and can be somewhat efficiently mined using CPUs and GPUs.
- The word ‘monero’ means ‘coin’ in Esperanto.
- As of October 2018, Monero places 10th on coinmarketcap.