Introduction to Monero

Monero - a brief background

Monero is a cryptocurrency launched on April 18, 2014 as a fork of Bytecoin. Bytecoin (not to be confused with Bitcoin, approx. Lane) was the first digital currency implementing the CryptoNote protocol (more on this later in the text). As soon as the ByteCoin surfaced on the Bitcointalk forum, people discovered a lot of suspicious properties, along with the fact that more than 80% of all emissions were already mined. Thus, the community decided to re-release it, starting with a clean slate, with zero premin. So Monero appeared.

In the first months of its existence, only command line utilities were available to Monero users. Therefore, many users continued to ask developers, while not fully understanding the set of highlights in the Monero codebase, to create a graphical user interface (GUI). They listened and started working on it, but suddenly, on September 4, 2014, a sophisticated attack fell on the Monero network, so developers had to revise priorities and devote all the time to the core in order for the system to be resistant to attacks (for more on this in the MRL document -2 ).

By the end of 2014, Ricardo Spagni (Riccardo Spagni) launched a Web-wallet under the brand “MyMonero”, which is available at In the meantime, it seemed to an outside observer that nothing special was happening in the work on the project. However, the developers did a very serious job, such as moving the block chain to LMDB, which allowed the Monero daemon to work on computers with a limited amount of RAM. Multi-language mnemonic-seed support was also implemented to facilitate the creation of private key backups. A large amount of code and documentation was written to implement quick synchronization of the block chain, faster daemon operation, integration with I2P, etc. started. Ultimately, the graphical user interface project was resumed at the beginning of 2016.

Interchangeability (fungibility)

The goal of Monero is to create a network of interchangeable currency. What is “interchangeability” (fungibility) and why is it so important?

Interchangeability is the most important property of any currency. This property makes it possible to 100% exchange one currency unit for another. There should be no difference. Each coin must have the same value.

On the Bitcoin network, every transaction can be tracked. This can create problems when receiving transfers from unfamiliar sources, as well as later when trying to spend these funds. You can be charged with crimes in which these funds were used. This greatly underestimates the cost of such “dirty” products. Another problem with tracking transactions is that others can find out your balance or determine where you spend your money.

However, you can try to cover the traces of your transactions. This technique is called “mixing” and can be implemented in various ways. Sometimes centralized, sometimes decentralized, but there is always the chance to see that certain coins have passed through the mixer. Using this technique in one way or another leads to problems, because “dirty” coins are usually used for mixing. Optional privacy does not solve the problem of lack of currency interchangeability.

You can try to cover your tracks, but if you try to mix your coins using coinjoin or any other anonymizer, these transactions will still be marked as “potentially suspicious” activity, since it is immediately obvious that the coins were mixed, even if you yourself remain anonymous.

So do not confuse anonymity with interchangeability. The mixing technology works only if it is used by default by all users. If everything and always mix up transactions, then no one can say anything concrete about the data in the block chain.

Ring signatures

Ring signatures are used to hide the real inputs of transactions in such a way that it is impossible to tell what the history of each output of this transaction is in the block chain.

A ring signature is an electronic signature that allows one of the group members (called a ring) to sign some message on behalf of the entire group, and it will not be known for certain which of the group members executed the signing. Ring signatures and their applications - CryptoWiki

Ring signatures are applied to each input of any transaction. The sender randomly selects other outputs with the same amount from the block chain and signs them with his private key. The sender does not need any confirmation from the owners of other exits. All this can be done in a disconnected mode to safely create and later transfer to the network a transaction from an already connected computer.

You will probably ask yourself how double spending is determined if a plausible negative is present for each transaction output? Mathematics gives the answer again. Together with the transaction is published the so-called “key image”. He proves that one of the inputs of the ring signature is real and when the sender tries to do double waste, the “key image” will be absolutely identical. More information about the cryptography underlying it can be found here .

Since the entire network ensures compliance with ring signatures, all coins are always mixed. This makes them interchangeable at the protocol level in Monero. If we compare this with the privacy features implemented in Bitcoin, ZCash or Dash, we can clearly see the difference: if transparent transactions are possible on the network, regulators will be able to demand transparency in certain circumstances, so interchangeability becomes impossible.

Last but not least, this is proven cryptography. It has existed since 2001, so we can assume that it is quite reliable. Unlike ZCash, which is very new and still not well tested.

Stealth addresses

Monero has implemented “Stealth addresses”, you have one (public) address that you can give to anyone without letting observers know anything about the transaction history or the balance of that address. Monero's address system uses two private keys: viewkey (key for viewing) and spendkey (key for spending).

The private key for spending works like a similar private key in Bitcoin - you sign transactions with it. The keys to view the same is used to search for incoming payments in the block chain. Only if you have access to the key to view you can find out the exact output of the transaction associated with your Monero address.

In Bitcoin (and most other cryptocurrencies), repeated use of addresses occurs constantly and this greatly reduces the pseudo-anonymity of the network. Stealth addresses provide an easy way to protect and improve privacy. These block chains will not show links between multiple transactions.

Despite this, not everything is so beautiful: if you use the address in several places, you can link transactions outside the chain of blocks. If you withdraw funds from the stock exchange and use the same address in your online store where you sell plants, law enforcement agencies can link your transactions based on data from the use of the same address. For this reason, it is recommended to use the “one-time address” technique for each of the services. All funds will go to the same account, but it will be impossible to link transactions outside the chain of blocks.

RingCT Confidential Transactions

Ring confidential transactions is a new signature system proposed by scientist Shen Noether in document MRL-5. You can find its first edition in Ledger magazine. This signature system is based on the research of Gregory Maxwell's confidential transactions, but is adapted to work with ring signatures.

This technology allows users to hide transaction amounts. And it is the “last part of the mosaic” for complete anonymity on the Monero network. The technology also resolves some borderline cases that may compromise the privacy of Monero. RingCT was activated on the Monero network on January 9th, 2016. Initially, the RingCT was optional, but in September 2017, after the planned hard upgrade, the RingCT technology in Monero will become mandatory, without any possibility to bypass it.

Kovri - I2P

These block chains are only one vector of attack on the privacy of cryptocurrency users. It is known that Chainanalysis is trying to identify users through their IP addresses. The Kovri project aims to implement an I2P router in C ++, which ultimately allows Monero users to hide their IP addresses while sending transactions. Kovri is not yet integrated into Monero and is still in early development.


Monero is a very important and revolutionary technology. It allows you to hide the sender, recipient, amount and transaction history. Monero, unlike ZCash, does not require confidence in the participants of the “trusted setup” show and has been working in the field for more than 3 years. Privacy is guaranteed by the protocol and Monero provides a much larger set of tools for anonymization than Bitcoin mixers or any other cryptocurrency with peripheral privacy features. Monero allows users to make confidential transactions on a decentralized network and resist possible attempts at government regulation. Monero is true digital cash.

Original article: Introduction to Monero - We Use Cash .


All Articles