Author

Topic: Double-spending alerts implemented? = "instant" transactions supported? (Read 458 times)

newbie
Activity: 23
Merit: 0
Learn more about bitcoin first.

Miners can include any transaction they wish, including one that was never broadcasted to the network. Doesn't matter what sort of crap you do, if I mine I block I can double spend 0conf TXes no matter what, if I mine two blocks in a row I can doublespend 0-1conf TXes no matter what, if I mine 3 blocks in a row I can doublespend 0-2conf TXes no matter what.

Serious merchants will NEVER accept 0 confirm transactions.

If that would be true, bitcoin would be completely USELESS, but that is NOT the case.

First, the miner has no guarantee that his/her BAD block will be first to get into the chain. For that he needs a lot of processing power today and even more if we ever get to have bitcoins "on the street" for instant shop payments. The cost/benefit ratio assures that mining attacks are not worth unless for huge transactions that nobody will expect to be instantaneous.

Second, more difficult it is to get a second or more consecutive blocks in the chain is WAY difficult, you will need to monopolize >51% processing power.

Third, I wouldn't believe that other peers and miners would accept a malformed block that contains a double spending like 2 transactions saying that output X is used more than once.

Forth, "inventing" transactions it not feasible without the private key of the bitcoin previous output holder. What is the chance that you guess right a key of 32bytes, even if you know it has to conform to some rules to be a key you are talking about 2 exp 100 posibilities or more... good luck with that!


THE ATTACK I was talking about DOES NOT NEED ANY MINERS, it is cheap and can be carried out with 5 or 10 peers. making bitcoin report (and I would say punish) double spending detections would make this attack impossible just by waiting a few seconds, that could longer depending of the size of the transaction so to keep the cost/benefit attack ratio over a safe value.

I repeat the question.
Is double spending reported when detected?

It not... Why not?
It seems too stupid NOT to report it and also not to punish the transaction issuer.

---
1HV1Ycu5d6Ff2jUCp965Ec9dmswwfGxuwi



vip
Activity: 1316
Merit: 1043
👻
Learn more about bitcoin first.

Miners can include any transaction they wish, including one that was never broadcasted to the network. Doesn't matter what sort of crap you do, if I mine I block I can double spend 0conf TXes no matter what, if I mine two blocks in a row I can doublespend 0-1conf TXes no matter what, if I mine 3 blocks in a row I can doublespend 0-2conf TXes no matter what.

Serious merchants will NEVER accept 0 confirm transactions.
newbie
Activity: 23
Merit: 0
Thanks to VeeMiner, that pointed me to the paper:

http://people.scs.carleton.ca/~clark/biblio/bitcoin/Karame%202012.pdf

I learned some interesting facts:

1) It is relatively EASY AND CHEAP to cheat a merchant with double spending if he doesn't wait more than a few seconds to validate the transaction with 0 confirmation.

Ah, this is NOT theory, the researchers MADE IT HAPPEN (to themselves) to confirm the predicted attack success probabilities. With just a handful of malicious peers, one connected to the merchant directly and a few helpers (<10 was more than enough)

2) The only really proper and reliable FIX is to add a very simple CHANGE to the protocol, that is:

When the researchers could perform their test attacks, the bitcoin network was accepting any first valid transaction that arrived to them and discarded the others that arrived later SILENTLY. ( I WONDER WHY??? it seems quite a stupid thing to do not TO REPORT this EVENT through the network)

The SOLUTION is as simple as just to REPORT back to the network of peers any detected double spending as soon as two or more transactions that are still not in a block get received for the same inputs. I would say also all those transactions should be penalized by not making it to the next confirmed block at least.

The researchers say that the protocol already contains a transactions alert message that was unused at the moment and could become the double spending alert. So the change would be minor indeed.

I think this is quite IMPORTANT. Supporting such alert messages would expand bitcoin use cases to instant transactions like buying stuff at the supermarket, paying your bread, etc. The merchant could be quite confident that in 10-20s or less there is no double spending alert the probability that the transaction will get confirmed is quite sure.

So the question is...

Does current bitcoin support double-spending alerts?
If so, where can I read about it?
If NOT? why?
What is the reason? (Are you crazy? what are we waiting for?)

AND THANKS again to VeeMiner FOR POINTING me to this paper!!!
Jump to: