Cryptographers and privacy advocates have always been searching for the Holy grail of anonymous oline transactions.
Initially, many thought of Bitcoin as the de facto currency of privacy. There were no names attached to the wallets and money could be sent freely and easily across borders with no interference of regulatory agencies.
Yet, as it has become more popular people have realised that the very public nature of its blockchain means that individuals can quite effectively monitor and trace payments online.
This was one of the main motivations behind the creation of Monero, the privacy focused digital currency. Before we can delve into the technology of Monero, we have to understand why Bitcoin may not be as private as many may think.
The Bitcoin Flaws
Altough the technology behind Bitcoin is indeed revolutionary, it is over 8 years old. As we have seen recently, there are many developers who are trying to improve the Bitcoin protocol with regards to scaling, transaction times etc.
Although Bitcoin is indeed anonymous, the nature of the Blockchain means that people can easily see the transaction activity on that wallet. Whenever money has to flow between these wallets then they are entered into the public ledger.
Your bitcoin address, which is a collection of random strings and digits, cannot be linked to you. Yet, the transaction chain that links your wallet to an account at a Fiat money exchange can easily reveal you. There are companies such Chainalysis which have software to easily identify movements of funds.
Some people think that this is a positive trend as it will allow for the more mainstream adoption of crypto currency and will flush out the likes of the criminal and darkweb underbelly.
However, there are still a large amount of people who would like to use their cryptocurrency without people knowing how much they have, who they are sending to and who they are receiving from.
Monero vs. Bitcoin
Monero (XMR) is also a cryptocurrency that makes use of blockchain technology to facilitate transactions. These transactions are also mined by computers who verify the transactions.
Yet, unlike Bitcoin, Monero uses advanced crypto graphical concepts such as “ring signatures” in order to hide your transaction from the blockchain as well as how much money you have in your public wallet address. Monero is also able to hide the amount of money that is being sent to you.
Although this may satisfy all of the privacy advocates, there are a number of other notable advantages of Monero over Bitcoin
- ASIC Resistant Mining: When Bitcoin first started being mined back in the early days, people were able to mine it on their home computers using CPUs. This was because the computational difficulty was not as high as it is today. Nowadays, there are very expensive Application Specific Integrated Circuits (ASICs) which are used to mine Bitcoin. These are usually in the hands of large scale mining farms that have invested large amounts of money. As such, the very nature of decentralised mining has become rather centralised. With Monero, the Cryptonote mining algorithm is resistant to this type of hardware and as such keeps the mining decentralised
- Adaptive Block Size: For those who follow the current debates in the Bitcoin community, increasing the block size limit has been one of the hottest topics. The limit on the size of the Bitcoin blocks is causing significant congestion on the network. Monero was coded such that the block size will automatically adjust should the transaction volume require it.
- I2P Protocol: When transacting with Monero, all of the transactions are routed through the I2P invisible internet project. This will ensure that no one can snoop on your internet activity and monitor what you are doing. This means that people won’t even be able to tell that you are using the Monero network at all when you are online.
How a Monero Transaction Works
Although Monero seems like a relatively straightforward concept, the actual mechanics behind a Monero transaction are really involved. It incorporates some of the most advanced concepts of modern cryptography and computer science.
For those interested in studying the underlying technology of a transaction, the original Monero whitepaper is available for public view. However, one can give a high level description of how a Monero transaction works and how it remains private.
Like Bitcoin, a Monero user will have a public address that is a set of strings and numbers. However, unlike Bitcoin there will not be any funds that are directly associated with this address.
When you send some Monero to someone else, a temporary public address is created. This address has also only been created for the exact purpose of this transaction and is brand new. Hence, the public blockchain does not have any record of that transaction.
This of course goes both ways. When you send funds the source of the funds is not recognised as your own public address. Hence, nobody is able to tell that you sent Monero to someone else on the network. These a dresses are termed “stealth” addressees and are known by no one.
Finding Your Monero
Of course, the recipient has to be able to claim his / her funds from the stealth wallet. In order for the recipient to receive these funds they have to scan the Monero blockchain to find their transaction. In order to do this they use something called a “secret view key”. This checks each transaction to see which of those apply to the receiver.
This secret key is only known by the receiver. This means that no one else is able to look into the blockchain and identify any payment that was not related to them. You can also give this secret key to someone else and they can also scan the blockchain to see if any funds were sent to them.
With the transaction above, there is an unlinkability. What this means is that no one who is viewing the Monero blockchain is able to link a transaction to your public address. However, the original sender of the coin is still able to see when the recipient is sending funds. In order to avoid this Monero uses “ring signatures”.
These signatures are what allow the transaction mixing. When the sender sends a transaction, they randomly selects other user funds to also appear in the transaction. Hence, these senders could also be a source of the funds that are being sent.
When using these ring signatures, no one can tell who is actually sending the funds, not even the person who originally sent the funds to the recipient.
Obviously, with the nature of crowds, the more people that are added into the mix the more obscure the transaction. The number of people that are included in a transaction mix are referred to as the “mixin level”. You can increase the size of the mixin level but this will then increase fees in order to use the networks computational resources.
To the person who sent you the funds, even if you are not transacting it will look like you are. As you are connected to the network there will be the appearance that you are continually sending money to everyone the entire time.
You may also be asking that if all the transactions are masked and no one can tell who is sending Monero accross the network, how do miners make sure that Monero is not being double spent? This is made possible by the use of “key images”.
Key images is a cryptographic key derived from an output being spent and is part of every ring signature on the blockchain. There is only one key image for each output on the blockchain. Due to the cryptographic properties one can’t tell which output produced which key image. All used key images are maintained in the blockchain so miners can verify no transaction is spent twice.
Ring signature technology is also used in order to hide exactly how much money is being sent. Ring Confidential Transactions (RingCT) is a relatively new addition to the Monero protocol that uses a cryptographic function that masks the amount of the transaction from the blockchain but not from the sender and receiver.