Don't cast worthless votes - zero-value votes in HF20

10개월 전

Repository

https://github.com/steemit/steem

Introduction

The value of a Steem vote is defined from the amount of SteemPower the voting account holds, its current voting power (voting mana) and the voting percentage. From these parameters, an internal number for the value of a vote is calculated, the rshares. The $/STU/SBD/... value of this vote as shown for example on steemit.com or busy.org is then defined from this rshares value in relation to all vote rshares from the last 7 days, the size of the reward pool and the Steem price.
Up to HF19, a minimum rshare value was required in order to be able to cast a vote at all: 50M rshares. This is roughly equivalent with a 100% vote at 1.2 SP or a 10% vote at 12 SP. If the vote were worth less, the chain did not accept the vote operation. This value is called the dust vote threshold. (Not to be confused with the dust payout threshold of 0.02 STU).

With HF20, this rule was changed in two aspects: Firstly, the minimum rshare value limit was removed so arbitrarily low-valued votes are accepted now. Secondly, each vote is reduced by the value of the previous threshold, 50M rshares or 1.2 SP. A 100% upvote at 15 SP in HF19 gets the same rshares as a (15 - 1.2) SP = 13.8 SP vote now. If the vote value would be negative after the subtraction, the value is set to 0.
This means, with HF20 it is now possible to cast votes with zero value.

I have analyzed the possible effect of this downshift in a previous contribution in August 2018:

This work looks if and how the voting behavior has changed from HF19 to HF20 due to the downshift of the vote value calculation and potentially zero-value votes.

Outline

  • Scope and tools
  • Number and rate of zero-value votes after the hardfork
  • Distribution of the vote percentages and rshares values before and after the hardfork
  • Zero-value vote distribution
  • Conclusions

Scope and tools

This analysis is based on the upvotes votes cast on all Steem posts and comments created between Sept. 1st and Oct. 23rd 2018. Individual aspects of this analysis use subsets of this data. Downvotes, votes after payout or unvotes were excluded. The data was retrieved from @arcange's SteemSQL database. All query and processing scripts are in python and the plots are generated with matplotlib. The full sources to reproduce these results are on my GitHub.

Number and rate of zero-value votes after the hardfork

votes_per_day.png

The upper graph shows the absolute number of votes cast per day from beginning of September before HF20 until mid/end of October 2017. You can clearly see the hardfork with very little chain activity starting on Sept. 25th and the other chain issue on Sept. 17th. As seen before from other contributions, the total number of votes after the HF is slightly lower than before. The orange and green lines are the number of votes with less than 50M rshares ("dust", orange) and a value of zero (green). This was not possible in HF19, so these number are available only after the HF. In relation to the total number of votes, their numbers are small. The lower half of the figure shows them again in a relative scale. Over the HF with very little chain activity, they made up around 5/10% of all votes, but the numbers quickly reduced once "normal" interaction was restored. Since then, a bit less than 1% of all Steem votes have zero value and around 1.5% have a value of less than 50M rshares.

Distribution of the vote percentages and rshares values before and after the hardfork

In order to compare the situation before and after HF20, I'm picking two time ranges of one week for a closer look:

  • HF19: Sept. 8.-15., 2018
  • HF20: Oct. 17.-24., 2018

vote_pct_hist.png

The left half of the figure shows the data from the HF19 period, the right half from HF20. The pie charts show the distribution of the vote percentages. In the HF19 week there were 0.6% of all votes that were cast with a vote percentage of less or equal to 0.1%. This value reduced to 0.3% for the HF20 week. The HF19 week had 49.4% of all votes as 100% upvotes, while this number slightly increased to 51.6% for the HF20 week. In general the vote percentage distribution suggests a slight increase in the vote percentages. This effect was expected, since casting very small votes sacrifices a considerable share of rshares for most voters.
The lower half of the figure shows the distribution of vote rshares in the HF19 week (left) and the HF20 week (right). In HF19 there were no votes below 50M rshares, since this was technically not possible. HF20 shows a few entries in this region. The shape of the distribution in the low-rshare region is slighltly different between the two weeks. Another interesting aspect is the median vote rshare value. This was at 570M rshares in the HF19 week and at 560M in the HF20 week. If the exact same votes as in HF19 were cast in HF20, we would have expected to see a downshift of exactly 50M rshares due to the changed vote value calculation. This is not the case, so at least a part of the voters seem to have adjusted their voting behavior.

Zero-value vote distribution

So who is casting worthless votes?

zero_value_hist.png

The histogram and the pie-chart show the distribution of vote percentages from the HF20 week that resulted in zero-value votes. What's intersting to see is that half of the worthless votes were cast with a vote percentage of 10% or less! A good share of these votes probably wouldn't have to be worthless! The share of 100% upvotes that resulted in worthless votes is still 38.9%, though. This also applies to newly created accounts without a delegation, which initially have no way to cast valued votes even with full voting mana.

Conclusions

  • HF20 reduces the value of each vote by around 1.2 SP.
  • Previously, it was impossible to cast super-low-value votes. The votes simply weren't accepted and therefore didn't consume voting power either. Now this is possible and can result in zero-value votes. Neither the voted author benefit from those, nor can they earn any curation rewards. Still, they consume voting mana.
  • Overall, the rate of zero-value votes is slightly below 1% of all Steem votes.
  • A closer look into those showed that a good fraction of them didn't have to be worthless if the voting percentage were chosen accordingly.
  • I had a quick look into the zero-value voters and votees and a good fraction of them seem to come from voting trails. Surprisingly, this includes also a few alt accounts from well-known steemians.

If you are following a voting trail, check your trail vote percentages! A 1% vote with 100 SP is worthless but consumes voting mana. Also a 10% vote at 15 SP can be worthless if the voting mana isn't full.

Proof of Authorship

All scripts to generate the above graphs and results are on my GitHub:
https://github.com/crokkon/steem-analyses/tree/master/1810_hf20_dust

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

Hi @crokkon

Another excellent analysis, expanding on the work you have already done in looking at 'dust'. Who would have thought it was such an interesting topic to analyse :D

In general the vote percentage distribution suggests a slight increase in the vote percentages. This effect was expected, since casting very small votes sacrifices a considerable share of rshares for most voters.

Yes, makes sense.

What's interesting to see is that half of the worthless votes were cast with a vote percentage of 10% or less! A good share of these votes probably wouldn't have to be worthless!

I also suspected this to be the case. Partly misunderstanding/awareness, and following:

I had a quick look into the zero-value voters and votees and a good fraction of them seem to come from voting trails. Surprisingly, this includes also a few alt accounts from well-known steemians.

Probably a little laziness too :)

As always, fine work. I appreciate the conclusions and the sound advice within.

Staff picked this week!

Cheers

Asher - CM - Analysis

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

·

Thank you, Asher, for all the support on multiples layers - again! Highly appreciated!

Probably a little laziness too

Possibly, but maybe also just not worth the effort caring about the ~100 SP alt as long as the ~100k SP main account is doing fine. For the trails, I'd expect that a lot of users simply aren't aware - neither before, when their account could not follow a low-% vote, nor now when the vote goes through but is worthless...

·

Thank you for your review, @abh12345! Keep up the good work!

1% of all votes is pretty good. I guess modifying curation trail percentages are a low priority!

Your charts are much harder to read now I've switched my phone to monochrome. One of the downsides I guess!

Posted using Partiko Android

·

yes, 1% isn't too bad. Apologies, I clearly didn't consider monochrome displays when making the graphs ;)

Thank You for the info!
Is the Dust value still 0.02STU or it has been changed?

·

The dust payout limit is still at 0.02 STU

·
·

I didn't remember about that part of the dust change. I'll have to make sure that I don't have dust votes going out.

Did the dust payout change after HF20?

·

No, the dust payout threshold did not change with HF20.

·
·

thank you very much for such a very detailed explanation!
it has really opened my eyes on the Voting process.
even though it is too technical to understand everything. :)

could you please explain : how actually is reward calculated in relation to the the current Voting Power we may have at that moment - is there some formula or a % or proportion? you gave some examples which show that it is also related on SP which surely influences our VP.
so, how we may understand at what % of our VP (and SP) to vote or not, may be better to wait till it recharges back.
may be there are some websites or services already made which can calculate that automatically for us?

·

hey, if you'd like to play with different SP/VP/% values I'd suggest to use https://steemworld.org/@freedomwing. You can see the current values there, but also set SP/VP/% to different value to see the $-value change. If you're interested on the calculations in behind, check out this tutorial.

Well... Well darn it, I didn't know these don't even benefit the author at all. Voting mana seems to recover much slower than RCs.
A pre-emptive "Sorry Guys!" to anyone I up voted with 0.00 at 100% :(

Now I know better, thank you. Resteemed.

·

Hey @eccles, from what I could see on a first glance, you don't cast zero-value votes. Yes, they show as $0.00 on steemit, but under the hood they still have a value. Only you should try to keep an eye on your voting mana - which recovers with 20% per day just like the RC mana, btw ;)

·
·

Ah that's what I get for running around in a panic like a headless chicken. I'll try to wait patiently for my Voting Mana to recover. I've been powering up in the last few days, so my RCs grew proportionally, but I kind of missed the fact that powering up does not refill VM.

Thanks for clearing up my confusion so quickly, I'll try to wait for my VM to refill and vote again.

iou

Thank you, this needed explaining, and I think you did a nice job of it.

so at least a part of the voters seem to have adjusted their voting behavior.

As for adjusting the behavior, in regards to more 100% votes, I think that has more to do with the price of steem and a persons knowledge of their vote being worth less with the price drop. I know I have had to adjust my vote levels. I only vote on a few people at 100%, most content votes with payout already established get a 50% vote, and comments are up to a 70% vote now due to steem price just to keep them above dust vote level, and to reward the commenters on my post or others.

Once again thanks for the post and explanation.

·

Hey @bashadow, thanks for your comment! I'm under the impression that your remarks are more towards the payout dust threshold of 0.02 STU? Is there a misunderstanding? I was focusing on the changes to the vote dust threshold. edit: now I mixed up the numbers, sorry.
Correction: assuming 100% voting mana, a vote with your current SP should only have zero value if the voting percentage is below around 0.2%.

·
·

Partially, but also in the other dust cast vote, the ones that add no value. If a vote (zero value), is registered does the caster still get a portion of a curation reward? Even if their vote was one of the zero value dust votes? (did not reach the minimum 50M rshares).

·
·
·

A zero-value value vote cannot earn curation rewards. The weight of the vote, that defines the share of the curation rewards, is calculated from the vote's rshares - which are 0 in this case.

·
·
·
·

Thank you, finally a real answer to a question, really appreciate that. Now I can stop futzing about it all.

Thanks for putting this out. I actually understood much of it. Thanks again for taking time to put the explanation down in English.

Liked Voted and Resteemed

·

glad you like it & thanks for the RS!

·
·

You deserve all the love you are getting!
Good people make Steemit special- the perfect system is still far away!
STEEM ON!

Hi @crokkon

Just accidently bumped into your profile just to realize that we seem to share a number of interests :)

In particular that we both share a similar passion towards cryptocurrencies and blockchain technology :)

I will follow you closely :) big fat upvote on the way! :)
Yours, Piotr

·

Come on, @crypto.piotr, you can do better than spamming the chain with the same generated comments...

·
·

hi @crokkon

Of course, you're right. Whenever someone reply to me then Im completly giving this person my attention. But at the same time, how many "welcoming" comments can we come up with?

I'm spending like 10-15 minutes a day looking for people who blog about crypto and trying to build some engagement. I wish I could come up with 20 different ways of starting conversation.

I indeed am using few similar templates whenever I find some valuable account (like yours) and it may look a little bit "spammy" but I see it only as knocking on the door.

I hope my previous comment didn't upset you.

Yours
Ppiotr

·
·
·

hey @crypto.piotr, I actually didn't expect to get a reply, so it's great to see a "human" behind! :) You must admit, scrolling through your list of comments shows a lot of repeating patterns and the mentioning of AI in your profile makes the first impression complete. Your comment was rather generic and I didn't feel that this is a serious attempt of building engagement. Your vote was significantly higher than other bot votes in that field, though, so thanks for that. I know it's hard to build engagement, but I don't think generic and broad-scale can beat on-topic comments even though they take much more time to come up with and you'll reach less people.

·
·
·
·

Good morning

Im glad to be able to surprise you dear @crokkon. Im sure scrulling through my comments may prove that there are some repeating patterns (like welcoming comments or those when I thank people for their feedbacks).

But at the same time the majority of my comments are still unique. Im trying to find a good balance between automatization and being "human".

Your comment was rather generic and I didn't feel that this is a serious attempt of building engagement

And yet please have a look at my latests posts and see how many comments do they received. I had a chance to compare my results with many other posts from trending page and Im quite happy so far.

The thing is, that even if some of my comment is a bit spammy - it's always very well targeted. Im only "knocking on the door" with general welcoming comments to those who are publishing something about crypto. So it means that Im actually visiting every single post I comment and Im at least spending 1-2 minutes "scanning" to see if content and account is related to crypto.

ps.
I've noticed that you're coder/programmer? What languages are you using if you dont mind me asking?

Yours
Piotr

Hi @crokkon!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

·

nice plz follow me i am new on steemit

Hey, @crokkon!

Thanks for contributing on Utopian.
Congratulations! Your contribution was Staff Picked to receive a maximum vote for the analysis category on Utopian for being of significant value to the project and the open source community.

We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!