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