question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Include Replace By Fee (RBF) in transaction resources

See original GitHub issue

Bitcoin 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:open
  • Created 4 years ago
  • Reactions:4
  • Comments:32 (17 by maintainers)

github_iconTop GitHub Comments

2reactions
NicolasDoriercommented, Mar 11, 2020

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.

2reactions
mjlambcommented, Feb 21, 2020

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

What Is RBF - Replace By Fee?
Replace-by-fee (RBF) allows users to replace one version of an unconfirmed transaction with a different version of the transaction that pays ...
Read more >
Replace-by-fee (RBF) Ethereum
Replace-by-fee (RBF) is a method that allows users to replace one version of an unconfirmed transaction with a different version of the transaction...
Read more >
What is the Replace by Fee (RBF)?
The Replace by Fee (RBF) is a useful feature of cryptocurrencies that allows us to increase the fee of a transaction to speed...
Read more >
Avoid Becoming A Crypto Scam Victim Through 'Replace ...
Replace- By- Fees (RBF) is a process of paying a higher transaction fee to replace previously sent, but yet to be confirmed blockchain......
Read more >
Replace-by-fee (RBF)
Replace-By-Fee (RBF) is a node policy that allows an unconfirmed transaction in a mempool to be replaced with a different transaction that spends...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found