In their paper Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin, Karame and Androulaki outline a particular race-attack that involves the slight control over a vendor's network connection (we need a direct connection to the vendor in this attack). After reading it, I wondered why we couldn't connect more than one peer to the vendor.

Suppose an adversary A who owns many nodes on the network surrounds a vendor V so that V unbeknowingly is only connected to A. That way, we could send a transaction to them, say, T_AV. Then, when they broadcast that transaction to the network, they're just broadcasting it to the adversary, who would of course confirm the validity of T_AV. In the meantime, so long as V isn't connected to the rest of the network they wouldn't know about the double-spend. This would make for an attack that has feasible hardware requirements, and isn't hindered by fast transactions.

Am I missing something or would this attack work? I'm also curious what kind of measures Bitcoin takes to prevent the controlling of someone else's connections, and what kind of counter-measures attackers have used to control someone else's connections, if any.


1 Answer 1


That sort of attack sounds definitely doable. But it's important to take into consideration the cost of this type of attack versus the cost of the thing that you're actually stealing (double-spending):

  • If you're buying something expensive, the vendor will most likely require you to wait at least 2-3 confirmations, defeating the possibility for this type of attack.

  • If you're buying something inexpensive, the vendor could probably accept unconfirmed transactions, opening the possibility for a double-spending attack. But as an attacker, it'll probably cost you more to pull off this kind of stunt than actually buying the thing.

In conclusion, this type of attack can probably be successful, but the costs outweigh the benefits.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.