Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: neutrinocoin on May 20, 2014, 11:22:33 PM



Title: Mixcoin or CoinJoin - which is easier to implement?
Post by: neutrinocoin on May 20, 2014, 11:22:33 PM
Both Mixcoin (see https://bitcointalk.org/index.php?topic=423596.0) and CoinJoin (see https://bitcointalk.org/index.php?topic=279249.0) are designed to address the transaction graph problem, where linking a transaction to one participant's identity can end up revealing all of that participant's transactions.

My question is: which of these two approaches is easier to implement (on top of, or in parallel with, Bitcoin or an altcoin)?



Title: Re: Mixcoin or CoinJoin - which is easier to implement?
Post by: socrates1024 on May 22, 2014, 05:35:43 PM
Here's my take on this:

- Both Mixcoin and CoinJoin work just fine with existing Bitcoin, no need for an altcoin or Bitcoin modification

- DarkWallet is already an implementation of CoinJoin, so you may just want to start there

- CoinJoin relies on some kind of matchmaking service, at least in the form of a public message board or chatroom. As far as I can tell, the DarkWallet implementation for now uses a central chat lobby for this purpose (or perhaps there are multiple lobbies, but you're only mixing with whoever is in that lobby) and does 2-person CoinJoins. I don't know any really great alternative to this kind of matchmaking that also prevents denial of service or sybils. Blockchain.info also implements a CoinJoin, they themselves act as the matchmaker.

- In Mixcoin, the implementation challenge is to build a mixing server, and a mixing client. The mix server can be fairly simple, needs a small amount of crypto (just ordinary signatures). The client is more complicated, as it needs to a) keep track of and interact with multiple mix servers b) monitor the blockchain (or some other channel) for fraud alerts about mixes c) schedule mix interactions automatically in the background.

So actually some of what remains to be implemented (like interacting with multiple servers) is the same for both Mixcoin and Coinjoin.


Title: Re: Mixcoin or CoinJoin - which is easier to implement?
Post by: Joshuar on May 22, 2014, 06:06:31 PM
Here's my take on this:

- Both Mixcoin and CoinJoin work just fine with existing Bitcoin, no need for an altcoin or Bitcoin modification

- DarkWallet is already an implementation of CoinJoin, so you may just want to start there

- CoinJoin relies on some kind of matchmaking service, at least in the form of a public message board or chatroom. As far as I can tell, the DarkWallet implementation for now uses a central chat lobby for this purpose (or perhaps there are multiple lobbies, but you're only mixing with whoever is in that lobby) and does 2-person CoinJoins. I don't know any really great alternative to this kind of matchmaking that also prevents denial of service or sybils. Blockchain.info also implements a CoinJoin, they themselves act as the matchmaker.

- In Mixcoin, the implementation challenge is to build a mixing server, and a mixing client. The mix server can be fairly simple, needs a small amount of crypto (just ordinary signatures). The client is more complicated, as it needs to a) keep track of and interact with multiple mix servers b) monitor the blockchain (or some other channel) for fraud alerts about mixes c) schedule mix interactions automatically in the background.

So actually some of what remains to be implemented (like interacting with multiple servers) is the same for both Mixcoin and Coinjoin.

Mixing Bitcoins is actually a very risky thing to do...You have to use a 3rd party to mix them for you, and there's always the case that you will get scammed by that 3rd party.

DarkWallet has A lot of bugs in it atm, to the extent, that there have been rumors that you can lose your bitcoin if you deposit it there.