There is little cost to adding spam to the blockchain. Accounts are given a limited amount of bandwidth to use, but as long as they stay within those limits - they can create as many posts and comments as they want for free. What users do with those posts and comments is entirely up to them. Some use them to create content that adds value to the network. Others post spam that does nothing more than annoy users and add garbage to the permanent storage of the blockchain.
One thing that I think increases the amount of spam is the fact that there is a small chance of earning rewards - even if the posts/comments suck. If a user posts 10,000 "nice post" comments in a month, and 10% of them earn a few pennies worth of rewards - then that is still a profitable business model.
One change that I think would help address this is to increase the amount of rewards a post/comment must reach before it gets a non-zero payout. Currently if a post/comment earns 0.001 to 0.019 SBD worth of rewards - this is rounded down to 0.00. If a post/comment earns at least 0.02 SBD - then they receive their reward.
If we increased this threshold up to 0.10 SBD, or even 0.25 or 1.00 SBD - then posts/comments that did not receive sufficient votes to pass this threshold would receive zero payout. This would likely decrease the incentive for users to create spam.
Technical Details
For those of you who aren't interested in the technical details, feel free to skip this section. It gets a little nerdy :)
Here is the section of code that is currently checking the "dust threshold" (0.02 SBD). If posts/comments do not reach this threshold, the payout is rounded down to zero.
https://github.com/steemit/steem/blob/master/libraries/chain/util/reward.cpp
This is the definition of the function, where it does the computation:
https://github.com/steemit/steem/blob/master/libraries/chain/include/steem/chain/util/reward.hpp
Here is where the threshold is set to 0.020 SBD:
https://github.com/steemit/steem/blob/master/libraries/protocol/include/steem/protocol/config.hpp
Feedback Requested
What do people think of this change?
- Do you think it will help with spam?
- What do you think the 'right' threshold should be?
- What are the potential negative consequences?
- Do the "pros" outweigh the "cons"?
- What other suggestions are there?
Note: There are currently no plans to implement this. I am just proposing it to see what people's thoughts are. If it seems like there is a lot of support for it, then further discussion on whether it should be included in a future hardfork would be needed. (So far, it is just an idea.)