So I have a basic understanding of what CoinJoin is doing however I am wondering if there is a FAQ out there on how to use it safely without accidently leaking info?
The website and FAQs are not available yet, so as a quick summary:
Coinjoin is a method of coin mixing which requires less trust in the mixing service. The coinjoin service available on blockchain.info is known as "Shared Coin" and is a separate entity to blockchain.info hosted at
https://sharedcoin.com. Shared coin hosts a server which acts as a meeting point for multiple people to join together in a single transaction. Having multiple people in a transaction improves privacy by making transactions more difficult to analyse. The important distinction between traditional mixing services is the server cannot confiscate or steal your coins.
A sharedcoin transaction will look something like this:
https://blockchain.info/tx/e4abb15310348edc606e597effc81697bfce4b6de7598347f17c2befd4febf3b (picked at random). As you can see multiple inputs and outputs make the determining the actual sender and receiver more difficult.
The server does not need to keep any logs and transactions are only kept in memory for a short time. However If the server was compromised or under subpoena it could be force to keep logs and deanonymize the users. If this were to happen although you haven't gained any privacy you haven't lost any either. For this reason, especially for those desiring strong anonymity, it will likely be wise to rely on multiple different coinjoin implementations (even if using a p2p system). Infiltrating one system is much easier than infiltrating multiple systems and correlating everything together. If enough people use coinjoin and it is integrated into multiple different clients the privacy of everyone in the bitcoin network improves.
How to use it safely without accidently leaking info?
-
Tor can prevent leaking of information through your ip address.
- Sending coins to or from
tagged addresses reduces privacy.
- When creating a shared coin transaction your browser generates a number or temporary/intermediate addresses. The balance of these addresses is not checked on blockchain.info itself unless the "Recover Intermediate Addresses" button is used. Looking up the balance of these addresses is an information leak as if blockchain.info was keep logs it would show you had an interest in these addresses. So don't use the "Recover Intermediate Addresses" tool unless there has been an error with a transaction.
What limitations does it have?
Coinjoin can never completely sever the link between the input and destination address, there will always be a connection between them, it is just more difficult to analyse.
Why would I pay 0.5% for blockchains mixing service when CoinJoin is free?
Shared send can handle larger amounts more effectively, it also guarantees 0% taint which coinjoin can never do. Shared send will most likely be depreciated in time but at the moment there are use cases for both services.