Say I have manually constructed a 'replace-by-fee' tx. How do I broadcast it? None of the push-tx sites seem to be accepting it. I am not running a full node, so pushing locally is not an option.
EDIT: I just realized I have to mark the original transaction as replacable, which was not done. So I guess I have to find some miner willing to take my double-spend TX.
Aren't there any mining services offering this? It will be a good business model.
"Aren't there any mining services offering this? It will be a good business model. "
Think about it again, what you are asking for is a scam service to double spend if it was to be made it will be and should be rejected by the network.
This is not a scam service. By replace-by-fee, it is assumed that a double spend must be sending to the same addresses, with a higher fee (possible by reducing amount to some other address in the outputs). Now how do we check that the amount deducted is actually from the change address and not the "real" receiver?
The tx must have a special form, the change address must be from the set of inputs. That way we can check that indeed the amount was reduced from change and not from some other address.
Rather than being a scam, this is a service that can help tx confirm faster. So its completely the opposite.
Of course, miners could (and should be allowed to) not only accept replace-by-fee but any double spend. This is the whole idea of mining. If we go by your logic, and everyone is going to be "good" and not allow "scams" to happen, then we don't even need Proof-of-Work.
As per the protocol, it does not matter what tx someone has in their mempool. What actually matters is which tx is finally mined and included in a block. Relying on zero-confirmations is not a very smart thing to do.
Also I'm curious to see how such a service will be "rejected by the network"? (what does this mean?)