Looks like gmaxwell is pushing for more privacy in Bitcoin:
https://github.com/bitcoin/bitcoin/issues/6568One of the responses is intriguing, and highlights a known weakness in CoinJoin (and also affects Darksend):
The problem with CoinJoin is the difficulty in ensuring most or all of the participants are not malicious. If you have 4 inputs and 3 of them are an attacker in a CoinJoin, then the attacker knows which input and output you own. This gives the illusion of privacy, which may be worse. As with all of the input mixing methods, including ring signatures with ZKPs to prevent double spending, there is the possibility of sybil attack which makes them less attractive as privacy solutions.
This got me thinking, what if your client could appear as two (or more) clients by submitting two DarkSend inputs to be mixed nearly simultaneously (with possibly different numbers of mixing sessions)? Now a malicious attacker would be unable to completely back out from his own mixes which inputs are owned by whom. Put in the above terms, if the attacker is submitting 3 inputs and your client is submitting 2 (or more) inputs, the attacker cannot know which outputs are yours. Put another way, you would use your own wallet's coins to provide additional liquidity.
Obviously this technique would not be immune to network traffic analysis, but what's recorded on the blockchain would preserve the 'plausible deniability' of coin ownership.