When you delete a transaction from your wallet, doesn't mean the other nodes will delete it. Right?
Does Replace-By-Fee mean that you can replace the output-address? If so, then this "feature" just seriously breaks Bitcoin.
That is why a transaction is not a real transaction until it has at least one confirmation (is included into a block). Before then, it is just a transaction "candidate"...
Merchants should never ship products before getting at least one confirmation.
If that would be true, than every real life transaction would seriously be broken. Even if I attach a ridiculous high fee to a transaction, it could still take an hour to confirm, since it could take an hour to find a block.
Interesting. So it is potentially possible that BitPay never gets that transaction, and I receive what I purchased for free.
Yes, but the merchant should never ship their products without having at least 1 confirmation.
When you delete a transaction from your wallet, doesn't mean the other nodes will delete it. Right?
The other nodes will not relay it and upon restart, they won't have the transaction.
Does Replace-By-Fee mean that you can replace the output-address? If so, then this "feature" just seriously breaks Bitcoin.
Full RBF means that you can replace the output addresses, but what is currently recommended for use is partial RBF. This requires that the inputs and outputs remain the same as the transaction it replaces but the only difference is the fee.
At some point, the network will "forget" you transaction.
Where is this officially documented? Provide a link please. I find it concerning that a transaction sent could be "forgotten" by the network for any reason, that seems like a huge problem.
I don't have a link, I will get back to you with that if I can find it. However, I know this after looking in the source code. Nodes will only relay transactions once when they receive it or when another node asks for it.
The sending node will continue to broadcast the transaction while it is unconfirmed. If it stops broadcasting it, over time nodes will begin to not have the transaction in their mempools, either from restarts or other rules that people might set. Once enough nodes have dropped a transaction, a double spend can be attempted and if that double spend is confirmed, then the original will be dropped as a double spend.
What exactly do you mean by sending node? Do you mean, when I shut down my client the transcation could be lost?
When I use mycelium, I just activate my internet connection for sending the transaction and deactivate it immediately after that, but I still had transaction that where unconfirmed for some hours and got confirmed in the end.