Contrary to popular belief, Bitcoin has never offered real anonymity. Clearly, user addresses are not linked to their personal data but that does not mean it is impossible to associate them. Different analytical techniques and also "know your client" policy and anti-money laundering practices may reveal the identities of some Bitcoin users.

Such a degree of vulnerability caused inconvenience for both individuals and businesses. Users often use Bitcoin in order to hide their own incomes, online purchases etc. Moreover, the ability to track coin movement flows in the blockchain threatens one of the main purposes of Bitcoin – act as a currency, because eventually some coins may start to be evaluated cheaper because of their origin.

There are a few ways to combat the growing number of deanonymization attacks on the Bitcoin blockchain which help users stay safe during the conduction of transactions. Two of the most well-known services existing in this area are CoinJoin and Bitcoin mixers. Recently, Madeamaze has been launched, being an enhanced combination of those two instruments.

CoinJoin

CoinJoin was created in 2013 by Gregory Maxwell, who took part in the development of the Bitcoin Core network, he also worked on Blockstream, to improve privacy in the Bitcoin blockchain. Gregory was worried that all the transactions placed in the ledger are available to any user at any time which may lead to the deanonymization of some users because of data breach. He also did not like that because of the presence of more than one input in most transactions, the users' personal data is vulnerable to clustering. Thus, even if only one "input" was compromised, all the others also become compromised.

The working principle of CoinJoin is quite simple. Instead of including "inputs" from only one user in a transaction, the service allows several people to combine their own "inputs", the same happens with "outputs". As a result, it is impossible to establish a connection between a particular "input" and "output".

During the process of creation, the owners of the "inputs" mark the "inputs" and "outputs" that should be included in the transaction and afterwards provide special signatures if the transaction was created correctly. Only after this the transaction is written in the blockchain, which excludes the possibility of its further modification. Thanks to CoinJoin, third parties cannot determine if specific "outputs" belong to specific "inputs", which makes Bitcoin movement secure and confidential.

This service also indirectly makes clustering difficult, because now users who are attacking the network cannot be sure that all the "inputs" of a transaction belong to one person.

Bitcoin mixers

Another way to increase privacy when using Bitcoin is so called "mixers". If you have been using Bitcoin for a long time, it is very likely that you have already encountered them.

The main point of mixing is to break the connection between the sender and the recipient of a transaction via the participation of a special third party. Using this instrument, the user sends their own coins to the mixer, receiving the same amount of other coins from the service reserve in return. Thus, the connection between the sender and the receiver is broken, as the mixer becomes a new sender.

Bitcoin mixers resemble, to some extent, the masking of IP addresses via the Tor browser. The IP addresses of computers in the Tor network are also mixed. You can use a laptop in Thailand but other people will think that you are in China. Similarly, people will see that you sent 2 Bitcoins to a wallet, and then got 4 halves of Bitcoin from random addresses.

Madeamaze

Madeamaze technology has recently been presented by the Blender service team (https://blender.io/).
It uses a unique algorithm, which is the result of a combination of CoinJoin technology, breaking links in the blockchain, and an improved mechanism of a mixing code that marks both the transfered funds and the return received by the service. The result of this technology is the total impossibility of tracking activity in the Bitcoin network with blockchain scanners. The developers of this method recommend using the mixing code for repeated transactions.

It is not enough to use only CoinJoin for safe work with the bitcoin network, even though currently many existing services do not offer even this. When there are a few inputs and outputs, it is impossible to unambiguously associate the receiver with the sender. However, by applying a more stringent approach to chain analysis, when there are suspicious funds in at least one input of a CoinJoin transaction, all its outputs can be considered suspicious, therefore, even if your funds were not suspicious within an ongoing investigation, after conducting this transaction, they may become so and you as a recipient may fall under false suspicion. That is why it is important not only how the transaction is formed, but also how the mixer looks for suitable inputs for it.

The Madeamaze algorithm controls the CoinJoin transaction not only at the stage of its formation but also at the stage of proper funds selection for it, so that it does not contain bitcoins associated with the sender, provided that the sender follows the recommendations of the service and uses his mixing code. Not only do the user's funds are marked with a code but also the change from the transaction, so that the chain of funds remains dissociated with the recipient as long as it is necessary and the connection of funds with the recipient remains unprovable with the use of any blockchain analysis tools. This decreases the amount of available service funds, so only services with sufficient bitcoin reserves can afford such an approach.

For example, if a user sends 120 Bitcoin to a service with a 220 Bitcoin balance, his limit for further use will be reduced to 100 Bitcoin until his funds pass several mixing operations within the service. During this time his bitcoins can be used in other transactions not associated with him, the mixing codes will be removed from the system after 1-2 days, restoring the maximum possible limit of this user to 220 Bitcoin.

The service does not use JavaScript, which makes it more resistant to deanonymization attacks.

Maintaining your own confidentiality when conducting transactions is important and a properly organized process is needed. Bitcoin has given us freedom in the Internet and we must use it responsibly. You need to know the right instruments and reliable services, such as Blender, that are necessary for the blockchain environment today.