Some people have expressed the opinion that a successful double-spend attack would invalidate Bitcoin as a technology, and thus undermine the value of all Bitcoins (including the attacker’s), making an attack an unwinnable situation.
The “attack undermines the network” assumption is often used to justify why a rational actor would never attempt an attack.
Bitcoin, being a public ledger, makes it very easy to detect if someone performed a double spend attack. And we would know based on the length of the re-org whether or not the attacker had over 50% of the hashpower (per the whitepaper, a >=6 block re-org indicates a 51% attack with high certainty.)
My thought is that if my node detected a large re-org and double spend within that re-org, I would not accept payment associated with the double spender. If his identity was publicly known, nobody would accept his Bitcoins because they know they are liable to be double spent. If his identity was not publicly known, his Bitcoins are still tied to the attack, and nobody ought to accept them for the same reason.
But on the other side of the coin… Now, I know for a fact that all other Bitcoins not associated with the attacker cannot be double-spent, because by definition only one entity can have more than 50% of the hash power at a given time. I can actually accept Bitcoins from everyone other than the attacker with an even higher level of confidence than I could before!
Would this create a situation where the attacker has effectively burnt his own coins while simultaneously increasing the trustworthiness of all other coins?
Or said another way: is it valid that we do not have to assume a 51% attack would undermine the entire network’s value to conclude that it would still be self-undermining for the attacker?












