This article is the first in a series of articles devoted to protocols ensuring the anonymity of cryptocurrencies.
THE ORIGINS OF COINJOIN
CoinJoin was proposed by Gregory Maxwell in August 2013, through a post on the BitcoinTalk forum . In it, he exposes that the confidentiality of Bitcoin only passes through the use of pseudonymous addresses . Problem: these addresses are fragile and easy to compromise, especially in the event of reuse. They make it possible to track payments, can be indexed on the web, etc. Once broken, this confidentiality is difficult and sometimes expensive to regain .
This lack of confidentiality poses a systemic risk to Bitcoin , he says, because it would theoretically be possible to create a centralized list of “ good ” or “ bad ” bitcoins that jeopardizes the fungibility of Bitcoin . In this case, some coins may no longer be accepted because they are blacklisted .
COINJOIN FOR “JOINED TRANSACTIONS”
The proposed solution has been designed to be usable on the Bitcoin network and all without making any changes to the protocol . Before getting to the heart of the matter, it is important to remember that a Bitcoin transaction can have several inputs and several outputs , in other words, several wallets can make a transfer using only one common transaction. .
In 2013, it was common to think that joint use by several wallets of a single transaction implied that a single person was in charge of the wallets present in the transaction. This is where gmaxwell comes in: why couldn’t different individuals federate in order to join their transfers within a single transaction?
It is this concept that is used in Coinjoin, several users come together to carry out a single joint transaction, thus breaking the link between sender and receiver of the transfer .
THE ADVANTAGES OF COINJOIN
This system brings many benefits, the first being the reduction of fees for each user involved in the transaction . Indeed, instead of each issuing a transaction – and paying X times the fees – a single joint transaction is issued with a single fee.
The second and most innovative benefit is improved privacy . Imagine N users wishing to send the same amount to N recipients, it is possible for them to make a joint transaction: it will be almost impossible to identify which user has sent to which recipient . In this method, the greater the number of users N, the greater the confidentiality.
CONS OF COINJOIN
CoinJoin transactions can be compared to mixing : the idea is not to be able to identify which sender and which recipient are connected.
This has two major drawbacks that other anonymity protocols have managed to overcome.
- the transaction amounts are only partially obscured , although it is hard to link sender and recipient, the amounts exchanged remain visible to everyone.
- the non-use of a unique address allows anyone to access the transaction history of an address, thus not ensuring a high level of privacy for users.
CONCLUSION ON COINJOIN
As we have seen, this solution is usable on Bitcoin . Although this solution has drawbacks, it is still a major improvement. Other cryptocurrencies have also taken up the concept and adapted it, such as Dash (DASH) whose PrivateSend is a modified version of CoinJoin. Other platforms or wallets also implement the solution, among them: Wasabi Wallet , Samourai Wallet and SharedCoins .