In search of improved cryptocurrency privacy with Dash, Zcash and Monero

Tuesday, April 24, 2018

When we talk about cryptocurrencies we often find ourselves with the belief that their use is completely anonymous. However, those who have investigated a little about them (because it is impossible to know about all of the ones which exist) will know that this is not necessarily the case; taking into account that many of the operations are perfectly traceable in the corresponding block chains.

In this way, if we come across Bitcoin or Litecoin addresses in an alleged criminal activity, we can trace the operations back to those which have been found involved, as well as navigating forwards or backwards in time in the block chains. At the same time, we should also get to know the internal history of this cryptocurrency, as if a hard fork has been produced it could be spending these bitcoins in different block chains under different rules. An example of this is the investigation which we published a few weeks ago about the Wannacry addresses tracking the clues through both the Bitcoin and Bitcoin Cash block chains.

So what should we do if during the course of the investigation we end up finding ourselves with a cryptocurrency which we do not have under our radar or which we do not know? Well firstly, most of the time, we will search in Google. However, the Coinmarketcap.com project could be used as a first reference, as it can further provide information about the average rate, which includes official websites of the project and some explorers from the block chain of each cryptocurrency.

Información proporcionada por coinmarketcap sobre Bitcoin Cash imagen
Figure 1. Information provided by coinmarketcap about Bitcoin Cash


Why do they insist so much upon an anonymous cape?
The question can appear logical at the beginning. Where did the concept of anonymity come from if the transactions are traceable? The answer lies in the fact that despite the possibility to link the operations to the addresses through the blockchain, the association of each address to a person or an organisation is actually complex; unless there is a demonstration by the owner of the same address by mistake, omission or some type of exchange.

Even if it were so, it is recommendable that the generation of different addresses follows the recommendations of the Bitcoin community. In this way, the person who we pay will not have information about the total quantity of money which we have when we make a payment; as it could be the case that we had our entire fortune within the same address. In the end, when we pay a business in cash we do not have to say to the person we pay how much money we have in the bank, we only pay them the right quantity to cover the product amount. Thus, it is precisely within this possibility of generating numerous addresses where the anonymity of Bitcoin resides. From there came the emergence of services called mixers which are dedicated exclusively to carrying out this operation. If the balance of the addresses starts to circulate between dozens of addresses, it is difficult for an external observer to be able to establish where the money has changed hands, by having merely the information from the blockchain.

Dash, Zcash and Monero
In order to confront the anonymity problem provided by Bitcoin, different projects such as Dash, Zcash and Monero have started to emerge.

Dash emerged in 2014 and it is based upon the Bitcoin source code. It relies upon two types of nodes, nodes (miners) and master nodes (in charge of governance and extra uses such as instant and anonymous submissions). The last ones are special nodes ordered to execute certain specific functions which are inherent to cryptocurrency:

  • PrivateSend. A difference from Monero, is that the anonymity in DASH is optional. The transactions are routed through the masternodes in a similiar form as a mixer. The maximum quantity which you can send by this method is 1000 DASH.
  • InstantSend. In other cryptocurrencies it is necessary to wait for a transaction to be added to the block. With this functionality its purpose is to speed up the process if there is consensus among the masternodes.

In order to have a masternode and the right to vote for the proposals, you should rely on 1000 DASH (around 300K USD in April 2018). They share 45% of the profits of each block to the miners, 45% to the masternodes and 10% is used to finance the project (new developments or commercial actions).

Zcash surfaced in 2016 from the fork root from the Bitcoin source code, putting focus upon the privacy. The users can (optionally) use zk-Snarks to mask the sender, receiver and balance of the transaction. However, only 3.5% of the coins are in the hands of private addresses. Thus, within a study J. Quesnelle manages to associate 31% of the operations which are implemented within these transactions to their owners.

Monero, we have already spoke about within this blog about the privacy implemented by Monero. In a nutshell, Monero does not provide information about who is the sender and receiver of a transaction by using circular signatures or in a ring that mixes the transactions of different users at protocol level. The implementation of Ring Confidential Transactions in January 2017 also added the possibility of hiding the balance of the operations.

The clue trackers
In the absence of additional information about the origin of the transactions, explorers of the cryptocurrency blockchains such as Monero are still managing even juicier information. To begin with, if a user consults information about a txid in their explorer, they will already have the capacity to associate an IP address with a transaction. If as within the case of Monero, as well as receiving a consultation from txid, they received a verification request for a payment from a Monero address; this platform will then have the capacity of knowing the received balance for this account. Furthermore, not only within this transaction but also for the rest of the operations within the Monero blockchain after rescanning it. For this reason, it is advisable to carry out the balance verification in the local nodes and not to depend on the reputation of third parties at the time of verifying the received balances.

Ejemplo de explorador de Monero imagen
Figura 2. Ejemplo de explorador de Monero. 

Even so, you must not lose sight of the fact that carrying out connections with network nodes from these cryptocurrencies can be an indicator of their use. For this reason, and also from being experts, we can say that the transaction anonymity is not sufficient to generate a completely anonymous payment, the main developers of the Monero project are also working on a project destined to improve the privacy at a network level. Based upon the i2P and known as Kovri (in Esperanto, to conceal or hide it); even though this project is in development, it intends to cover the existing vacuum at a network level to anonymize the source of the connections.


Félix Brezo
Innovation and Laboratory Team ElevenPaths
Yaiza Rubio
Innovation and Laboratory Team ElevenPaths
@yrubiosec
yaiza.rubio@11paths.com

No comments:

Post a Comment