Author

Topic: The imperfect mixer (Read 661 times)

kjj
legendary
Activity: 1302
Merit: 1026
October 29, 2013, 11:04:58 AM
#1
I think that the quest for the perfect mixer has greatly hindered the deployment of imperfect mixers.

What we need is a simple system.  A very simple server that can operate over many protocols (HTTP, telnet, IRC bot, etc.), including tor versions.  A very simple set of scripts that run on the client that interact with it.

When the client connects to the server, the server advertises what sizes it is willing to mix and how many participants it wants.

If the client meets those needs, it sends an address that it wants included in the next batch.

It then checks back from time to time, and when the server has enough participants, it sends back a transaction that pays to the list of participating addresses.

The client sees the address it wants in the output and signs it with SIGHASH_ALL + SIGHASH_ANYONECANPAY and sends it to the server.

When the server gets all of them back, it assembles them into a full transaction and broadcasts.

Lots of things can go wrong.  None of these nodes provides any security because the node can de-anonymize the transaction by providing all of the other inputs and outputs involved.  Batches can fail because any participant fails to sign.  People can attack the system by intentionally signing up and then failing to pay.

But imagine a network with hundreds or thousands of these nodes running.  Literally anyone can set up a node.  Imagine clients constantly churning coins through them.  Each cycle adds between zero and full anonymity, so many cycles should, on average, work pretty well.  People could even build chains through the system, using the output from one cycle to feed the next.
Jump to: