16
votes
What is meant by transaction 'pinning'?
Transaction pinning happens when:
I broadcast a transaction that signals opt-in RBF
the transaction does not get confirmed because the feerate is too low
someone else broadcasts a new (child) ...
15
votes
Replace-by-Fee vs Child-pays-for-Parent?
Replace-by-fee means transactions spending the same coin to the same addresses are not considered double-spends by the network and are still relayed, as long as they pay a higher fee than the ...
11
votes
Accepted
When closing the channel for LN - how to calculate the fee for the blockchain transaction?
If worried about the original closing transaction having too high of fees:
The signed closing transaction that you're worried about (with too high of fees) has not yet been broadcast to the network, ...
10
votes
Accepted
How to disable RBF in Bitcoin Core?
walletrbf=0 only disables RBF when creating transactions through wallet RPCs such as sendtoaddress, sendmany or sendall. If you use the low-level RPC createrawtransaction, you need to either set the ...
8
votes
Accepted
Can RBF be used to change the value of a transaction?
However, is it possible to use RBF to change the value of the transaction or zero value (in case of cancellation)?
Yes, there is no restriction on transactions only changing the fee. In fact, that's ...
7
votes
Accepted
Why doesn't RBF include restrictions on the outputs?
Why didn't the RBF specification include additional constraints on the replacing transaction, such as that it would need to contain the same outputs (with at least the original output amounts) as the ...
7
votes
Accepted
Is it possible to set RBF as always-on in bitcoind?
You're looking for walletrbf=1.
You can configure bitcoind to always create transactions that signal replaceability by using the -walletrbf startup option or setting walletrbf=1 in the config.
...
7
votes
Accepted
What is the problem with the recent "One-Shot Replace-by-Fee-Rate" Proposal?
TL;DR: Due to the two asymmetric sets of rules for replacement, a total of five transactions is sufficient to make a cycle of replacements that beat each other in turn. This allows an attacker to ...
6
votes
Accepted
What is the recommended sequence for signalling RBF?
The only other relevance of the nSequence field is as relative locktime (in version 2 transactions); see BIP 68.
If you do use relative locktime, they will determine the value of nSequence.
If you ...
6
votes
Accepted
Sequence number semantics
If you're creating a version 2 transaction with the disable flag not set, then by definition the whole nSequence value will be less than 0xFFFFFFFE (because it will be at most 0x7FFFFFFF).
This ...
6
votes
Accepted
Why some transactions disappear from the mempool?
Skimming the source code, I found the following reasons for a transaction to be removed from the mempool:
It was included in a block
A conflicting transaction (i.e. one which spent at least one of ...
6
votes
Accepted
What happens when two or more transactions are covered ("hit") by RBF?
For a replacement to be accepted into the mempool, it has to improve the mempool for miners. Therefore, it has to pay more fees than all the ousted transactions, additionally must pay for its own ...
6
votes
Accepted
How is the total number of transactions that will be replaced calculated in this case?
The rule implemented in Bitcoin Core today (as of version 26.0) is that the sum of the number of descendants, counted over all conflicted transactions, cannot exceed 100.
In your example, that number ...
5
votes
Accepted
What incentive do miners have to respect the Replace-By-Fee flag?
Disrespecting it would require them modifying their software, which has ongoing administrative costs.
Otherwise, there any incentive within the system to behave otherwise. Willfully not taking income ...
5
votes
Accepted
Replaceable transaction or Non-replaceable. How can I identify it from raw transaction?
From BIP-125 Opt-in Full Replace-by-Fee Signaling:
This policy specifies two ways a transaction can signal that it is
replaceable.
Explicit signaling: A transaction is considered to have ...
5
votes
Accepted
Is there a way to allow use of unconfirmed RBF outputs in transaction building?
Bitcoin Core will happily spend RBF marked inputs it doesn't avoid them much less prohibit them.
Perhaps you're being confused by the fact that it will not spend an unconfirmed input created by a ...
5
votes
Is it possible to send to another address using replace-by-fee in either Bitcoin Core or Electrum?
Such a transaction is standard and would relay. However neither the Bitcoin Core wallet (via the bumpfee command) nor the Electrum wallet (via the GUI) would create such transaction.
More information ...
5
votes
Accepted
A question about CPFP relaying policy
Correct. tx0 is removed, and tx0child is "invalid" because it spends a UTXO that does not exist in the current chain or mempool. This could change in the future with package RBF and package ...
5
votes
What are the arguments in the `mempoolfullrbf` debate?
Replace-by-fee (RBF) is the ability to broadcast, propagate and ultimately get a replacement transaction in a mined block instead of the original competing transaction that you originally broadcast. ...
5
votes
Accepted
How do I perform a RBF transaction through Bitcoin Core?
If you're using the GUI, head over to the "Transactions" tab, right-click the pending transaction and choose "Increase transaction fee". If you're using bitcoin-cli, use the ...
5
votes
Accepted
Stuck transaction with enough fee rate
Your replacement transaction pays 30 sat/vB, but the minimum fee rate to get into a block has been over 40 sat/vB for a whole day now (which is quite rare). I recommend checking mempool.space to find ...
5
votes
Accepted
What types of RBF exist and which one does Bitcoin Core support and use by default?
The original software release included a mechanism that allowed transactions with a higher sequence on inputs to supersede transactions with a lower sequence. This mechanism was not incentive-...
5
votes
How is the total number of transactions that will be replaced calculated in this case?
One of the rule for the transaction replacement (RBF) is that the number of original transactions (directly conflicting transactions + their descendants) can't exceed 100.
This is a non-equivalent ...
5
votes
Accepted
Why does RBF rule #3 exist?
Rule 4 is indeed strictly stronger than rule 3.
It being two rules might be a simple carry-over from BIP125, as it was written from the implementation (and not the other way around). Under this ...
4
votes
Low fee Electrum wallet transaction disappeared, now when I increase the fee it seems to be rejected as a double spend
I faced a similar issue and found this reddit post quite helpful. I'm not a bitcoin expert but I will write an answer describing what I think is happening, since there are no other answers yet.
When ...
4
votes
Accepted
What restrictions are there to the application of opt-in RBF?
What restrictions are placed on RBF in the deployed "opt-in RBF" variant?
BIP-125: Opt-in Full Replace-by-Fee (RBF) Signaling specifies how to declare transactions replaceable until they are ...
4
votes
Accepted
Is "inherited" replace-by-fee signaling implemented as described in BIP125?
The answer to this question is: no, inherited signaling is not currently implemented in Bitcoin Core as described in BIP 125.
In May 2021, Antoine Riard discovered the missing implementation could be ...
4
votes
Accepted
Who bears the transaction fee for settling HTLC in Lightning Network?
TL;DR answer:
The fee for the HTLC is covered by whoever claims the output
The fee for the commitment transaction are always covered by the party who opened the channel
Sorry to say that but I ...
4
votes
Accepted
Why isn't Replace by fee default for all transactions?
It's been over six years and I've done entirely too little research to state the below with confidence, but what I can roughly piece together quickly between cursory research and from what I remember:
...
4
votes
Accepted
How is it possible to bypass bip125#2?
Replacement transaction using unconfirmed inputs
Which from what I deduce, it basically means that a replacement transaction can only have one input of an unconfirmed transaction output. Is my ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
replace-by-fee × 119bitcoin-core × 23
unconfirmed-transactions × 23
transaction-fees × 22
mempool × 20
transactions × 13
child-pays-for-parent × 13
sequence × 9
bip-125-replaceable × 8
json-rpc × 6
p2p × 6
pinning-attack × 6
lightning-network × 5
electrum × 5
bitcoin-cli × 5
doublespend × 5
package-relay × 5
wallet × 4
zero-confirmation × 4
blockchain × 3
terminology × 3
locktime × 3
relay × 3
fee-estimation × 3
bitcoind × 2