I'm still perplexed over the 0/1-confirmation thing. The most
elaborate technical exposition of it that I've seen is this irc snippet:
May 07 07:24:05 You cannot double spend with 1 confirmation. You almost cannot with zero as it stands.
May 07 07:24:09 well next step is 0 conf lol
May 07 07:24:39 you can double spend with 10 confirms if things are not setup correct
May 07 07:25:04 Not with VNL you can't.
May 07 07:25:15 You’d have to own about 99% of the network.
May 07 07:25:35 Even then you couldn’t do it because of the work required.
May 07 07:26:18 * kondiomir (5b8635a1@gateway/web/cgi-irc/kiwiirc.com/ip.91.134.53.161) has joined
May 07 07:26:30 Bitcoin is easy because the mempool sucks.
May 07 07:26:40 It’s so not synchronized.
May 07 07:27:09 So you can put TxA-B on mempools A, B and C and TxA-C on mempools D, E and F
May 07 07:27:16 Success!
May 07 07:27:28 With vanilla all is known which is instant failure for attacker.
But it seems to me that in the double-spend attack the contents
of mempool do not matter, only the transactions in the longest chain.
So attacker could prepare a private chain with a double spending transaction
and if she has enough hashing power, she can replace the "honest" chain
with the double-spending one.
In Meni Rosenfeld's
statistical analysis of the double-spending attack it is stated that (emphasis mine)
There is nothing special about the default, often-cited figure of 6 confirmations. It was
chosen based on the assumption that an attacker is unlikely to amass more than 10%
of the hashrate, and that a negligible risk of less than 0.1% is acceptable. Both these
figures are arbitrary, however; 6 confirmations are overkill for casual attackers, and at
the same time powerless against more dedicated attackers with much more than 10%
hashrate.
In other words, the number of required confirmations is an estimate based on the probability
of someone owning a certain percentage of hashrate, and this applies as far as I can see to
all proof-of-work coins.
According to Rosenfeld's analysis, presupposing only constant total network hashrate and
constant difficulty, the probability of attacker succeeding with 10% of hashrate is 20% after
single confirmation.
John-connor says above you'd need "about 99%" of hashing-power, but even if everyone
gets to see transactions at the same time, it is the transactions that are in blocks that do matter,
not those in temporary memory, and blocks in the longest chain matter the most. So far I have
failed to understand where that figure comes from.