mybitcoin only waited for 1 confirms. This is a fact. I'm sorry if you think it's FUD, but a fact is still a fact.
Things don't become facts just because people say them, not even if they say them often and emphatically. And the 1 confirmation story has been questioned because no evidence to support it has ever been found. Read this post I made a week ago (below), then go look at the block forwarding mechanisms in the code.
I don't buy his story at all, at least not the version I heard. Here's why. Nodes forward valid blocks. This is obviously true in the window between accepting the block and having it overturned, but it is also true after a new longest chain has been accepted. Hell, it is even true if the blocks are stale at the time they are received, if I recall correctly from reading the code a while back.
If his node had been fed blocks that were later overturned, his node would have shared those, and they would have spread across the entire network, meaning that we'd all have copies of them. Certain people that have a keen interest in the block chain, like Theymos, would have noticed proof of a spend redirection attack in the wild and would have announced it widely. I gave up on reading the crap sloshing around in the mybitcoin threads, so I might have missed it, but I'm pretty sure that I would have come across it eventually if it had been announced.
I don't necessarily think that he stole the coins, but I'm pretty sure the attack did not come through the bitcoin side of things, even if he really did count deposits after a single confirmation.
If there really had been a spend redirection attack done against mybitcoin, there would be
ample evidence for it, and so far no one has presented any. The only way for there to have been an actual attack, and
no evidence found is if the attacker was able to
totally isolate his node by taking full control of his network connection for several days, and faking all bitcoin traffic to it for the entire duration, all without anyone noticing.
And even then I'm not sure it could be done cleanly, because when the attacker had to transfer out, he would need to force mybitcoin's node to create outgoing transactions that didn't use any of the fake incoming transactions as inputs.
You seem to have misunderstood me. I'll list out
my personal understanding of the mybitcoin attack in chronological order:
1. mybitcoin accepts deposits after only 1 confirm. This is an
intentional design flaw.
2. A few people point out this security flaw, but it largely goes unnoticed.
3. mybitcoin goes down for a week. People starts worrying and seeks explanations. This security flaw gets brought up again and most people accept the explanation
with no evidence that it actually happened.
4. Tom Williams comes back, claims there's been a security breach, apologizes profusely, and offers to return half of the coins.
5. Tom Williams walks away with the other half of the coins.
If you disagree with any of the above assertions, feel free to bring it up. But I have ample evidence to back up all of my claims.
Suppose Bob wants to open a new Bitcoin service. He claims he wants to speed up the processing times so he only waits for N confirmations, where N<6. In the end he can always just say "I'm so sorry guys, I thought this attack only had a 0.0000001% chance of success, but somehow the attackers made it happen. I'm will return whatever coins are remaining." and walk away with the rest of the coins. Most people won't buy this of course, but even if just 10% of the people buys this excuse, that's 10% less people with pitchforks after Bob.
Wouldn't it be far safer if Bob just N=6 like he's supposed to?