What is meant by Bitcoin dust? I've seen the term "dust" used to describe small transactions that might be considered as spam by the Bitcoin network. Is there is a generally accepted definition of this term?
The definition of dust is client-specific and not a network rule.
Bitcoin Core considers a transaction output to be dust, when its value is lower than the cost of spending it at the dustRelayFee rate. The default value for dustRelayFee is 3,000 satoshi per kilobyte, which results in the same dust values as the dust definition used before Bitcoin Core 0.15.0. The previous dust definition tied the dust limit to the minRelayTxFee rate and the spending cost of an output exceeding 1/3 of its value.
At the default dustRelayFee of 3,000 satoshi per kilobyte, the size of a P2PKH input being 148 bytes, and the size of a P2PKH output being 34 bytes, P2PKH outputs of 546 satoshis or smaller are being considered dust by Bitcoin Core. For P2WPKH (native segwit) outputs, 293 satoshis or smaller are being considered dust as outputs are about 31 vbytes and inputs are about 67 vbytes.
The dustRelayFee can be set with the hidden command line option -dustrelayfee.
Additionally, Bitcoin Core 0.15.0 added a discard_rate. The discard_rate matches the longest target fee rate estimate (currently the 1,000 block fee rate estimate), but is bounded to be between at least dustRelayFee and at most 10,000 satoshi/kB. Any change output that would be dust at the discard_rate, i.e. would cost more to spend than its value at the discard_rate, will automatically be dropped to the fee instead of being created as a change output.
Other uses of &quot;dust&quot;
Note that the term dust is also colloquially used to refer to any UTXOs of vanishingly low value, or for UTXOs that are uneconomic to create or spend at a given feerate.