RBF
Related BIPs
Transaction の Input のうち、一つでも Sequence の値が (0xffffffff - 1) よりも小さければ Replaceable とみなす
Explicit signaling: A transaction is considered to have opted in to allowing replacement of itself if any of its inputs have an nSequence number less than (0xffffffff - 1).
Bitcoin Core で、RBF のシグナリングがなくても RBF と同じ扱いにする機能が追加される?
すべての TX が RBF enabled として扱われる
RBF の問題点
Bitcoin Core の実装
Core の実装は完全に BIP にしたがっているわけではない
以下は古いルール
新しいルールは
1. The original transactions signal replaceability explicitly or through inheritance as described in the above Summary section.
RBF の対象であること
2. The replacement transaction may only include an unconfirmed input if that input was included in one of the original transactions. (An unconfirmed input spends an output from a currently-unconfirmed transaction.)
意味が理解できない、、、
置換先のトランザクションには、未承認のインプットが、置換元のトランザクションの1つに含まれている場合にのみ含まれる可能性がある。
replacement transaction が unconfirmed tx を input にする場合は、original tx の input にもなっている tx でなければならない
言い換えると、original tx の input にはない unconfirmed tx を input にすることはできない
confirm されてる tx であれば、original tx が含んでいない tx を input にしてもよいことになりそう
3. The replacement transaction pays an absolute fee of at least the sum paid by the original transactions.
リプレイスする場合に必要な fee について
4.The replacement transaction must also pay for its own bandwidth at or above the rate set by the node's minimum relay fee setting. For example, if the minimum relay fee is 1 satoshi/byte and the replacement transaction is 500 bytes total, then the replacement must pay a fee at least 500 satoshis higher than the sum of the originals.
なんで?
5. The number of original transactions to be replaced and their descendant transactions which will be evicted from the mempool must not exceed a total of 100 transactions.
リプレイスする tx に上限がある