I am trying to determine how many confirmations would be reasonably safe to wait before accepting a Bitcoin transaction from an attacker that is not a miner and hence cannot rely on Finney attacks, but that could try to freely double spend based on his observation of the state of the blockchain.
I understand that at 0-confirmation, attempting a double spend may well work if for example the transaction fee of the second transaction is higher, and the first transaction has not been widely disseminated yet (so nodes would not reject it as a double spend).
At 1-confirmation, any double-spend would automatically be rejected by all nodes accepting the first confirmed block. However, should (i) the blockchain be "reorganized" with a minor fork taking over, as I understand happens regularly (are there statistics on this?), and (ii) the initial transaction not be included in the fork, the attacker could immediately retry double-spending in the hope it gets included in the next block.
Should I be worried of such blockchain reorganizations when accepting n-confirmation transactions? Am I right to say that any successful 6-block fork would open the risk of free riding the double spending of ALL transactions not included in the fork, not just those targeted by the rogue miner? Or would most nodes (including the rogue miner) most likely reject the free-riding double spend attempts anyway (even if its transaction fees are set way higher), as the first transaction would by that time be fully disseminated?