9

What is the technical definition of "dust" that is allowed to be sent with a mixin of 0?

Is there any way I can avoid or reduce dust creation?

1 Answer 1

7

Dust is not a very well defined term in general. However, in the context of your question ("allowed to be sent with a mixin of 0"), this is about which outputs have enough other outputs of the same amount on the blockchain. If there are enough such outputs, then the output is not considered dust for the purposes of mixin 0 rules. If there are not enough, then it is. "Enough" here is defined as two within the current monero rules: the minimum mixin is 2 (except when dealing with that dust), so you need two other outputs with the same amount as the output you are considering.

Dust used to be created all the time, but is now less so. The main offender was the mining pool software, which would send small amounts at every block, with "complex" amounts such as 0.000026483653. Unlikely to find a lot of outputs of that particular amount on the blockchain. The block reward was also dusty till the first hard fork. Now, dust creation is much more rare, for the following reasons:

  • the mining pool software sends quantized amounts when a threshold is reached
  • the block reward is quantized by default
  • amounts are split by denominations down to the smallest amount

Moreover, once RingCT is included in monero, this problem will disappear altogether since amounts will be encrypted, and all/many new inputs will technically have "weird" amouts, but they will be mixable with any other, regardless of amounts.

The only thing I'd suggest now is, if you are mining, use a pool with a higher threshold. While they won't send dust anymore, you want to avoid small outputs since sending them takes up more in fees.

4
  • 1
    How did mining reward dust get solved? Aug 27, 2016 at 21:54
  • The reward is now quantized (though a miner may choose to unquantize it, it's not part of the consensus), and splitting by denominations now happens down the last piconero. With RingCT, the solution will change to "it's obvious".
    – user36303
    Aug 27, 2016 at 22:18
  • @user36303 RingCT are now a thing... Can you please elaborate on "it's obvious"? Mar 27, 2017 at 22:32
  • RingCT hides transaction amounts. Therefore, linking transactions by following "interesting" amounts does not work with RingCT. Moreover, any ringct output may be spend in a ring with other ringct outputs, whatever their value (which the sender typically does not know). Therefore, ringct does not split outputs by denoninations anymore, so no dust is created.
    – user36303
    Mar 28, 2017 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.