CoinJoin - Reading Assignment

  1. What is the benefit of CoinJoin over BitLaundry, if any?
    BitLaundy was centralized with some parties running it. CoinJoin is more decentralized, so it’s not possible to run away with the funds.

  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    If some user doesn’t want or can’t sign a transaction or the transaction fail because of a DOS attack. A huge joint transaction is not wise, because than all user have to wait, until it’ll be accepted by the network.

  3. How can anonymity set be increased while keeping small transaction sizes?
    By increasing the number of participants, who are doing a lot of small transactions.

  4. What is the main benefit of CoinJoin over Zerocoin?
    No, Soft-Fork of the bitcoin protocol

1 Like

I believe it depends on the implementation. But generally if a transaction is rejected because of 1 bad signature, all signatures need to be redone (see comments above for more on this), so everyone goes back to square one.

It’s a great question. Maybe when you hit the Dash/Samauri readings you can try to find this info!

1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
  • It requires no central server, and therefore requires trust.
  1. About halfway down, Maxwell writes: “failure risk mean that really huge joint transaction could not be wise.” Explain failure risk.
  • If a participant failes to sign the transaction the process will fail and the ConJoin needs to be retried.
  1. How can anonymity set be increased while keeping small transaction sizes?
  • You can increase the number of transaction which are joined together, or you can do more CoinJoins, one after the other.
    4.What is the main benefit of CoinJoin over Zerocoin?
  • It requires no change on network/protocol lever. It can be used on top of “regular” Bitcoin.
1 Like
  1. The only benefit I can find from using CoinJoin over BitLaundry is that it does not need a centralized server. Each user could act as a blind signing server, making the transaction more decentralized.
  2. Well because you can have any number of inputs with CoinJoin the final transaction could be large and costly. Size matters in blockchain and having to retry a transaction would just be a bad idea.
  3. To limit the size of the transactions with CoinJoin you would limit the number of times you pass the transaction through the joining algorithm. Most users will be ok with just one pass; thus limiting the size of the transaction.
  4. Some of the main benefits of CoinJoin over Zerocoin is that Zerocoin produces very (20kbyte) signatures, and is very slow to validate the transaction; and it requires a trusted 3rd party.
1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
  • No risk of losing the BTC to the middle man.
  1. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    The system required all TX happened in a package. So, if one of them fail, all of them will fail.

  2. How can anonymity set be increased while keeping small transaction sizes?

  3. What is the main benefit of CoinJoin over Zerocoin?
    CoinJoin do not required any kind of fork

1 Like
  1. Do several small CoinJoins, one after another.
  1. Because Coinjoin doesn’t require custody by a third party, it is much more trustless
  2. If 1 participant doesn’t sign the transaction, the coinjoin fails. If that happens the other participants can retry the coinjoin and try to exclude the participant that didn’t sign. The larger the coinjoin the larger the risk that it fails by someone not signing.
  3. By including more inputs and outputs, the anonymity set is increased, but the data doesn’t in that one transaction is smaller than if all those transactions where sent separately, which also means lower fees per participant.
  4. Zerocoin requires a soft-forking change to the Bitcoin protocol, while CoinJoin transactions work today
1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
    BitLaundry likes a 3rd party to provide privacy service for sender and receiver, and it’s based on the trust of BitLaundry by users. CoinJoin is trustless way to ensure privacy via an uniform signature for all inputs by multi-users. it can enhance security for transactions.

  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    If the transaction don’t full sign by all participants, the CoinJoin transaction would be failed and all parties have to resign again. If having huge transactions and participants, that would increase the failure risk.

  3. How can anonymity set be increased while keeping small transaction sizes?
    Increasing participants in a CoinJoin transaction, there are many inputs and outputs, anonymity will increase as well, comparing individual participant transactions fee, the CoinJoin transaction fee is cheap because transaction size are small for every participant. Moreover CoinJoin is no limit number of participants.

  4. What is the main benefit of CoinJoin over Zerocoin?
    CoinJoin has no change for current Bitcoin protocol, but Zerocoin is soft fork that would change the protocol.

1 Like
  1. BitLaundry is a centralized service with concomitant risks: The owners might be intimidated into leaking customer information, they might get hacked, or they might decide to pull an exit scam. CoinJoin, because it is decentralized, does not involve these risks.

  2. If any participant in the CoinJoin goes offline (whether accidentally, or intentionally as part of an attack), then that participant’s signature will be missing and the entire transaction fails and must start again. The more participants, the greater the risk of this happening.

  3. If I understand it correctly, Maxwell is suggesting that users can participate in continuous CoinJoin transactions that occur one after the other. Each individual CoinJoin transaction can be of a preferable smaller size, yet the desired amount of anonymity can be achieved by participating in more rounds.

  4. The “mechanics” of CoinJoin are already part of the Bitcoin Protocol, whereas ZeroCoin would require changes to the code. Also, additional computation would be necessary in ZeroCoin, whereas CoinJoin does not require any computation outside of what is found in usual Bitcoin transactions.

1 Like
  1. Bitlaundry is a centralized service while coinjoin is consensus based where users agree on inputs to spend and outputs to send.

  2. Failure is when an input/output pair are not valid for a reason

  3. By increasing number of coinjoin transactions

  4. zerocoin will create a soft fork change to bitcoin protocol while coinjoin will not

1 Like
  • I think the main difference would be that Conjoint could work as a decentralized platform, This means that there would be no risk on trusting a 3rd party.

  • Failure (retry) risk, involves a DOS attack or potentially someone trying to cheat the system, not allowing certain transaction to be completed.

  • With a higher number of transactions

  • CoinJoin; if I understand correctly would be cheap to run, efficient, it would not need a fork and it is not trying to take over Bitcoin.

1 Like
  1. BitLaundry is done through a server which you can see as a third party which can be hacked/funds get stolen and so on and so forth. You still have to trust another entity. With Coinjoin multiple users use a multisig which means no one alone (only all together) has the control over the transaction. All inputs need a separate signature from the different users, which (I mean the signatures) are all independent from each other. You can see it as a collaboration of inputs to spend and the outputs to pay. That being said Coinjoin needs no third party (which you have to TRUST) and can be used voluntary from different users. They only have to meet somewhere and start an agreement.

  2. Failure retry risk mean the following. Imagine that there are 50 people who wants to use coinjoin at at the same time and they agreed. That means you need 50 independent signatures from all participants. When only one of the person for whatever reason failed to sign the transaction, everything has to be done again. The higher the number of people who have to sign the transaction the greater the risk of failing the transaction increases.

  3. Because small transaction sizes are cheap (remember you pay in satoshi per byte) you can cascade your transactions which actually means you can split up your transaction in more than one. With this method you can also increase the anonymity set (because from the outside it looks like more participants were involved).

  4. Coinjoin can be used instantly with the current Bitcoin code. Zerocoin needs a soft fork where more than 50% of the nodes have to update their nodes and agree on that (which takes a lot of times) and it is not proven if zerocoin is secure.

1 Like

Q1: CoinJoin replaces the centralized service Bitlaundry bc with them we had to put our trust in a third party to actually follow through with the TXs we wanted. With CoinJoin we no longer need Bitlaundry to help make our TXs private, we can now do so on a peer to peer basis by simply agreeing on a set of inputs and outputs and signing the TX both individually and jointly to confirm it.

Q2: Failure retry risk is when one of the parties involved in a CoinJoin TX fails to sign their TX as valid, making the other party have to retry again with another TX

Q3: CoinJoin TXs are generally small and have increased privacy in comparison to other methods, this helps increase participation in CoinJoin TXs which in turn also helps increase anonymity.

Q4: CoinJoin does not require a soft fork update.

1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
    coinjoin is by default decentralized. both ends have to agree on a number of inputs and outputs to pay and spend. They have to be signed individually and joined at the end.

  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    it means tat one of the two partes finally refuses to continue in the process and it means that the transaction in not executed properly.

  3. How can anonymity set be increased while keeping small transaction sizes?
    By increasing the number of transaction happening within the process.

  4. What is the main benefit of CoinJoin over Zerocoin?
    bitjoin does not require soft forks.

1 Like
  1. First of all BitLaundry is centralized and consists of a service where you send the amount to be given to an address and the address of the recipient.
    CoinJoin is decentralized and allows you to make an agreement with more people where everyone chooses the number of inputs to pay and outputs to spend. After that, every person who is part of the agreement signs the transaction and eventually all the signatures are put together.
  2. The risk of failure lies in the fact that some parties to the agreement no longer put their signature, or in a DOS attack. The bigger the joint transaction, the more if it fails, more people will get involved.
  3. As it says in the discussion: transactions are cheap, there is no limit to the number of transactions you can cascade.
    That said, you can increase the size of the anonymity set by increasing the number of transactions.
  4. CoinJoin does not require soft-fork because it works on Bitcoin, while for ZeroCoin it is necessary. CoinJoin transactions are indistinguishable from normal transactions and therefore cannot be blocked or inhibited except to the extent that any other Bitcoin transaction could be blocked. ZeroCoin produces large (20kbyte) signatures that would bloat the blockchain, while those of CoinJoin are less heavy overall and do not require a central accumulator.

If someone wanted to make any corrections I would be very grateful to him :slight_smile:

1 Like

1 - What is the benefit of CoinJoin over BitLaundry, if any?

BitLaundry can steal the transaction sent, de-anonymize the sender with logs if they choose.

2 - About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.

The retry risk is increased as large transactions would be resent leaving another footprint, which could place involved entities at risk.

3 - How can anonymity set be increased while keeping small transaction sizes?

Since there is no limit to the number of transactions that can be cascaded, the anonymity set can be increased in size.

4 - What is the main benefit of CoinJoin over Zerocoin?

The Zerocoin protocol requires a soft-fork to the bitcoin protocol, which would be a prolonged period of time. This would cause some of the bitcoin community great consternation. In contrast, CoinJoin transactions can work today.

1 Like

No corrections necessary :wink:

  1. The benefit is the improvement of anonymity set compare to BitLaundry.
  2. The failure (retry) risk is when an attacker try to gain the CoinJoin system in terms of not signing the transaction but try to spend the input without completing the process. Therefore, such DOS attackers can be blacklisted and loose rounds to take part until many more attempts later I think.:slight_smile:
  3. The smaller the transactions the better as as users joint payments and very hard to trace as wide spread users of transactions makes more difficult to track down like mycelium ecosystem.
  4. The main benefit is the perfomance of CoinJoin in terms of validations and no soft fork needed.
1 Like
  1. The benefit of CoinJoin over BitLaundry is that the signatures inside the transaction are completely independent of each other and are merged at the end. If a transaction is not liked by a a person then they would not sign this thus the transaction would not go ahead. There is no risk of theft at any point.

  2. Couldn’t work this out for myself or find it on Google so had to check others answers. Its looking like when the transaction fails for some reason.

  3. Anonymity can be increased transactions can be kept small by making payments along with other people.

4.The main benefit is that Zerocoin needs a soft fork.

1 Like

#1 - What is the benefit of CoinJoin over BitLaundry, if any?
There is no middleman you have to trust with your coins

#2 - About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.

#3 - How can anonymity set be increased while keeping small transaction sizes?
By finding more participants for the transaction

#4 - What is the main benefit of CoinJoin over Zerocoin?
According to gmaxwell, the unneeded soft-fork

1 Like