I think you may have misunderstood Bitcoin; you realise it's not anonymous, right?
No it's not. There's plenty of information that will still leak out, whether it's what service(s) the outgoing money is then sent to, the time of day following transactions take place, and a million other tiny little pieces.
And this is ignoring any issues with the mixing service.
The interesting thing here is that with bitcoin, a cash-like transaction may not be anonymous, but a check-like transaction usually would be.
Of course, the middleman institution could still be compromised here, but since it uses its own protocol to track its customers' balances, it could use one that does preserve anonymity effectively.
Because what you've just described is still just obfuscation.
With this method, incoming and outgoing payments would be asynchronous, so it would be hard to use timestamps to associate them.
Doesn't matter. An outgoing payment will happen at some point in your day, and unless you have zero time patterns in your life, it will help identify you. As will the resulting services and people you send money to, even if the pieces start as small and as basic as "Orders pizza."
If I deposit 500 BTC every Friday, and immediately transfer it into the mixing account, then order a pizza for 10 BTC on a Tuesday, paid for from via mixing account, how would you confirm that I was the one who ordered the pizza? All you can determine for certain is that (a) I am a subscriber to the mixing account, and (b) someone who subscribes to the mixing account ordered a pizza. If there are a million subscribers to the mixing account, without access to their internal records, there's no way to conclusively associate outgoing payments with specific subscribers.
The same argument could be made against cash's anonymity.
You can split it into a million micropayments whilst you're at it; it still doesn't stop the information leak.
The same argument could be made against cash's anonymity.
Can you explain this in a bit more detail? I'm not sure I understand.
Yes it does. If I split one payment into three different sizes and send them hours apart while I'm sleeping, from a shared eWallet used daily by 1000 other people, you think that is going to be traceable to me in any way?
Not a chance.
Hey presto, there's some information. Either about liking to buy pizza, having friends in country X, or being based in country X.
Trace it backwards, you have a list of people potentially involved.
I'm not saying that a single transaction will identify you. However, much like that EFF browser identity page, it doesn't take many bits of information - plus a few "likely good with computers" type guesses - to start putting together a list of very plausible identities.
You're kidding yourself if you believe otherwise.
Think about how Google's search engine works. That's a seriously complicated piece of kit, storing vast amounts of data.
Do you really think analysing millions or billions of rows of incredibly database-friendly records is that tricky by comparison?
Well, some problems are so hard (in the rigorous complexity-theoretic sense) that no amount of hardware is going to make a difference. For example, problems currently classed as NP-hard take, in the general case, an amount of time that increases exponentially in the problem size, so past a certain threshold, take too much time even given all the computers on earth.
The problem you'd have to solve here is basically the subset sum problem: given a set of transfers in an out of a mixer (let's say you already know which addresses it uses, which is not easy since it can make new ones for free) which subsets of the transfers out have the same totals as which subsets of transfers coming in? (From that point you identify one in/out set of addresses as belonging to the same person.)
That problem likewise takes exponential time to solve in the general case. And since the mixer chooses the transfers, they can pick it so that it's hard to find solution partitions (i.e. drive it to the part of the problem space where heuristics help the least).
Or they could go the opposite approach and add a random, time varying tolerance (i.e. charge a fee that varies between x and y % over time, or promise that you might get up to x% more or y% less than you put in) that makes the problems extremely underdetermined so that there are arbitrarily many constraint-satisfying solutions thus that the aggregate data is uninformative.
No, "Google solves complex problems" does not prove what you think it does.
This isn't even the right problem, given the usage model that I posited and to which mootothemax replied; if you keep a balance stored in the mixing account, to which you make deposits on a regular payments, then it's highly unlikely that outgoing payments will match incoming payments in the first place. How often do you currently deposit checks into your bank account in exactly the same amount as outgoing payments that you immediately write after making the deposit?
There'd be no conclusively correlating information here; payments into the mixing account would have different amounts and timestamps from payments going out of it, and in order to use inferences taken from patterns as identifying information - e.g. someone orders a pizza from Mario's Pizzeria every Tuesday at 7 PM - you'd have to already have identifying information about the person you're trying to find in the first place, e.g. that I live near Mario's and happen to enjoy their pizza.
It's not just that the complexity of the problem increases with scale, it's that the reliability of the correlations you can make also decreases with scale.
I fear that as long as you and I fling accusations like this at one another, no good will come of this thread, so propose we end it thus: I consider the problem solveable; and you do not.
Did you intend to be that self-deprecating? It's pretty nice to see someone being so humble, frankly.
This is also money laundering, an illegal activity. If you need to do something illegal to get the bare minimum of functionality out of bitcoin it's not appropriate for business.
You can make it more difficult to link your accounts together by never transferring funds between your different accounts, but then how do you fund your accounts? It just gets more and more complicated.
I don't really think Bitcoin will bring an end to "Follow the money".
But I think the study you actually want might our study, which focuses on anonymity: http://anonymity-in-bitcoin.blogspot.ie/2011/07/bitcoin-is-n...
I might be biased, but I think we deal with most of the points JGarzik mentioned in our paper.
But we're not 'the Feds'; perhaps silverstorm was thinking of this story: http://www.wired.com/threatlevel/2012/05/fbi-fears-bitcoin/
http://www.amazon.com/Differential-Cryptanalysis-Data-Encryp...
The way to get around this is to generate many wallets and move things around a lot. However it's still money moving within a subset of bitcoin wallets, so potentially trackable still (Google is able to detect 'link farms', so the police might be able to detect 'mixing farms')
Really for most mid sized transactions cash if far better, and dominos accepts cash unlike say amazon.com.
What? There seems to be lots of misinformation here. Please prove your point. There is no need to publish your IP when you mine. Most people mine in pools, and I guess the mining pool announces the block. But you can announce it through Tor, or you can solo-mine through tor.
Not necessarily.
Lots of eWallet providers use "shared wallets" where thousands of peoples' bitcoins are stored in a single wallet. This allows for complete anonymity.
It's simple and free.
The Bitcoin wiki has a good article on this:
https://en.bitcoin.it/wiki/Anonymity
Whilst it might be possible to obfuscate your transactions list (for all the good that will do you), there's still a paper trail.
So if you only have a mobile (and this is the government) they would also have your current position.
Sounds like a great deal: Free Surveillance with every Large Pizza + Coke.
If you want to buy pizza anonymously, you have a good way to do so already available to you: pay in cash.