I guess I am confused... What is the problem with someone sending you a million little bits of btc? Besides flooding your transaction history, I guess I fail to see the negative side.
You fail to understand how bitcoin works, then.
Every time you receive bitcoin, it's like receiving a "bill" in that amount.
So imagine I receive 1 BTC...
A. but in one situation I just receive
1 BTC over the span of 1 transaction.
B. In the other situation I receive the
1 BTC over the span of 100 transactions.
Now let's send the 1 BTC to a friend in each case.
A. There is 1 input, so the transaction is likely around 250 bytes, and does not require a fee if you wait a day after receiving it... or 0.00001 BTC if you want to send right away.
B. There are 100 inputs, so the transaction is likely around 14978 bytes to 18178 bytes ish... which disqualifies the amount for a free transaction, AND the fee will be about x15 to x19 times the previous fee. (0.00015 to 0.00019)
But more importantly... the transaction in B is so large that some miners will pass over it in order to save the block from getting too large.
If you have a ton of 1 satoshi inputs in your wallet, and the wallet is dumb... it will try to use those every time you try to send a few dollars out during normal usage, and the fees will become very large.