The Battle of Upvote Weights - Reviewing the Arguments with Extreme Use Cases

in #voting8 years ago (edited)

On 9/2, @steemitblog announced Steem Release Candidate 0.14.0, which contained an extremely controversial "bug fix":

Target Votes of 5 per Day instead of 40
We are changing the target number of votes per day from 40 to 5 so that more people keep their voting power below 100%. The purpose of this change is to rebalance power toward normal users and away from bots. You can still vote as often as you like, this change merely impacts the speed at which voting power is consumed.

Many users were highly upset, and a fierce debate broke out. The debate raged on for days, with many posts created stating the arguments for and against both sides. At this point the debate has pretty much subsided, with neither side truly winning, and both sides still convinced the other side is wrong.

It was eventually decided that the controversial bugfix would be removed. While some may say that this was a win for the 'no' side, @dantheman's comment clearly indicated that they did not pull the feature because they believed it was the wrong thing to do. It was pulled due to lack of understanding and to avoid controversy.

Your understanding of the change is also lacking.

There are good reasons for the change, but explaining it and getting community buy in would take longer than a week. We also didn't want to put witnesses in the uncomfortable position of having a controversial change bundled in with so many other obvious and non-contraversial changes.

Since it seems Dan + Steemit's ultimate goal is to be able to include this feature with community support, I wanted to try and frame the argument in such a way that would provide better understanding.

To start with, I want to paraphrase a good discussion between @sigmajin and @biophil:

There are two ways to measure the strength of a vote:

  • By how much it boosts the rshares of a post
  • By how much it boosts the payout of the post

This is really important to understanding how the voting change will work, and where the disagreement is coming from.

Proponents of the 'yes' side have clearly shown that anyone who wants to can vote exactly the same as they did before, by adjusting their voting weight. Regardless of whether the threshold is at 5 or 40, users can still vote on the exact same number of posts, and assign the exact same rshare weight to each vote - using the slider.

Proponents of the 'no' side have clearly shown that even with the exact same rshare rate assigned to each vote, the actual payout will not be the same in both cases. The same amount of rshares will be "worth less" if the threshold of vote depletion is reduced from 40 to 5.

"Why would the same sized rshare vote be worth less?", you ask.

It is because most users do not use 100% of their rshares each day. By changing the threshold from 40 to 5, it does not lower the weight of a person's vote (who uses the slider to allocate the same amount of rshares); but it does increase the amount of rshares that other people will use, if they are not already maxing out their voting power.

This is normally where people get confused.

In order to understand how this works, it is important to know that the amount of money in the reward pool is fixed. It is based on the total market-cap of Steem, and not how many votes are cast.

When users vote on content, they are only changing how the pool is divided. The same amount of money will get paid out no matter what. Users are not adding money to the reward pool by upvoting. They are not lowering the amount in the reward pool by abstaining. The only thing that voters are changing with their voting behavior, is who gets how much out of the fixed reward pool.

To illustrate this, think of the following situation -

Extreme Case #1 - Nobody votes

If for some crazy reason, everybody woke up one day and decided not to vote on anything, one single user could vote on a post, and that post would get 100% of the reward pool.

If the community would like to try this one day as an experiment, I would be happy to nominate myself as a guinea pig.. =)

When users do not use all of their voting power (either by abstaining from voting altogether, or by not voting enough to use up 100% of their rshares), then more of the allocation of rewards is left up to the other users who voting. As more users use more of their rshares to cast votes, the same number of rshares will have less of an effect.

On the opposite extreme, it would be theoretically possible for every user to use up all of their votes and vote with 100% of their rshaers.

Extreme Case #2 - Everybody uses 100% of their rshares

If this occurred, it would basically mean that everyone's voting weight would be exactly proportional to the amount of Steem Power they hold. One could argue that if everybody was doing a good job voting, that this would be the most balanced and ideal scenario.

To start looking more into the issue with the voting target change, it helps to look at two users with exactly the same SP, but different voting behavior. I will use a similar example to @sigmajin's Tale of the 5 Brothers post.

Bob is a master curator. Bob spends 10 hours a day curating, and working hard to find as many good posts as possible. On an average day, Bob finds 40 high quality posts that are worth his upvote. Mike is a casual user. Mike logs in for an hour or so a day, and usually votes on 5 posts that he finds interesting. Both Bob and Mike have equal SP.

Even though they both have the same amount of Steem Power, Bob is going to use more of his rshares in a day (under the current system) because he is using up all of his voting power. Most of Mike's rshares are not being used, because he is not casting enough votes to use up all of his shares.

Under the new system of 5 votes, both Bob and Mike would now use 100% of their rshares. Assuming Bob used the slider to cast the same votes with the same rshares, Bob's allocation of rshares would not change. Mike's did change though - by a lot! Instead of only using up a small amount of rshares on his 5 votes, Mike used up 100% - just like Bob.

"Is this fair?", you ask.

Well, that is the big question. Rather than try to answer it myself, I would like to give two more examples to illustrate extremes.

Extreme Case #3 - Voting threshold changed from 40 to 1,000

If the threshold were set this high, it would be literally impossible for a human voter to curate enough posts to use up all of their voting power. A bot would be able to though. A well organized team (like Curie) could as well.

I am not saying that bots or Curie are bad! I love the Curie project, and I think that bots have a useful purpose in the Steemit ecosystem - especially as the site and community begin to scale to a larger number of users!

I merely want to illustrate that under this extreme scenario, these are the two main types of users that will be able to effectively use all of their voting power. Everyone else would not.

Last extreme:

Extreme Case #4 - Voting threshold changed from 40 to 1

In this case, every user could use 100% of their voting power just by casting one vote. They would also be able to divide their rshares across multiple posts however they thought best, by using their voting slider.

This would be interesting experiment to try out. It does give the users the most freedom with their vote. Whether it would be good for the community, is a difficult thing to know. It would depend on how users changed their behavior.

Under this scenario, there would not be much incentive to search out lots of good posts. Lots of users would just do the calculation of the best place to spend their one vote each day, rather than spending the effort to find multiple good posts to split it up against.

Conclusion

The reason the voting change was introduced was because there was a very large number of people in the community who felt that too much power was in the hands of voting bots, and normal users did not have enough say. Basically, things had gone too far into the direction of extreme case #3.

Whether you agree or disagree with the change, it does meet its stated objective. It would give the more casual users the ability to use up more of their rshares, without having to increase their number of votes. The bots and groups that are able to curate a large number of posts could still do so, but their same votes would be diluted by more users using up 100% of their rshares. This has the affect of shifting away from scenario #3, and shifting more towards scenario #2.

We all want a system where users can participate and get rewarded, and quality content gets noticed and rises to the top. The casual users need to feel that their voice matters, while at the same time - users who put in more value should be rewarded more for their contribution.

The key to all of this is balance. What the right balance is, is what we need to decide.

Sort:  

This is an excellent post, and its one of the few on the subject that expresses both sides of the debate clearly and consicely.

If you look at the commentary on the five brothers post, i bring up essentially the same issue that you do

Well, you have to keep in mind that there must be some threashold where we stop rewarding increased participation, otherwise bots will dominate the curation game. Even now, super andy's are "penalized" in the way you describe. And even if we allowed superandys to vote 80 times, there would be super-duper andys casting 160 votes that we would be "penalizing".
I use the word "penalizing" in quotes becasue its not really a penalty. For example, to borrow from the classroom analogy I cited above, when the principal decides to give perfect attendance certificates to children who have missed one day of class, you wouldn't really say the children who actually had perfect attendence had been penalized, except inasmuch as their award was now devalued.

So the question is where do we draw the line? To be honest, I agree that 40 might be a bit high, but 5 is definitely low. At what point are we rewarding bots, or just freakazoids who spend all day on steemit at the expense of average users.

My one issue with this post is that, no, I do not agree that finding 40 posts a day to vote on is a 10hr/day job. Or that it should take an hour to find 5 posts that are worth your upvote, especially if you have a list of authors you follow who you like and tags you generally check. And I think most active steemit users are way closer to 40 than they are to 5. But i don't have numbers to back it up, its just a spitball guess.

actually i take that back, i have one other problem:

The reason the voting change was introduced was because there was a very large number of people in the community who felt that too much power was in the hands of voting bots, and normal users did not have enough say.

No reason was ever given for introducing this change. In fact, it was originally peddled very aggressively as not a change at all and, as you noted, was listed as a bug fix. Afaik even though a lot of users have a problem with whale curation lists (bot lists), thats not really an issue of bots thats an issue of there being a list.

I would challenge you to find me one serious post, prior to the announcement of 14.0, that posed bot inufluence as a major problem

Loading...

You bring up two good points. I'll need some time to collect my thoughts on them and reply :)

Why have any kind of limits or penalties on number of votes, at all? Doesn't this deter people from reading content once their accounts are beyond a certain threshold of voting power (potential curation reward payout)?

Isn't it better to incentivize people for spending more and more time on the platform, looking over more and more content?

How about this idea:

add a "time spent on post" element to the calculation of voting power and forget about penalizing accounts for using up too much up-votes to content.

Give a time weight element to voting power, such that posts that receive more viewing time get proportionally more weight on the time element of the reward calculation, compared to the other posts, but without removing the account SP factor. Also, provide every post viewing with the option to "take back voting time/ power", such that the account user has the option to only pay out some percentage of the voting power that their "time spent on the post" (TSOP) provided them, making it possible for people to view posts without voting them up. I think that it makes more intuitive sense that users vote by default by simply viewing a post and that they must take a step to remove their vote and/or diminish the weight of their vote(s).

Here's a simple formula that would achieve this:

[time account X spends on post Y (in seconds)] + [(time/ {some factor}) * (account X SP value)] and give X a limit at some arbitrary time (say 30 minutes, or 1,800 seconds)

The beauty of it is that the Steemit developers can control how much weight "time spent on post" (TSOP) has compared to account SP. Make the factor (the denominator of the [time/ {some factor}] fraction) a fractional value to give far more weight to account SP on voting power, make it some high value like 10, 100, 1,000, or 1 million in order to shift a lot more weight toward TSOP.

For instance, with X limited at 1,800s, we may choose 1,800 as our factor. This would make it a requirement for an account to spend at least 30 minutes on a post in order for it to receive the full SP weight of the account ([1,800s / 1,800] * account SP). Whatever the case, the power (or option) to shift more voting power to minnows clearly lies in this suggested calculation.

This makes it possible to shift some of the voting power to where it really should be to begin with - on time spent doing the work of curating/ reading posts. Time is valuable, after all, and people aren't too attracted by the prospect of spending hours curating only to make a few cents for their efforts, high SP or not.

I go into this idea in more breadth, RIGHT HERE.

Feel free to check it out, leave constructive criticism, suggest improvements to my ideas, provide alternative solutions, etc.

Isn't it better to incentivize people for spending more and more time on the platform, looking over more and more content?

It is, up to a point. But the guy who is upvoting 800 things a day isnt doing that.

In a sense, the voting target threshold is an attempt to do exactly as you say -- ensure that the user is spending a certain amount of time reading before upvoting.

To do it directly, the way you propose, would be difficult i think, because it would have to be done on the blockchain level, not on the UI. But even then there would be an effective limit on the number of votes.

So for example, lets say the target reading time in minutes is 30 minutes to cast a max strength vote.

That means I can cast precisely 48 100% votes per day (or 90 50% votes or 180 25% votes)

That is to say, it works exactly like voting strength does now.

That means I can cast precisely 48 100% votes per day (or 90 50% votes or 180 25% votes)

That is to say, it works exactly like voting strength does now.

In terms of votes per day it's about the same. The big difference is that I can't do all 48 of those votes in the span of two minutes and have the chance to get full rewards - you see? People don't have to read the content in order to up-vote. They are in no way punished for voting on content that they don't actually look at.

If you're willing to up-vote something then you should desire to look at it/ read it, no? But that's not necessarily the case, here on Steemit. People are up-voting content on auto-pilot, trying to get high curation rewards off of popular content/ authors.

With my "vote with your time" suggestion, such people are penalized for voting on content that they actually don't like. In order to give a "full-strength" vote for a post, you'd have to spend X time (let's stick with the 30 minutes for sake of consistency), which means that you'd now have to spend 30 minutes on a post that doesn't really interest you - you're penalized because time is valuable and no one likes wasting 30 minutes, especially for minimal payouts.

If it could somehow be coded into the block-chain such that you only get paid for reading one post at a time, even if you have like 40 posts up on different tabs within the i-browser, making it clear to the user on the UI which post he/she is voting towards (perhaps with an option built-in to change which post the "voting time" goes towards), I'm almost certain that voting patterns would change in a big and positive way.

I think we'd start to see more community members focusing their time (votes) towards content that they actually like, versus those that they perceive as popular...but I could be wrong. I'm just basing it on my time is valuable hypothesis.

The time-vote pay system could work maybe but would be hard to do.
People might also open up multiple browsers to let them wait 30 minutes.
Bots might wait 30 minutes to get the curation.

Yeah, there are definitely some ways to game it, but, I think it's the most resource demanding of all the other alternatives.

I mean, vote in a matter of seconds or be forced to wait out 5 to 10 minutes, the latter definitely requires more "patience".

What I was really after though is getting a more accurate representation of what people actually like. Most people don't want to waste their time sitting on pages that bore them, they're naturally drawn to the blogs that interest them.

@jamesbrown - It is an interesting proposal. It is always good for us to brainstorm and try to think of ways to improve the platform. As far as the limits on voting, the main reason is to prevent people from gaming the system. If people could vote on things as much as they want, and use their full voting power every time - then people could cause the reward pool to be unfairly distributed. The issue with time limits is that there is no way to enforce them while still running Steemit as a distributed blockchain.

The issue with time limits is that there is no way to enforce them while still running Steemit as a distributed blockchain.

Thanks for the reply, @timcliff.

Yeah, I was wondering if the time limit was a true possibility on the coding/ enforcement side of things. Thanks for your input. I really appreciate it :)

Hello @timcliff,

It gives us pleasure to inform you that you have been chosen as a featured author by the @robinhoodwhale initiative.

Learn more about the Robinhood Whale here!

We hope to see you continuing to post some great stuff on Steemit!

Good luck!
~RHW~

Thank you! The work that you all are doing for RHW is helping the community so much! It is an honor to be recognized :)

really glad this post got recognition....

This is an excellent post. I wonder if things would be improved if people just voted more. Don't be stingy with your votes, just upvote everything you like.

Loading...

I have thought of another solution to this voting (Steem distribution) problem. Add a time element to the voting power calculation.

Take the following simple formula as a basis:

time spent reading a post (in seconds) + ({time/ [some factor]} * account SP) = "total voting time reward"

  • that factor can be 1, 10, or 1/1000, or any other value that we choose, depending on how strongly we want "time spent reading a post" (TSRP) to weigh into the voting power, compared to SP of the voting account. If we make the factor very high, then SP weighs weaker compared to TSRP. If we make the factor very low (such as a fraction, lower than 1), then SP becomes weighted much stronger compared to TSRP. In other words, we have total control over how much power each factor - TSRP and SP - have on total voting power.

Put a cap of, let's say, 30 minutes worth of voting time payment per account to any one post. Now, if a whale spends 30 minutes reading a post, it has clearly kept his/ her attention for 30 minutes and is likely a good article; therefore, it deserves a high reward, and it will, due to the combination of high time spent on it and the high SP of the account.

If, however, those 30 minutes were essentially sucked away by a long article that was of poor content, then that whale, or any other account that experiences a similar scenario, has the option to "take back your voting time/ points" (by clicking on a very visible button that makes its purpose very clear to the end-user), making it as if they had spent 0 time reading the post, or some percentage of the actual time spent on that post (decided solely by the end-user).

I think this should help minnows, because they're likely to spend more time on a post (reading posts) than a millionaire whale; yet, it's still fair to the whales since their high SP will more than make up for their limited time spent reading posts, meaning that they'll still earn much higher rewards compared to minnows, although likely less than they do under the current system (in terms of percentage of Steem distributed into their accounts versus the smaller SP accounts). Furthermore, it would make it far more difficult for Steemit users, whales and minnows alike, to game the system by setting up automated bots, since they'll now be required to stay on a post for 30 minutes in order to get the highest possible payouts from it.

I go into this idea in more detail in THIS POST.

Please check it out and leave a comment if you have any improvement suggestions to my idea and/or an alternative solution to the problem.

Hi @jamesbrown - It looks like you a similar suggestion in two places. I responded to your other instance.

Yes, I was attempting to "gain some space" on this big wall of text in the comments section. Thanks for your response to that post.

In extreme case #4, we could expect a lot more behaviour of saving your "one" full powered vote for your own article or comment.

You are right that it is about balance.

Finally a post that makes sense on all of this. Thank you for taking the time to break this down in such a clear and concise manner. After reading through this I tend to agree that the change is a good idea. Before though, I had no opinion haha.

I noticed the ongoing debate about this change lately, though not too hung up about it. Your post explains is very clearly and you've gained a new follower. Thanks

Thank you! That clarifies it very well.

Now I understand the voting system more clearly thanks to your post. Steemit has great potential and I do hope that this change is for the better.