Users have a public address where they receive funds. The fact that this address is a public one means that anyone can see what your funds are.
When you want to send funds to another person, they will also have to tell you your public address, and you will be able to see the funds that they have stored there.
When you are sending funds to someone else, you basically announce the whole Bitcoin network that the funds that you own belong to the public address of the recipient. This means that everyone is able to see that the ownership of funds has moved from your public address to another one. This is how transferring Bitcoin works.
Monero users also have their very own public addresses. One of the main differences compared to Bitcoin is that the funds that you own will not be associated with the public address and this means that if you tell someone this address, they will not be able to see the funds that you have stored there like they would be able to in Bitcoin’s case.
When you are sending funds to someone’s public address, you actually send them to a randomly created brand new one-time destination address. In other words, the public record doesn’t contain any mention that funds have been received to the recipient’s address. This is also the reason for which the funds that you’re sending are not associated with your own public address. When you’re sending these funds, the public record will not show that the origin is your public address and it won’t show that the funds were sent to the recipient’s own public address.
Monero users can benefit from the fact that their public addressed never show up in the public record of transactions. On the other hand, a “stealth address” is recorded and only the recipient will be able to recognize the incoming funds.
When the recipient checks their funds, they will need to scan the Monero blockchain in order to see if any transactions are taregetd at themselves. The recipient has a secret view key which is used to check each transaction to see if it’s addressed to them. The recipient is the only one who is aware of the secret view key, and only they see that funds have been sent to them.
If you launch your Monero wallet, you will see that it’s scanning the blockchain. This is done to verify if any transactions have occurred with you as a recipient. It’s also important to note that you have the ability to offer your secret view key to other users so that they can also see the funds that you’re receiving. They will not be also able to make transactions on your behalf.
Monero works with un-linkability
Everything we’ve addressed above describes the concept of un-linkability. This involves the fact that received transactions are only associated with a one-time address that’s not linked to your public one. Two transactions that are sent to a public address will not be able to be associated as having the same recipient.
The sender of a transaction should not notice when the recipient spends the funds in a new transaction. Monero solves the problem via the use of ring signatures. These allow transaction mixing which involves the fact that when funds are sent, the sender randomly chooses several other users’ funds to appear in the transaction as potential sources of the funds.
The ring signature has a cryptographical nature, and this means that no one will be able to tell which of the funds are the source of the transaction – not even the user who gave the funds to the sender.
Each ring signature usually has a system of key images that are associated with it and makes sure that even if no one can tell the funds’ source, it can be easily detected if the sender tries to send their funds twice anonymously.
The number of users who are added to the list of possible senders can change the charge for a transaction. Is there are more people added to the list of potential senders, this will increase the size of the transaction which has to be processed by the Monero network, resulting in a higher fee.
RingCT is an extension to the system of ring transactions. This hides not only the source of funds that are being sent, but also the amounts of the funds. This can be achieved by applying a mathematical function to all funds. Public observers will be able to see that the transactions are legit, but only the sender and receiver will be able to know the actual amounts. This system can successfully prevent attacks via blockchain analysis which could happen if the real amounts of transactions were public.
Project Kovri hides Internet traffic
Project Kovri is currently in development, and it hides the Internet traffic. This way, passive network monitoring cannot reveal that you’re using Monero. This can be achieved by encrypting all Monero traffic and routing it via I2P nodes – Invisible Internet Project. The nodes pass your messages, and observers cannot see them. A passive observer can tell that you are using I2P, but they cannot tell what you are using it for or what destinations you’re interacting with.
As you can see, Monero’s privacy features make the transfers more complex compared to Bitcoin’s. The community of developers is continually researching and enhancing all aspects of Monero’s privacy mechanism to keep it at the top position of privacy-focused cryptos.