Include Replace By Fee (RBF) in transaction resources
See original GitHub issueBitcoin transactions can be replaced an other transaction spending the same (or subset) UTXOs. This feature is called Replace By Fee and is a useful addition to the semantics of a transaction.
Transactions can explicitly signal they support this feature via the sequence
field setting this to less than 0xffffffff - 1
. Or do so implicitly when one of their parents explicitly signals RBF.
The risk is that malicious users can pay with an RBF transaction, get the goods/services from the merchant and the broadcast another transaction spending the same UTXOs to a different address. This risk only applies when the merchant doesn’t wait for the first confirmation. This happens often (all the time?) when doing face to face transactions.
It would be great if the responses from the API involving transactions would include a field telling the API consumer about RBF signalling. Perhaps a boolean field isRBFSignalling
would suffice. This way the API consumer can decide what is best in their scenario.
Obviously Lightning is the better payment solution in such a case as we’re dealing with (probably) small values and a face to face transaction.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:4
- Comments:32 (17 by maintainers)
Top GitHub Comments
IMHO the consumer does not care about the difference between broadcasting and confirming. The merchant should not ship if the invoice is not confirmed, RBF is not relevant to the decision.
For physical retail, they all takes the risk of double spend anyway and accept payment even if the tx is not fully confd.
What would be useful though is a details link showing transaction information that we can see in the invoice details if you are logged in. It does not have to be in the checkout UX though.
I think this is good, I would suggest changing the “Payment Broadcasted” -> “Payment pending confirmation” I just do not think “broadcasted” is grokk, my suggestion my be only a little better. i.e. “confirmation” is as bad… ideas anyway.