๐Ÿ“‰ Steemonomics ๐Ÿ’ก Don't let Your Votes go to Dust! - TIL: rewards < $0.02 are not paid out!

in #steemonomics โ€ข 6 years ago (edited)

What are Dust-Rewards?

Did you know that small rewards are swept under the rug as "dust"?

Let's talk about that!

photo of dust on my retired TV console
original picture of dust on my retired television console

Most blockchains have some kind of dust-rule, usually intended to prevent spam from clogging up the network.

To get a grip of the idea, let's first look at the dust definition in the bitcoin protocol. It's easily simplified as: Any transaction which does not transact a minimum value (defined as 3 satoshis per byte) isn't worth confirming, and will be ignored (not written to the blockchain). Combined with transaction-fees, that's a pretty straight forward and effective solution to keep "uneconomic" transactions off the chain.

Things get a bit more confusing, though, once we enter the fee-less territory of a content driven blockchain. Steem's dust-rules seem to attack the horse from the opposite side (you'll be the judge of which side that is!), but before we go into my lingering critique, let's look at what dust is defined as in the steem protocol.

Well, there are actually two dust limits. The first one just checks if you have enough voting power to cast a vote and similar to how bitcoin does it, doesn't allow your vote to be accepted on the chain if it is too miniscule. You'll eventually see this happen when you have very little SP and your voting power is drained. This is pretty straight forward, but I want to talk about the second dust-definition on steem: "reward-dust".

This "reward-dust" definition doesn't get checked until content gets evaluated for payout. The payout function will check if the total rewards fall below the reward-dust-threshold, and if that is so, it will treat them as zero. So it does not actually prevent any transactions from being included on the chain, rather it just tries to disincentivize the posting of "uneconomic" content by preventing small rewards from being paid on it!

The precise reward-dust-threshold that's currently being used by the steem network is at 0.020 SBD in combined rewards on any piece of content as defined here, in the source code of the steem blockchain protocol:

screenshot of config.hpp on GitHub
Screenshot of Line 208, STEEM_MIN_PAYOUT_SBD in steem/protocol/config.hpp on GitHub.
P.S.: To learn what the lines 210 & 211 are all about, check my previous #steemonomics post on the value of SBD

The fact that most popular steem frontends are displaying the rewards as SBD rounded to two decimals points doesn't help communicating the fact either, so it shouldn't come as a surprise that many users here are unaware of this little peculiarity. I've been here for almost two years now and I didn't ever really consider the implications of this myself.

So what does that mean for our steem experience?!

ย 

Don't Waste Your Votes!

To generate the minimum payable reward value of 0.020 SBD, you currently need about 100SP casting a 100% up-vote at full voting power!

But due to the constant price fluctuations affecting the projected rewards on content, too, such a vote could easily still drop to 0.019 SBD or lower before payout and then end up going to dust. This isn't really a major issue on posts that will hopefully accumulate rewards from more than just a single vote, but it should be considered when upvoting comments.

Voting on comments is a crucial element in building relations, engaging with and appreciating your audience and peers on this platform, and in my opinion it's one of the best ways to support organic growth in the community. But if your voting power doesn't pack enough punch to actually generate rewards, it will be left with nothing but it's purely symbolic value. Don't underestimate that, though, it still goes to show your appreciation and that's what really matters in the end, but you also don't want to have all your voting power evaporate and settle as dust!

Know the Value of your Vote!

There are a bunch of tools that will give you more detailed information about your actual vote values, here are two easily accessible options for anyone to use:

  1. The Steemnow.com Upvote Calculator
    This handy tool by @penguinpablo let's you calculate vote-values based on the current network properties (price-feed and reward-balance) very accurately. Unfortunately it also falls into the trap of rounding to just two decimals, but you can easily just help yourself by adding a zero to the total Steem Power:
    steemnow upvote calculator
    Note: With an added zero this reads 1000SP = $0.20 to determine 100SP = 0.020 SBD

  2. The Block Explorer Steemd.com
    If you need detailed, raw information about anything that has happened on the chain, this tool by @roadscape is your place to go. You can actually use any steemit or busy URL and replace the domain with steemd.com to open a detailed view of a post or comment on steemd, and by clicking into the "advanced mode" it will show you ALL THREE decimal points in the pending_payout_value field:
    steemd.com advanced mode

So now that we know how we can work with the rules we have, let's finally start complaining. Are they effective, do they even make sense?

ย 

Food for Thought

Does sweeping dust under the rugs really keep the house clean?

My own misconception about the reward-dust rules on steem always came from the fact, that I "understood" reward calculations such as the 50/50 split are not really practical in the lowest decimal places. The idea of this being seen a spam-prevention rule, though, really never occurred to me until I read this post by @timcliff a few weeks ago. He proposes a thought to raise the dust limit significantly in order to make spam less profitable. The post sparked quite a lot of opposition and productive discussions, but most of all, it showed how few people actually were even fully aware of this rule.

I share the concerns about spam on this platform and the problems coming with dummy accounts operating with the sole purpose of spamming and/or voting on malicious spam, but I also have my doubts about raising the dust limit having much of an effect on that issue at all. It would however make it extremely hard for the average red-fish and minnow here to ever grow their account!

I believe steem's long term value comes from it's genuine user-base, and most users here have very small accounts when they join this great experiment. These users need encouragement and empowerment, and most importantly, they need to be able to empower each other without relying on whale-support or investments into voting-bots. A healthy community on this platform is being built with dust-votes, not with big investors. We shouldn't sacrifice the incentives for real and legitimate beginners here just to "make spam less profitable".

Possible Improvements

Well, I guess I've made clear I am not really a fan of the dust-rules here, but let me also give you some constructive thoughts:

  1. Why Can't we just show all three decimals in all these frontends?
    Or maybe even show them as the actual zero they'll be treated as while they fall below the dust-limit?! Subtly communicating this would create at least some awareness for this circumstance.

  2. Actually: Lower the dust limit to 0.01 SBD or even remove it completely!
    I strongly believe the dust limit is doing more harm than good by slowing the growth of legitimate steem beginners. I do see a need to keep some limit above the last decimal point just to keep the maths practical when issuing rewards in split SP/SBD, but other than that I do not see it's purpose!

  3. An my final thought: Maybe transaction fees aren't such a bad thing?
    I've detailed my concerns about no existing incentives for "burning" SBD in my previous #steemonomics post, and I quite like the idea of low SBD transaction fees for posting to this blockchain. This is a very unrealistic proposal and it kind of goes against what this protocol sees itself as, but I think it would be by far the best method to disincentivize spam and fixing some issues with the inner-economic balance (SBD debt-ratio) on this platform.

ย 


So what do YOU think?

Were you aware of the dust limit at all?
Do you think it is an appropriate tool to prevent spam?
How many of your votes have ended in dust?

And what about Transaction Fees?

I know, it's kind of a ridiculous idea, but I do think it makes sense!!

ย 

P.S.: @crokkon made me aware of the ambiguity of the term dust in this comment below - to avoid spreading confusion on the matter I have edited the post to speak of "dust-rewards" instead of "dust-votes" now.


Further reading on the topic:
Proposal to make spam less profitable by @timcliff
Votes to the Grave by @leeart
Whales Need Minnows More Than Minnows Need Whales! by @oleblueeye
Introducing Dustsweeper by @davemccoy & @danielsaori

01101101011001010110111001110100011010010110111101101110011000110111010101100100011001000110110001100101011100110111010101101110011001000110010101110010011101000110100001100101011100100111010101100111

fraenk avatar
fraenk loves you!

Sort: ย 

The dust vote limit to be removed in HF20 is a different thing. There are actually two thresholds:

  • if the pending payout of a post/comment is below 0.02$ at payout time it is not payed out.
  • if your vote would result in less than 50M rshares (approx. a 100% vote at 100% VP with 1.2 SP), this vote doesn't even make it to the blockchain. and you'll see an error message.

HF20 plans to change only the second thing: the value of each vote is reduced by around 1.2SP and any vote will make it to the blockchain as long as the account has enough bandwidth. Votes worth less than 1.2SP will have 0 value and therefore aren't eligible for curation rewards. The idea is that voters in any case can express their support for an author independent of their SP/VP/% (but possibly with 0 effect for the author and themselves), and to reduce the profitability for mass voting at very low values in order to get curation rewards.

Keep in mind that both STEEM/SP and SBD can only be payed in multiples of 0.001. A comment payout of 0.02$ with a 10% curation share makes 0.002$ for all curators, which is already below the minimum unit that could be payed in SP even if there is only a single voter... So even without the 0.02$ limit there will be cases where rewards simply cannot be payed out because they are below the minimum asset unit.

ย 6 years agoย (edited)

Hey @crokkon, thanks for clarifying this! I read the discussion on the issue on GitHub again and you are of course absolutely right, different dust-limit. I've reverted that edited part of the post back to the original version.

Of course from my point of view that's "bad news", but at least I am not living with false hopes anymore. I'll let @freebornangel know about this comment, too.

The trouble with the minimum units and not being able to pay out less than a thousands was the only practical reason I initially understood as the logic behind that reward-dust rule...

in hindsight... maybe I need to change the post subject from dust-votes to dust-rewards to avoid this ambiguity...

Thanks a lot for your insight and correction!!

Wow i had no idea about this dust rule! lol... i remember when i started and i was so excited when someone upvote my comment 1 cent because i mean hey... on facebook you don't get anything for a comment lol but yeah little did i know that it was dust and that i wouldn't receive anything lol maybe it's a good thing that not many people know this as it might be a little disheartening for steemit newbies. Thanks for the info i had no idea and now i feel bad for upvoting peoples comment 2 cents or under lol i hope you have a good day

Yeah... I have wasted so many well-intended votes as dust... ugh...

And I see your logic there. Maybe it is good that this rule is so obscure to retain more motivation, but I think transparency is always the best way to go, at least you don't have this downer moment when you do find out after it's been affecting you for a while already :P

lol yeah very true it would have been nice to know at the start :P

I had no idea that this was happening.....i haven't quiet processed what this means from an economic perspective, starting from the ground up here takes effort and even some of my favourite personal post made close to nothing at the start. It's also a shame that many of my upvotes on comments meant nothing in terms of transactions...

Yeah... it's painful to think of all the lost votes that evaporated as dust... I'll have to re-think my whole cuddle empire strategy, too!!

Dust, anybody?

lol... hilarious... that's like dust and spam covered with make-up and a pearl necklace. The perfect depiction of a self-voting "nice-post" spammer :P

Ha, well I am glad you liked it!

Awesome post. I saw the dust-vote discussion popping up here and there over the last few weeks, but I didn't have the time (or energy) to get into it. I guess I waited for your post to explain it properly :P

Possible improvements:
1 would be good and make a lot of things clear for new users. Communicating this would be nice to have seen (I'm here for almost a year, I guess my first few months were rather dusty...)
2 as well I guess - seeing the dust threshold was instated during quadratic rewards (which I just missed out on, HF 19 went live 6 days after me joining, one day before my first payout if I remember)
3 unsure about transaction fees... It sounds a bit off-putting, when everything's supposed to be free nowadays... I'll have to read up on your links, thanks for those!

And as for the dust under the rug, all I found there were some lonely cuddles, so if there's by any chance an SBD lurking under that dusty rug, let me sweep it right to the googlyprize-rewards for ya. :)
Dusted!

Aww... thanks Maarten, your opener made me feel warm and fuzzy inside :P

1 Yeah, all these rules here are so obscure... this comment here just made me realize that i stepped into some ambiguity with this topic as technically, I am speaking of dust-rewards and not dust-votes... I guess I need to edit the OP again.

2 Yes, I see the dust rule made a lot more sense with quadratic rewards. Both combined really made it a lot less attractive to use multiple small accounts with divided stake to spam and farm... which as an abuse-prevention system does make sense... but ultimately hinders the growth of small fish even more. And while it may prevent small accounts from abusing, it just simply leaves the playing field to the bigger guys... hmmm...

3 Transaction fees are certainly just a ridiculous idea on a platform like steem that takes particular pride in being fee-less... but I just can't help to think it would fix sooo much problems to put a price-tag on the bandwidth.

BINGO - you found the cuddles under the rug, but why would I want to speak of lost cuddles under the rug - my kittens have wasted away soooo many upvotes... all these cuddles were only "symbolic"!! I am currently scratching my head on how to make that work out better... and yes, looking under the rug you also found 1 SBD...

Cool, thanks for expanding! No easy answers I guess, but certainly an interesting discussion, one of many here on steemit :D

A bit of a solution: have enough SP for your kittens to make votes that won't be swept under the rug?

W00t, like I said, you can put that SBD in the googlyprize-kitty (pun intended!)

ย 6 years agoย (edited)

Awesome, will do! and yeah... just one more of the many intriguing facets of steemit!

P.S.: I tuned the kittens up just a while ago to a cuddle-target of roughly 0.022 (you might have noticed actually). But declining prices have left most of those rewards at 0.018-19 at payout anyways... so that was a bummer... to get a safety margin I'll probably retune them to 0.025 again... but that also means they will need even more SP and the cuddling frequency will have to stay low... I do have some budget restrictions :P I also thought about disabling the comment-voting but that would take all the fun out of the cuddles...?!

Yep, hehe. I noticed @cuddlekitten's last vote was actually $0.019 SBD (via steemd, 90.27% vote strength), and steemit showed it as $0.02...

Maybe that can help somehow!

Yeah, I know, as I said, the declining prices have pushed it down again and I'll have to retune it again, it's a bit fiddly to get the price calculation "live" and then there's the fluctuation of the value that's unforeseeable... so I need to give them some headroom and cuddle above 0.025 to give more room for price-swings... as they are around 90% voting power, you see that I'll give them some more SP before that's even possible...

It's a big TO-DO item on my ever expand list of things i need to get done asap... sigh

Oops, didn't catch your PS there :P
Yeah, I understand with the fluctuating price - and already voting at 90%! Vut keep 'm voting & cuddling though, always nice to see them! ;)

Yeah, there's still that "symbolic" value (plus the ignorance of most towards the dust-rule) no worries, they'll keep cuddling...

I did not know what the limit is. I thought the rewards below 0.01 did not pay. I therefore fixed this amount and gave some of my comments a voice to overcome this limit

Yes, that's exactly what I thought, too! I am not sure where this idea came from... but it's kind of a disappointment to learn that even some rewards displayed as $0.02 didn't get paid out because they were actually just rounded up from something like 0.018 SBD :/

Rounding makes confusion. Helps me a little bit to track @ginabot, because it's up to three decimal places

Thank you for this information. I thought it was 0.030 SBD dust cap.

ย 6 years agoย (edited)

I've seen that number mentioned a few times in other posts, too ... I guess a displayed $0.03 (meaning at least 0.025 and definitely not just 0.019 or so) is a reasonable target to make sure the rewards go through despite any price fluctuation, maybe that's how that came about...

I'm still dumbfound why I actually thought it would be at 0.010?!

Never heard that low mentioned.

I did not know that. I thought it was suggested but never implemented. Interesting.
I don't think I would mind paying a fee for every post I make (if it's reasonable) but I wonder what the numbers would actually be and how it would impact the blockchain.

It is definitely something to think about.

I think the lowest possible fee of say as little as 0.001SBD per kB of data in posts or comments would already make a huge impact against the average spam without coming at a serious cost for genuine exchange. Of course this would only be useful under the condition of getting rid of this dust thing as far as possible.

I wouldn't want to say transaction fees are neccessary per-se, but they are certainly a better tool to combat spam than preventing "dust" payouts and they might come with a few other perks, too. I bet a lot of comments would be a bit more thoughtful and promotion spam would slow down a lot, maybe it would even foster the culture of mutual support even more if we knew it came at a small cost to post those thoughts...

But well, maybe this debate is just too far detached from how steem claims it's fee-less protocol as it's major USP.

I have a feeling that you've been thinking about solutions for this a lot. Or you're just good at improvisation :) Yes, that would hurt spammers, but only to some degree or extent. Not much would be changed I fear.
Normal and valid users would think twice about posting crap which would be a good thing.
I guess there wouldn't be: I upvote, you upvote comments as much, or: great post! upvote me at link etc.

ย 6 years agoย (edited)

Well, the problems surrounding the governance and token distribution in a DPoS chain is very intriguing to me, so I've thought about these concepts and their economic aspects a lot ever since I started diving deeper into steemit. Quite frankly, I love this platform for the social experiment it's conducting more than for the monetary rewards it provides.

I still see a lot of votes with no value, votes on comments and votes on posts. For votes on posts, the dust votes can be avoided as some will vote it too. However, the comment voting is wasted since not much of steemians votes on those.

Thankfully we have @dustsweeper.

Yeah... I am testing this @dustsweeper thing out myself now... sounds like the community is already finding bodged up fixes for steem's obscure rules again... the great thing after all, everything can be turned into a business I guess :P

I had no idea until a couple of days ago. I must have wasted hundreds of votes, on comments especially. I think .01 would be a better threshold. People need to flag more to stop the spamming. I rarely get SPAM comments anymore

Exactly... the dust limit for rewards really does more harm than good! The fight against spam should be fought with methods that do not hinder the growth of legitimate accounts. And yeah, flagging is the perfect means to get a point across and absolutely legitimate!

thanks for chipping in!

"Cutting off the nose to spite the face" is what sums this whole dust issue up.

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70887.21
ETH 3581.98
USDT 1.00
SBD 4.75