The promise of anonymity in the digital currency space is as old as bitcoin itself with the very first version promising, almost eight years ago, peer to peer anonymous digital cash. While that is overall true, it needs a lot of disclaimers as bitcoin can be anonymous, but requires a certain level of skill and knowledge to ensure your bitcoin transaction cannot be linked to your real life identity.
A number of mixers promised to obfuscate, but their promises were often overselling. Once they gained attention, faults became obvious. Some had a not so random “random numbers” generator, some were obfuscating bitcoin with mostly other illegally gained bitcoins, some were not actually obfuscating at all.
Seeing a niche market, developers presented new coins that incorporate mixing at the protocol level. Darkcoin and Dash made the round until people looked into it and found they were overselling. Monero, which has today risen astronomically to around $13 from $1 just a few days ago, is now making the same promises.
But, Is Monero Actually Anonymous?
Anonymity is the ability to do something others see, but do not know is you. Privacy is the ability to do something others do not see, but know is you. Monero promises both. In a simplified overview, monero uses a public address which operates like a deterministic wallet. The public address – unlike in bitcoin – is not the public key. Instead, the public address generates a new key every time it receives a transaction. Moreover, the key can receive a transaction only once.
The merchant gives you the very long (95 characters) public address to which you send funds. When you turn to the explorer, you don’t see this public address, you see something like the randomly picked transaction below:
What we see here (ignoring the background blue donation address) is a lot of information. We know, for example, 33.16 xmr has moved. We know they have moved from the public keys on the left to the public keys on the right.
If we focus on the left of the above image, the first input next to the minus sign lets us know three xmr moved from one of the four public keys listed just under. All of these public keys are real – as in contain funds and have a real user – according to luigi1112, one of monero’s core developers, and all of the listed public keys have sent three xmr to another key. We just do not know which transaction happened in this specific case, but we can click on each public key and learn more information.
The second one, for example, shows this:
This is a very vanilla transaction – we know nine xmr was sent from the public key on the left to the public keys on the right in the amounts shown on the right. This is fully traceable, according to Luigi, but, it doesn’t have to be this simple. The third public key, for example, shows this:
This tells us a lot of things. If we focus on the first input, we know 0.9 xmr moved from one of the three public keys on the left to one of the outputs on the right.
Exact times of when these transactions occurred are not shown, but we have a block number, we should be able to get a time, at which point it should be relatively easy to tell what exactly is going on.
We can say, for example, with a fairly high level of certainty, that the fourth public key is the actual input to the three xmr transaction. We know this because it is the latest transaction and thus has the highest block number of the other four (as it must due to basic logic and fundamentals). As such, we know exactly what address is sending what to where:
We still have anonymity. We know roughly what is happening, but we don’t know who is acting – no different than bitcoin except that the long public address, as you can see above, is different from the public key.
So you can accept payments without revealing any information, but the sender can learn your public key which then becomes an input when it is moved to an output. Moreover, if you’re moving large amounts, it may be easy to see what’s happening, and, if we add transaction times, everything may become clear, but attributing that to the public address and an identity may be more difficult.
That, of course, is the technical aspect. In the real world, funds are eventually converted to fiat. Exchanges would probably want to know where they are coming from, which would require sharing all previous history, allowing for a mapping of all transactions.
Monero becomes less anonymous as users interact with merchants and exchanges, and though it may be difficult to analyze transactions, it has certain qualities which do allow for educated inferences, especially in combination with other non blockchain related information.
In conclusion, Monero’s three features – a public address different from the public key – a blockchain explorer that shows previous transactions together with the relevant transaction and enforced non-reuse of transactions, do add more anonymity from a technical point of view. However, combined with real life data, it is not clear how far such anonymity applies.