Coinjoin

Published on :

21 Aug, 2024

Blog Author :

N/A

Edited by :

Shreya Bansal

Reviewed by :

Dheeraj Vaidya

What Is Coinjoin?

Coinjoin refers to the privacy feature in Bitcoin where many users come together, mix their coins, and execute a transaction. Its prime purpose is to maintain the privacy and ambiguity of the crypto users and their addresses, which could be more practical. In the process, there are multiple sources paying multiple recipients, making it difficult to identify exact source-recipient matches.

Coinjoin

Cryptographer Gregory Maxwell first developed coinjoin transactions in the year 2013. He considered the limitations of Bitcoin transactions and created this model. Here, the signatures of users remain independent from each other. As a result, it serves as an essential tool for securing the online ledger. However, users cannot use the coinjoin wallet if there are only a few participants. 

  • Coinjoin is a feature that allows cryptocurrency users to combine their tokens with other users. The primary purpose is to enhance privacy and address trust concerns within Bitcoin transactions.
  • In 2013, the cryptographer Gregory Maxwell developed this strategy to respond to privacy challenges.
  • Users participate in a transaction by reaching a consensus, contributing tokens, and initiating the mixing process. Subsequently, the software sends the original token amounts to their respective destination addresses.
  • Coinjoin primarily focuses on Bitcoin tokens and distinguishes itself from traditional coin mixers. Some software platforms providing this service include Trezor, Samurai, and Wasabi.

How Does Coinjoin Work?

Coinjoin is a privacy tool that allows users to mix their coins and send them anonymously to the recipient's address. By the end of the transaction, the recipient has the same number of coins as initiated. It is like a mismatching game where the coins get mixed, making it untraceable. The only purpose is to disguise the user's addresses within the process. As a result, hackers cannot track the addresses of the parties involved. 

There are multiple rounds involved in it. It includes input and output registration, transaction creation, signature, and broadcast. The software will deposit UTXOs (unspent transaction outputs) in the account in the first stage. These UTXOs act as input for another transaction. So, when the transaction mixes their coins, the outputs (tokens) of person A serve as input for another user. At this point, the system creates fresh addresses where funds can be sent. Then, each user signs the transaction using their private key. Once signed, miners validate and record the transaction on the Bitcoin's blockchain

Users must first enter a smart contract to initiate token mixing. A consensus of users who agree to join is necessary for the transaction to start. Here, each of them provides a destination address that they own. As they deposit tokens in conjoin wallets, miners confirm the joint transaction and decide whether to include it in the blockchain. However, the process is complete with the user's signature. 

At times, the transaction might fail at the signing phase. As a result, the coinjoin drops the round and restarts it again. Other reasons for failure may also include a need for more participants. Typically, the transaction requires 150-500 users. However, this failure does not pose any risk to the funds owned.  

Examples

Let us look at real-world and hypothetical examples to comprehend the concept more broadly.

Example #1

Suppose John wants to transfer 20 BTC from one wallet to another wallet. Likewise, even Jessy wants to send 10BTC to her other wallet. But, they do not wish to appear on the blockchain ledger. Therefore, they enter a transaction with other users who want to do the same. So, everyone deposits their respective tokens in the account. Once deposited, the protocol will shuffle the coins and create a destination address. Each address will now receive tokens as suggested by users. Thus, if John wanted to send 20 BTC, the address mentioned would accept it. The same goes for Jessy, too. 

In this case, a shuffling mechanism ensures that the inputs and outputs mix correctly. So, the 20BTC will be entered as input to Jessy and 10 BTC to John. Later, the protocol will send 20BTC from Jessy's address to John's mentioned address. Likewise, John's network will send 10BTC to Jessy's address. In the end, both will receive their respective amounts. 

Example #2

In August 2023, the Trezor conjoin introduced a new privacy feature for Bitcoin. They have partnered with Wasabi Coinjoin to enhance the privacy features and present it to the Trezor Model One. 

Likewise, in April 2023, they expanded their commitment to user privacy by announcing the integration of the same feature into the Trezor Model T, made possible through a collaborative partnership with zkSNACKS.

Through this coinjoin feature, users can collectively obscure their transaction histories, making it notably more challenging for external parties to track their activities and account balances on the transparent Bitcoin blockchain. 

This strategic move by Trezor reflects their unwavering dedication to providing cryptocurrency enthusiasts with cutting-edge tools to safeguard their financial privacy and enhance their security.

How To Perform?

In general, there are two ways to perform these transactions. An individual can use a platform or conduct the transaction independently. However, the output would be the same. Let us look at them:

#1 - Automated services

As the term suggests, users can conduct it using services provided by well-established platforms. They must run the software, and the coordinating system will mix the tokens with other users. The following are the steps:

  1. Open an account in the Trezor Suite.
  2. Next, deposit the transaction's transfer amount and the recipient's address.
  3. Click the "Start" option and confirm the process. 
  4. Leave the device connected to the Trezor till it completes the transaction.

There are other wallets also available that provide this feature. It is available on computers but is not supported on Android or iOS devices. In contrast, Samurai wallets work on mobile devices. However, the user must log in to the platform again if the device gets unplugged. 

#2 - Private Coinjoin transactions

Another way to conduct these transactions is to own the transaction itself. In short, the user runs a node, creates a private wallet dedicated to conjoin, and starts the process. However, there are micro details within this transaction. 

For instance, the primary task is to gather users willing to join the transaction. Also, they must create a plan comprising UTXO, the size of a mixed coin, mining fees, addresses, and other details. Once a user decides on these elements, the process can start. 

Pros And Cons

Coinjoin transactions are a central component of Bitcoin privacy. However, there are certain downsides to it. Let us look at them.

ProsCons
It enhances the privacy of Bitcoin transactions.It involves complexity that can be challenging to understand.
It reduces the chances of coin tagging.It does not provide absolute privacy despite its features.
Decentralized; does not rely on a centralized authority.Privacy benefits can be reduced with few participants.
It has an automated process and minimal manual monitoring.It involves higher fees and longer transaction durations.
Allows multiple users to collaborate.

Coinjoin vs Coin Mixer

Although coinjoin and coin mixer have similar functions, they have specific differences too. Let us look at them.

BasisCoinjoinCoin Mixer
MeaningA transaction where coins of multiple users get mixed.A service that mixes tokens of different users, making them untrackable.
PurposeTo enhance the privacy features of the Bitcoin network.To mix coins from various cryptocurrency addresses for enhanced anonymity.
TokensPrimarily focuses on Bitcoin tokens.It mixes tokens from different blockchains.
ImplementationUsually conducted as transactions within the software.It is provided as a service for coin mixing.
LegalityThese transactions are legal to conduct.It is not inherently legal; some instances may involve illegal activities. In 2022, the US Treasury Department banned this service.

Frequently Asked Questions (FAQs)

How long does a Coinjoin transaction take?

Typically, a Coinjoin transaction is completed within a day. However, the duration varies based on the specific software protocol used. For instance, a Wasabi wallet can complete the process in approximately 10 minutes, while Trezor might take a few hours to achieve the same.

What is the minimum amount required for a CoinJoin transaction?

The default amount for a CoinJoin transaction is 0.01 BTC, equivalent to 1,000,000 satoshis. If the transaction amount falls below this threshold, the auto-start process pauses until the balance reaches the minimum requirement.

How are fees calculated for a CoinJoin transaction?

The value of the Bitcoins involved determines the fee percentage. A coordinator fee of 0.3% is charged for tokens exceeding 0.01 BTC. Transactions below this amount are not subject to any fees.

How do I use the Wasabi CoinJoin feature?

To utilize the Wasabi CoinJoin feature, follow these steps:

1. Launch the Wasabi application and access your wallet.
2. Initiate the coinjoin process within the wallet interface.
3. The feature will guide you through the mixing procedure, enhancing the privacy of your transactions.

This has been a guide to what is Coinjoin. Here, we compare it with coin mixer, explain its examples, how to perform it, and pros & cons. You can learn more about it from the following articles –