In the early years of Bitcoin, the technology was touted as anonymous currency separate from government control. While it is impressively resistant to government control and influence, Bitcoin is not completely anonymous. Transactions are recorded, once confirmed by miners, permanently into the Bitcoin blockchain. This record of transactions also includes the flow of Bitcoins from one address to another. As you might expect, it is trivial to link transactions to an individual in “meat space”. There are techniques a person can use to shield themselves from transaction analysis but they can be flawed in various ways. For example, a person should never reuse Bitcoin addresses and they should never consolidate Bitcoin from various addresses into a single address.
…it is trivial to link transactions to an individual in “meat space”…
To address this inherent problem with Bitcoin, a few projects have sprouted which intend to make Bitcoin transactions more private. Most of them are websites (or Tor hidden services) which “mix” your coins. Presumably they do this with other Bitcoins that people have sent to them. There is no way to really tell how these types of mixer websites work in order to break the link between an individual and their Bitcoin. They also are susceptible to Denial-of-Service attacks and law enforcement shutting them down, which would result in loss of money. While these centralized mixer websites did (and still do) provide some sort of privacy enhancement, they do not compare to modern projects like Joinmarket:
The idea behind JoinMarket is to help create a special kind of bitcoin transaction called a CoinJoin transaction. It’s aim is to improve the confidentiality and privacy of bitcoin transactions, as well as improve the capacity of the blockchain therefore reduce costs. The concept has enormous potential, but had not seen much usage despite the multiple projects that implement it. This is probably because the incentive structure was not right.
A CoinJoin transaction requires other people to take part. The right resources (coins) have to be in the right place, at the right time, in the right quantity. This isn’t a software or tech problem, its an economic problem. JoinMarket works by creating a new kind of market that would allocate these resources in the best way.
One group of participants (called market makers) will always be available to take part in CoinJoins at any time. Other participants (called market takers) can create a CoinJoin at any time. The takers pay a fee which incentivizes the makers. A form of smart contract is created, meaning the private keys will never be broadcasted outside of your computer, resulting in virtually zero risk of loss (aside from malware or bugs). As a result of free-market forces the fees will eventually be next to nothing.
Widespread use of JoinMarket could improve bitcoin’s fungibility as a commodity. The privacy aspect has many applications. For example, some users of bitcoin exchanges have a problem of being front-run. As all bitcoin transactions are public, when a seller sends a large amount of coins to an exchange it will be public knowledge and the price will move downwards accordingly.
As you can see, Joinmarket (which incentivizes CoinJoin transactions) offers a very cheap way to make Bitcoin transactions drastically more private. It does so in a peer-to-peer fashion as opposed to being a centralized website. Since it is peer-to-peer, there is no single point of failure which could result in money loss. In fact, there is almost no risk of money loss when using Joinmarket. It is truly an impressive feat of software engineering.
To get started using Joinmarket, the project provides detailed guides for Windows and Linux users. The project also provides guides for Electrum Wallet and Bitcoin Core.