Skip to content

Policy: Penalize effective fee for sub-dust outputs#272

Open
kwsantiago wants to merge 4 commits intobitcoinknots:29.x-knotsfrom
privkeyio:policy-subdust-fee-penalty
Open

Policy: Penalize effective fee for sub-dust outputs#272
kwsantiago wants to merge 4 commits intobitcoinknots:29.x-knotsfrom
privkeyio:policy-subdust-fee-penalty

Conversation

@kwsantiago
Copy link
Copy Markdown

Closes #146

Reduces the effective fee by the dust threshold for each sub-dust output, creating an economic disincentive for dust creation without outright rejecting transactions.

  • New -subdustfeepenalty option (default: enabled, disabled by -acceptlargefees)
  • GUI toggle in Options
  • Functional test covering penalty, proportional penalty, stacking, OP_RETURN exemption, and disable flag

Copy link
Copy Markdown
Collaborator

@luke-jr luke-jr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would this work, since dust is just rejected entirely still?

@kwsantiago kwsantiago force-pushed the policy-subdust-fee-penalty branch from 0d92d8a to 3ad0291 Compare March 5, 2026 13:56
@kwsantiago
Copy link
Copy Markdown
Author

The penalty applies to sub-dust outputs already tolerated by other policy settings (ephemeral dust, acceptnonstdtxn, etc.). Per #146, it targets tolerated sub-dust outputs rather than overriding the dust rejection. OP_RETURN is unaffected since GetDustThreshold returns 0 for unspendable outputs.

@kwsantiago kwsantiago requested a review from luke-jr March 5, 2026 14:01
@kwsantiago kwsantiago force-pushed the policy-subdust-fee-penalty branch from fb30f5c to 76c56cc Compare March 29, 2026 12:48
Copy link
Copy Markdown
Collaborator

@luke-jr luke-jr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should "test: fix subdust fee penalty test for corepolicy min relay fee" be squashed?

Note for followup later: This doesn't allow for at least two useful configurations:

  1. Reject dust below fixed dust floor, but penalise based on smart dust logic.
  2. Allow all dust, but penalise based on dust configuration (fixed or smart).

@kwsantiago kwsantiago force-pushed the policy-subdust-fee-penalty branch from 76c56cc to af7d6f6 Compare April 11, 2026 20:59
@kwsantiago
Copy link
Copy Markdown
Author

Squashed the test fix, moved SoftSetArg to the default-toggling commit, and removed subdustfeepenalty from the rejectunknownscripts toggle.

@luke-jr luke-jr added this to the 29.3 (2nd) milestone Apr 12, 2026
luke-jr pushed a commit that referenced this pull request Apr 13, 2026
luke-jr pushed a commit that referenced this pull request Apr 13, 2026
luke-jr pushed a commit that referenced this pull request Apr 14, 2026
luke-jr pushed a commit that referenced this pull request Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Policy: Reduce effective fee by "dust" for each sub-dust output tolerated (eg, anchors, datacarrier)

3 participants