<p>Maybe this answer came a bit too late, but lets give it a try.</p>
<p>Let me start by citing A. Narayanan et alter <a href="https://rads.stackoverflow.com/amzn/click/com/0691171696" rel="nofollow noreferrer" rel="nofollow noreferrer">Bitcoin and Cryptocurrency Technologies book</a>:</p>
<blockquote>
<p>Since 2013, there has been interest in changing the default policy to
replace-by-fee (RBF) whereby nodes will replace a pending transaction
in their pool if they hear a conflicting transaction which includes a
higher fee. This is the rational behavior for miners, at least in a
short-term sense, as it gives them a better fee.</p>
<p>However, replace-by-fee would make double-spending against zero-confirmation
attacks far easier in practice. Replace-by-fee has therefore attracted
controversy, both in terms of the technical question of whether it is
possible to prevent or deter double-spending in an RBF world, and the
philosophical question of whether Bitcoin should try to support
zero-confirmation as best it can, or abandon it.</p>
</blockquote>
<p>So controversy is set between what can be more profitable for miners (i.e accepting transaction with higher fees), versus what may generate more transactions in the mempool and, moreover, could ease double-spending attacks against zero-confirmation transactions. That's probably why Electrum shows such a warning. Merchants could be unwilling to accept transactions that can be replaced if a greater fee is provided before the transaction has been included in a block.</p>
<p>In my humble opinion, it depends on whether your tool will be used for zero-confirmation transactions or not.</p>
<p>Moreover, if you are concerned about what nodes of the network will do when dealing with such a transaction, <a href="https://bitcoin.stackexchange.com/questions/52457/what-is-the-default-relaying-policy-for-rbf-double-spend-transactions">here</a> you have a question that talks about the relaying policies of RBF.</p>

CC BY-SA 3.0
2017-05-25T19:07:44.117Z
2017-05-25T19:07:44.117Z
2020-06-16T11:10:03.350Z
sr_gi
<p>Bitcoin is decentralized. Nobody should tell you what is positive or not. You are welcome to do anything allowed by consensus code.</p>

CC BY-SA 3.0
2017-04-24T04:42:25.067Z
2017-04-24T04:42:25.067Z
amaclin
<p>As a bitcoin user, it seems that Replace-by-fee feature is useful to solve the problem of transactions not confirming because of an insufficient fee. However, as far as in know, most bitcoin wallet apps does not have the feature. I found that only Electrum wallet has it. (But it is not default setting on Android app)</p>

<p>I read this reddit. The comments are posted 1 year ago but seems still be controversial. </p>

<p><a href="https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/" rel="nofollow noreferrer">https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/</a></p>

<p>I have very simple transaction generator tool in my company. The process is the followings:</p>

<pre><code>1. User calls HTTP API to create transaction with some parameters (source, destination, amount, fee, etc).
2. Retrieve utxos and generate raw-transaction in server-side. Returns the raw-tx to user.
3. User signs the raw-tx and calls broadcast HTTP API.
</code></pre>

<p>Users want to solve the problem of transactions not confirming. Thus I'm considering if Replace-by-fee is good idea or not.</p>

<p>My concern is whether using Replace-by-fee is agreed(positive) or not in Bitcoin community. If not, I won't use it. If the reason is technical(or cost), I will try to implement it.</p>

<p>I'm very grateful if you could share your opinion or references about it. (sorry this can be opinion based question)</p>

<hr>

<p>Update 1</p>

<p>I'm sorry the above my question is not clear. What I wanted to ask was what negative aspects Replace-by-fee has.</p>

<p>Electrum Android add shows the following warning before creating transactions.</p>

<p><a href="https://i.sstatic.net/eV4Oa.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/eV4Oa.png" alt="enter image description here"></a></p>

<blockquote>
  <p>Note that some merchants do not accept non-final transactions until they are confirmed.</p>
</blockquote>

<p>This case would be a negative aspect. I have concerns if another disadvantages are exits or not. </p>

<p>(Btw, Replace-by-fee can change only fee. I'm not sure why some merchants do not accept replaceable tx.)</p>

<p>I found that the downside of RBF is described in this question.</p>

<blockquote>
  <p>The downside is that this represents a significant shift in terms of expected memory pool behavior. </p>
</blockquote>

<p><a href="https://bitcoin.stackexchange.com/questions/38320/can-someone-outline-the-full-pros-cons-of-the-various-replace-by-fee-proposals">Can someone outline the full pros/cons of the various Replace-By-Fee proposals?</a></p>

<doublespend><replace-by-fee>
Why most bitcoin wallet apps don't have Replace-by-fee feature?
zono
# Why most bitcoin wallet apps don't have Replace-by-fee feature?

(Asked by: username_0 on 2017-04-23)

As a bitcoin user, it seems that Replace-by-fee feature is useful to solve the problem of transactions not confirming because of an insufficient fee. However, as far as in know, most bitcoin wallet apps does not have the feature. I found that only Electrum wallet has it. (But it is not default setting on Android app)

I read this reddit. The comments are posted 1 year ago but seems still be controversial.

<https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/>

I have very simple transaction generator tool in my company. The process is the followings:

```
1. User calls HTTP API to create transaction with some parameters (source, destination, amount, fee, etc).
2. Retrieve utxos and generate raw-transaction in server-side. Returns the raw-tx to user.
3. User signs the raw-tx and calls broadcast HTTP API.

```

Users want to solve the problem of transactions not confirming. Thus I'm considering if Replace-by-fee is good idea or not.

My concern is whether using Replace-by-fee is agreed(positive) or not in Bitcoin community. If not, I won't use it. If the reason is technical(or cost), I will try to implement it.

I'm very grateful if you could share your opinion or references about it. (sorry this can be opinion based question)

---

Update 1

I'm sorry the above my question is not clear. What I wanted to ask was what negative aspects Replace-by-fee has.

Electrum Android add shows the following warning before creating transactions.

[![enter image description here](https://i.sstatic.net/eV4Oa.png)](https://i.sstatic.net/eV4Oa.png)

> Note that some merchants do not accept non-final transactions until they are confirmed.

This case would be a negative aspect. I have concerns if another disadvantages are exits or not.

(Btw, Replace-by-fee can change only fee. I'm not sure why some merchants do not accept replaceable tx.)

I found that the downside of RBF is described in this question.

> The downside is that this represents a significant shift in terms of expected memory pool behavior.

[Can someone outline the full pros/cons of the various Replace-By-Fee proposals?](https://bitcoin.stackexchange.com/questions/38320/can-someone-outline-the-full-pros-cons-of-the-various-replace-by-fee-proposals)

**Tags:** doublespend, replace-by-fee


---

## 2 answers

### Answer by username_1 on 2017-05-25. Score: 3

Maybe this answer came a bit too late, but lets give it a try.

Let me start by citing A. Narayanan et alter [Bitcoin and Cryptocurrency Technologies book](https://rads.stackoverflow.com/amzn/click/com/0691171696):

> Since 2013, there has been interest in changing the default policy to
> replace-by-fee (RBF) whereby nodes will replace a pending transaction
> in their pool if they hear a conflicting transaction which includes a
> higher fee. This is the rational behavior for miners, at least in a
> short-term sense, as it gives them a better fee.
>
> However, replace-by-fee would make double-spending against zero-confirmation
> attacks far easier in practice. Replace-by-fee has therefore attracted
> controversy, both in terms of the technical question of whether it is
> possible to prevent or deter double-spending in an RBF world, and the
> philosophical question of whether Bitcoin should try to support
> zero-confirmation as best it can, or abandon it.

So controversy is set between what can be more profitable for miners (i.e accepting transaction with higher fees), versus what may generate more transactions in the mempool and, moreover, could ease double-spending attacks against zero-confirmation transactions. That's probably why Electrum shows such a warning. Merchants could be unwilling to accept transactions that can be replaced if a greater fee is provided before the transaction has been included in a block.

In my humble opinion, it depends on whether your tool will be used for zero-confirmation transactions or not.

Moreover, if you are concerned about what nodes of the network will do when dealing with such a transaction, [here](https://bitcoin.stackexchange.com/questions/52457/what-is-the-default-relaying-policy-for-rbf-double-spend-transactions) you have a question that talks about the relaying policies of RBF.


---

### Answer by username_2 on 2017-04-24. Score: 0

Bitcoin is decentralized. Nobody should tell you what is positive or not. You are welcome to do anything allowed by consensus code.


---

