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

issue jgarzik openend 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 0: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. MarcoFalke added the label Mining on Sep 27, 2016
  7. 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.

  8. 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.)
  9. 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.
  10. MarcoFalke added this to the milestone 0.15.0 on Dec 4, 2016
  11. laanwj closed this on Mar 7, 2017

  12. MarcoFalke 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: 2024-10-04 22:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me