Bitcoin Forum

Economy => Marketplace => Topic started by: mikegogulski on May 19, 2011, 11:45:58 PM



Title: BitLaundry re-launch!
Post by: mikegogulski on May 19, 2011, 11:45:58 PM
Dear friends,

Since acquiring BitLaundry (http://app.bitlaundry.com/), I've been hacking away at the code, and have now launched an entirely new version of the site.

Go check it out!


Title: Re: BitLaundry re-launch!
Post by: Binford 6100 on May 20, 2011, 01:01:00 AM
hope you worked out the similarity of outgoing payments. in the example you mention on the laundry homepage you use an example of 12 transactions that would cause 994.88 / 12 payments to be send from address.
i hope you address this issue. would make little sense to launder bitcoins if the operation would result in exactly same value transactions that could be identified very easily


Title: Re: BitLaundry re-launch!
Post by: FreeMoney on May 20, 2011, 01:21:44 AM
Yeah, could make the payments total within like .2% of the right amount.

I assume users are likely to get other peoples dirty coins. It's still useful, but it isn't as good as clean coins. It would be cool if the payments came from a mining pool or something like that. It would add the problem of what to do with the dirty coins you get in though.

You currently make sure not to give people their own coins back, right?


Title: Re: BitLaundry re-launch!
Post by: mikegogulski on May 20, 2011, 01:36:00 AM
Outgoing payments are handled as follows:

First, the incoming payment is noticed, confirmed, and the fees deducted.

The remainder is then chunked into a number of payment amounts equal to the number of recipient addresses times the number of days times the number of transactions per recipient per day. Each of those payment amounts is randomly varied by about 30% of the mean value remainder/(addresses*days*txperday). As an example, a BTC100 remainder in five chunks might look like [Decimal("12.99"), Decimal("27.34"), Decimal("24.15"), Decimal("17.63"), Decimal("17.89")].

There is currently no way whatsoever to ensure that coins incoming to a laundering scheme are not sent back out via the same scheme. The chance of mixing (and thereby getting new coins) depends on the server's accumulated earnings plus the number of coins sitting in scheme schedules waiting to go out plus some seed Bitcoins I've put into the server's wallet.

In short, if you send BTC 100 to the service and ask for your payments to be spread out over a week, and during that week the server's balance is zero and nobody else uses it, you're going to get your own coins back, minus fees.

If someone wants to stake a large amount of BTC to help mitigate that problem, in exchange for a (probably very poor) commission, please PM me.



Title: Re: BitLaundry re-launch!
Post by: Explodicle on May 20, 2011, 01:55:49 AM
If someone wants to stake a large amount of BTC to help mitigate that problem, in exchange for a (probably very poor) commission, please PM me.

Have you considered sending them through MyBitcoin? They've got a big pool and would do it for free.


Title: Re: BitLaundry re-launch!
Post by: mikegogulski on May 20, 2011, 02:30:14 AM
If someone wants to stake a large amount of BTC to help mitigate that problem, in exchange for a (probably very poor) commission, please PM me.

Have you considered sending them through MyBitcoin? They've got a big pool and would do it for free.

Good idea. I'm thinking about that and also about tying the service into MtGox, which must also have a substantial pool.

Very good idea, actually, and not that hard to implement:

Incoming transaction to BitLaundry's RPC wallet
Calculate fees, forward to my private, non-RPC wallet
Randomly split remainder across {MyBitcoin, MtGox, ...}
Perform sends off of {MyBitcoin, MtGox, ...} on schedule

I see another 200 lines of code in my immediate future. Curse you! :)


Title: Re: BitLaundry re-launch!
Post by: Anonymous on May 20, 2011, 06:45:58 AM
witcoin.com has onsite transfers also.

 ;)


Title: Re: BitLaundry re-launch!
Post by: cdhowie on May 20, 2011, 02:39:49 PM
I assume users are likely to get other peoples dirty coins. It's still useful, but it isn't as good as clean coins. It would be cool if the payments came from a mining pool or something like that. It would add the problem of what to do with the dirty coins you get in though.
The easiest thing to do would be to accept incoming coins into wallet A.  You would send out payments from wallet B (a different bitcoind).  If you don't have enough coins in wallet B to do the next payment, send the entire balance of wallet A to a new address in wallet B.  This will lump together all of the dirty coins.  Then when you send the coins back out, they will essentially be split off of one big transaction.  In other words, this effectively mixes all the coins together -- you can tell all of the inputs to the big transaction, and you can tell all of the outputs, but you can't tell which inputs mapped to which outputs.

If all of the coins coming in were being traced by law enforcement, the outgoing coins wouldn't be useful to them in a legal sense, because while they would have a strong suspicion that the receiving party is tied up in something illegal, they don't know what anymore.  And that's not enough to prosecute successfully.