CoinJoin - Reading Assignment

  1. What is the benefit of CoinJoin over BitLaundry, if any?
    No central service needed. Only users who agree on inputs are in the middle.

  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    Because some users doesn’t sign their part.

  3. How can anonymity set be increased while keeping small transaction sizes?
    by increasing the number of transactions.

  4. What is the main benefit of CoinJoin over Zerocoin?
    Zerocoin needs a change in the bitcoin protocol. Coinjoin can be used today.

1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
    No third parties to trust them involved.

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

  3. How can anonymity set be increased while keeping small transaction sizes?
    Increasing number of txs.

  4. What is the main benefit of CoinJoin over Zerocoin?
    Zerocoin requires a soft-forking change to the Bitcoin protocol, which all full nodes must adopt, CoinJoin transactions work today.

1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
    CoinJoin does not require sending funds to a third party.

  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    A transaction could fail because of only one party, e.g. if only one party fails to sign. Huge joint transactions have the risk to fail and have to be redone.

  3. How can anonymity set be increased while keeping small transaction sizes?
    With a three-stage switching network, the anonymity size can be increased to m^2 (where m is the number of participants per transaction)

  4. What is the main benefit of CoinJoin over Zerocoin?
    CoinJoin works since inception of the blockchain and does not require any changes of the protocol.

1 Like
1. What is the benefit of CoinJoin over BitLaundry, if any?
	a. there is no centralized service, market makers come toghether and make transactions
	b. so it is difficult to shut down the service
	
2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
	a. is related to the fact that the ConJoin transaction fails. e.g. because of:
		i. DOS Attack
		ii. a memeber will not or could not sign his part of Tx
		iii. maybe a member goes down
		
3. How can anonymity set be increased while keeping small transaction sizes?
	a. by increasing the number of participants and the number of Tx
	
4. What is the main benefit of CoinJoin over Zerocoin?
	a. no Soft Fork is needet - ConJoin works on Bitcoin as it is
1 Like

1.CoinJoin is decentralized.

2.About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
The risk of some participants “going down” during the proccess of Coinjoin or the possibility of DOS attack.

3.Anonymity can be increased by increasing the number of transactions included in the process

4.You don’t have to soft-fork the bitcoin protocol as compared to the Zerocoin Protocol.

1 Like
  1. Bit Laundry is centralized,you have to trust that they will do the transfer and not expose any of your data) Coin join is where users agree on several inputs and output which must be individually signed and after being merged.

  2. User thats not willing to sign or a DOS attack.

  3. More inputs

  4. Coinjoin does not affect Bitcoins protocol where Zerocoin will require Bitcoin to soft fork.

1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
    • There is no central third party service needed that requires fees, can steal funds, or stores data that can leak.
  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    • The risk of other participants failing to co-sign the joined transactions, or a DOS attack.
  3. How can anonymity set be increased while keeping small transaction sizes?
    • By spreading the transaction amount over multiple transaction (thus less funds per transaction). With more transactions comes more anonymity. This is viable because this transaction type is method is cost efficient as well.
  4. What is the main benefit of CoinJoin over Zerocoin?
    • No soft fork needed.
1 Like

1- It is a zero-knowledge proof systems, with no third party risks.

2- The risk is of the transaction to fail because of a DOS attack or because a participant of the transaction doesn’t sign his part of the transaction or spends their transaction before the coinjoin transaction is completed. If one input/output pair is rejected, everyone needs to update their signature.

3- By increasingly the number of transactions within the coinjoin transaction.

4- No hard fork required, nor protocole change.

1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?
    CoinJoin is supported by the BTC protocol. No need for a centralized party/server to do the transactions.

  2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
    In huge joint transactions, the probability of having an invalid input is higher than in smaller joint transactions. Just because there are more users.

  3. How can anonymity set be increased while keeping small transaction sizes?
    Cascading multiple transactions.

  4. What is the main benefit of CoinJoin over Zerocoin?
    CoinJoin does not need a fork of the bitcoin blockchain, Zerocoin does.

1 Like
  1. CoinJoin is a trustless method for combining multiple Bitcoin payments from multiple spenders into a single transaction to make it more difficult for outside parties to determine which spender paid which recipient or recipients. Unlike many other privacy solutions, coinjoin transactions do not require a modification to the bitcoin protocol (Bitcoin Wiki). We dont need to trust a 3rd party.
  2. DOS attacked in two different ways: someone can refuse to sign a valid joint transaction, or someone can spend their input out from under the joint transaction before it completes.
  3. The anonymity set size of a single transaction is limited by the number of parties in it. In particular, if you can build transactions with m participants per transaction you can create a sequence of m*3 transactions which form a three-stage that permits any of m^2 final outputs to have come from any of m^2 original inputs (e.g. using three stages of 32 transactions with 32 inputs each 1024 users can be joined with a total of 96 transactions). This allows the anonymity set to be any size, limited only by participation. So if we increased the number of the participation we increased the anonymity set.
  4. Zerocoin requires a soft-forking change to the Bitcoin protocol. CoinJoin transactions do not require a modification to the bitcoin protocol.
1 Like
  1. Decentralized vs centralized solution.
  2. Somebody refuses to sign the huge transaction or already spends the BTC.
  3. With three-stage switching network that permits any of m^2 final outputs to have come from any of m^2 original inputs
  4. No code changes are required.
1 Like

1. What is the benefit of CoinJoin over BitLaundry, if any?
The benefit of CoinJoin is that it does not need trust and does not have a centralized data base.
(or i guess u need a litle bit of trust that the other parties do everything correctly so the transaction can go trough)

2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
It’s the factor that says “how likely” the the transaction would fail because of some fault (wrong input/outputs an so on). The more people you have the more likely you could have some trouble with getting the transaction trough. (If one party gets something wrong or is not responding then it messes it up for everyone)
3. How can anonymity set be increased while keeping small transaction sizes?
By making more transactions.
4. What is the main benefit of CoinJoin over Zerocoin?
Coinjoin does not need to change the source code. It works like it is now.

1 Like
  1. no one needs to trust their coins to a centralized service provider
  2. the more ‘people’ involved the more probable malicious people would try to stop it (with a DOS) by not signing the tx
  3. by cascading several layers of coinjoin transactions
  4. it is ready to use and does uses ‘old’ proven cryptography maths
2 Likes

1- You don`t have to trust a third party and Anonymity set is way bigger.

2- It happens when one of the parties does not want to sign a valid transaction or spends the input before the transaction is validated. The solution (risk) being leaving the bad parties aside and retry.

3- A vast number of transactions can be created.

4- CoinJoin involves no changes to BTC protocol.

1 Like

1. What is the benefit of CoinJoin over BitLaundry, if any?
The main benefit of using CoinJoin over BitLaundry lies is its trustlessness. CoinJoin doesn’t necessitate trust in a third party whereas BitLaundry does. Another benefit includes reduced transaction fees.

2. About halfway down, Maxwell writes: “failure (retry) risk mean that really huge joint transactions would not be wise.” Explain failure (retry) risk.
Failure (retry) risk means what Maxwell explained with DOS attacks—specifically, either someone refusing to sign a valid joint transaction or someone spending their input beneath the joint transaction before it finishes. It took me a second to totally get it, but the reason for “really huge” transactions not being wise: 1. TX size limits. 2. More users within a TX mean more necessary sigs during a retry—in other words: an annoyance.

3. How can anonymity set be increased while keeping small transaction sizes?
Anonymity set can be increased while keeping small transaction sizes simply through increased participation.

4. What is the main benefit of CoinJoin over Zerocoin?
Maxwell offered numerous benefits for CoinJoin over Zerocoin, but I suppose the main benefit is that CoinJoin transactions work well enough right now.

1 Like
  1. Coinjoin is decentralized, it is trustless when bitcoin laundry is centralized.
  2. The failure(risk) occurs when one party does not want to sign TX as valid.
  3. TX are cheap so you sneak in volume of TXs instead of single big ones.
  4. No soft fork.
1 Like
  1. What is the benefit of CoinJoin over BitLaundry, if any?

There are a couple of advantages I can think of: CoinJoin’s same size outputs would be impossible to correlate to inputs. (Change is sent to a separate address and may be more susceptible to correlation). Also, this method seems more decentralized, where you’re not trusting a centralized database. If I’m understanding correctly, this is more of a user-to user concept?

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

Retry risk is where a bad actor inserts an invalid transaction into the pool, in order to invalidate the overall tx, so that it has to be re-run. Question for @Grant_Hawkins: in a retry scenario, would output addresses be reused until the transaction is accepted? Or would new addresses be created on each retry?

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

By doing a multi-layer aggregation & distribution, where n^2 inputs require only 3n transactions.

  1. What is the main benefit of CoinJoin over Zerocoin?

CJ runs on the existing protocol. Also, Zerocoin uses much more memory.

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

CoinJoin is peer-to-peer and non-custodial, so there is no way for an intermediary to steal your funds.

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

The larger the number of participants the greater the risk of one of the signing transactions failing (by chance or on purpose) and preventing the overall transaction from completing.

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

By using a 3 layer “switch network”. Kinda like daisy chaining switches on a LAN where the cat5 cables are transaction inputs and outputs and the switch boxes are the transactions. This gets around the individual transaction size restriction and means any number of participants can be chained in this way.

4. What is the main benefit of CoinJoin over Zerocoin?
  • CoinJoin works now, where adopting Zerocoin on the Bitcoin network would require a soft fork
  • CoinJoin requires much less space and computation resources
1 Like
  1. BitLaundry is centralized. CoinJoin makes a transaction look normal and just obscures the owners of the inputs.

  2. Retries are expensive in time, energy, and other resources so if there are too many chances for someone to crap out on the deal, there is a better chance that one would need to start over.

  3. Transactions can happen as a tiered group allowing more participants without making one huge transaction.

  4. CoinJoin works without changes to Bitcoin. ZeroCoin is a soft fork, and also requires more processing and larger transaction sizes (fees).

1 Like

There is no third party involved that could steal the coins.

“Retry risk” means that one participant of the coinJoin could refuse to sign his part of the transaction. Then one would have to retry the whole coinJoin procedure.

It can be increased by cascading transactions.

It can be used right away if somebody codes it. No changes to the bitcoin protocol are necessary. Zerocoin requires a soft fork.

1 Like