Skip to content

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

@jgarzik

Description

@jgarzik

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions