# Peter Todd - Bitcoin Development - First-Seen-Safe Replace-by-Fee (Highlights)

## Metadata
**Cover**:: https://readwise-assets.s3.amazonaws.com/static/images/article4.6bc1851654a0.png
**Source**:: #from/readwise
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Peter Todd]]
**Full Title**:: Bitcoin Development - First-Seen-Safe Replace-by-Fee
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [www.mail-archive.com](https://www.mail-archive.com/
[email protected]/msg07829.html)
**Host**:: [[www.mail-archive.com]]
**Highlighted**:: [[2020-08-12]]
**Created**:: [[2022-09-26]]
## Highlights
- The current Bitcoin Core implementation has "first-seen" mempool
behavior. Once transaction t1 has been accepted, the transaction is
never removed from the mempool until mined, or double-spent by a
transaction in a block.
- Transactions may be
replaced by higher-fee paying transactions, provided that all outputs in
the previous transaction are still paid by the replacement.
- higher costs than standard RBF
- less cost and higher efficiency than child-pays-for-parent in many
common situations
- in some situations CPFP is unusable, leaving RBF as
the only option.
- 1) t2 pays > fees than t1
- 2) The delta fees pay by t2, t2.fee - t1.fee, are >= the minimum fee
required to relay t2. (t2.size * min\_fee\_per\_kb)
- 3) t2 pays more fees/kb than t1
- additional criteria
- 4) t2 only conflicts with a single transaction, t1
- 5) t2 does not spend any outputs of t1
- 2) All outputs of t1 are unspent.
- 1) All outputs of t1 exist in t2 and pay >= the value in t1.
How about CKB type script?
- once an address is
payed some amount of BTC, all subsequent replacement transactions will
pay an equal or greater amount.