Hello list,
I’ve been working on a small policy proposal that aims to address one very specific problem: the long-term accumulation of uneconomical dust in the UTXO set.
The idea is intentionally narrow. I’m calling it DustSweep, and it defines a strict, non-abusable class of transactions that nodes may relay and miners may include only when the mempool and block space are underutilised. The goal is to give wallets a predictable way to compact dust without introducing new spam vectors or touching consensus.
A DustSweep transaction has the following properties:
all inputs are “dust-class” UTXOs
only standard scripts (P2PKH / P2WPKH / P2TR)
exactly one output
no metadata at all (no OP_RETURN, inscriptions, TLVs, etc.)
minimum of 5 inputs (to ensure meaningful UTXO reduction)
size capped
it pays a flat 1 sat per input fee
Nodes place these in a small, separate sub-mempool. They’re only accepted when the normal mempool is <50% full, and they’re automatically evicted if normal mempool usage hits 95%. Miners can include them up to a small weight fraction (I suggest ~5%) but only after filling the block with regular fee-paying transactions. The intention is that DustSweep never competes with the fee market and only uses blockspace that would otherwise go unused.
This is all policy-level. No consensus changes, no new transaction format, nothing that affects validation. Nodes that don’t implement it simply treat these as low-fee transactions and drop them.
The motivation is straightforward: we don’t currently have a safe, structured way to compact dust, and the UTXO set continues to grow from outputs that are effectively unspendable under normal fee conditions. DustSweep tries to offer a predictable, opt-in mechanism for wallets to clean that up without creating any new attack surface.
Full draft BIP and supporting documents are here:
https://github.com/defenwycke/bip-dust-sweep
I’d appreciate feedback on the policy details, thresholds, and whether this fits within what node operators and wallet developers would actually want to use. Happy to adjust parameters if there’s a better balance point.
Kind regards,
Defenwycke