# Peter Todd - Bitcoin Development - First-Seen-Safe Replace-by-Fee (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article4.6bc1851654a0.png) ## 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.