Remove TX priority and free transaction area from mempool, block creator #6675

issue jgarzik opened this issue on September 15, 2015
  1. jgarzik commented at 5:12 AM on September 15, 2015: contributor

    It was noted on #bitcoin-dev that many simplifications arise from removing the complex, dual-policy aspects of priority-based low fee transactions on policy estimation, block template creation and mempool code. This change updates Bitcoin Core to relay purely based on fee/kb rate, removing the concepts of priority and free transactions from the codebase.

    fSendFreeTransactions, fLimitFree and similar controls have been operating in the field defaulting to fee-based choices already.

    This change should make other changes such as @pstratem 's work to cap the mempool size dynamically much easier.

    An example implementation exists (#6405) at https://github.com/jgarzik/bitcoin/tree/2015_remove_tx_priority with the following notes/caveats:

    • Status: A large change, lightly tested
    • Transaction fee deltas are preserved - thus TX "priority" remains to some extent
    • Arbitrary policies may be implemented via fee deltas
    • prioritisetransaction RPC call continues to work, by adjusting the fee.
    • needs focused review in the area of wallet, to ensure IsMine() transactions work fine through reorgs
  2. ABISprotocol commented at 11:40 PM on September 16, 2015: none

    Note: please see this comment, related... am hoping that #6557 stuff gets merged along (including, I hope, https://github.com/sipa/bitcoin/commit/6498673f99da9976df170052648ff2f0026210d2) before this issue goes to pull request, etc.

  3. morcos commented at 12:45 AM on September 17, 2015: member

    I'm in favor of simplification, but I'd want to think carefully before totally abandoning priority as a useful metric. For instance, unlike fees, its not something miners can produce freely if its required in order to stuff blocks (obviously a different usage than at present).

    EDIT: After much further discussion, I'm now comfortable with removing the current concept of priority. The current code complexity outweighs the benefits of the feature.

  4. laanwj added the label TX fees and policy on Sep 22, 2015
  5. laanwj added the label Mempool on Sep 22, 2015
  6. TheBlueMatt cross-referenced this on Nov 12, 2015 from issue [WIP] [Mempool] Add space for priority transactions by sdaftuar
  7. MarcoFalke added the label Mining on Sep 27, 2016
  8. jonathancross commented at 7:38 PM on December 3, 2016: contributor

    FYI: I believe @morcos has completed most of this in #7730

    The concept of free / "priority" transactions is deprecated in 0.14.0.

  9. luke-jr commented at 7:45 PM on December 3, 2016: member

    @jonathancross Hard NACK on removing from block creator. It is still used today, and should be encouraged for more miners to use tomorrow. (Note that it is no longer about "free" transactions.)

  10. morcos commented at 8:19 PM on December 3, 2016: member

    @jonathancross Correct that priority transactions are deprecated in 0.14.0. But vestigal functionality still remains and can be optionally enabled. This is scheduled to be removed completely for 0.15.0.

  11. MarcoFalke added this to the milestone 0.15.0 on Dec 4, 2016
  12. MarcoFalke cross-referenced this on Dec 22, 2016 from issue wallet: Remove sendfree by MarcoFalke
  13. MarcoFalke cross-referenced this on Jan 20, 2017 from issue Remove coin age priority and free transactions - discussion by morcos
  14. morcos cross-referenced this on Feb 14, 2017 from issue Remove coin age priority and free transactions - implementation by morcos
  15. laanwj closed this on Mar 7, 2017

  16. daira cross-referenced this on Apr 11, 2017 from issue Redesign and drastically simplify tx prioritization policy by daira
  17. bitcoin locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-19 06:55 UTC