[proposal] A potential alternative to Voting Power, Voting Tokens?

in #steemit8 years ago (edited)

I can't help but think we're now hitting the point where the system behind voting, voting power, is far too complicated. People don't seem to fully comprehend it (myself included), and as changes are made, we need to learn all over again.

We need something that can be packaged up in an easy to consume format with a simple UI. A system that overall feels like it benefits users over bots, and allows for semi-regular visitors to have an impact like daily visitors.

Here's my take on a proposed, "seemingly-radically" different system...

Voting Tokens

Each account would have a balance of "voting tokens". These tokens would be "spent" as the account holder chooses to vote on a post. These tokens are not transferable between accounts and have no value (until used, as a vote).

  • Each token would represent 10% of a vote from the specific account.
  • You can use a maximum of 10 tokens per vote on a comment or post.
  • Each account regenerates 50 tokens per day automatically.
  • Each account can have a maximum of 350 tokens at any given time (7 days * tokens per day).
  • Added based on feedback: Each account could choose the precision of the voting tokens they use. If users wanted 500 tokens per day, based on 1% weight per token, the interface could be updated to reflect this. Useful for whales who want to be able to vote with 1%.

Instead of having a percentage value of how powerful your votes are, and a decreasing percentage with each vote in succession, this system assumes that an account would always vote with a set percentage of it's weight, derived it's steem power.

Why this direction?

It's a lot easier for a user to understand "I have 20 tokens left" than "ok, I have 88.47% voting power left, that means I have 2 100% votes left if I want to get back to 100% in around 24 hours".

This is a cryptocurrency, people understand balances and tokens. In fact, most people understand these things based on any credit/token system they've ever used, or any video game they've ever played. The percentage style system itself, while accomplishing many great things with it's sophisticated nature, is honestly confusing as hell. I'm still confused by parts of it, and I'm a level beyond a power user.

Simplifying this system into something easy to use, consumable, understandable and fun is going to help engage the hardcore as well as the casual users. These benefits are what is going to help steemit grow.

Comparing tokens to the new proposed 5 votes/day system

Does this whole thing sound somewhat reasonable? If so, were you one of the people incredibly against the proposed 5 votes/day limit in 0.14.0?

You might be surprised, but this system is pretty similar to that. There's one fundamental change that allows additional flexibility, which I think would make the entire concept of limiting a lot more acceptable. Let's start with the similarities between the two systems:

  • If 50 Voting Tokens are awarded each day, each with 10% weight, this equals out to be 5x 100% votes per day. The same as proposed for 0.14.0.
  • If you can use a maximum of 10 Voting Tokens per post, that's equal to 1x 100% weight vote, which is the same type of vote you can cast right now.
  • The tokens would allow each user to vote on anywhere from 5 posts to 50 posts a day. Comparing tokens to vote weight, it would be between 5x 100% votes and 50x 10% votes per day.
  • Regeneration intervals could be 50 tokens every 24 hours, 10 tokens every 4.8 hours, or 1 token every 28.8 minutes. This mirrors almost identically the proposed regeneration rate in 0.14.0.

So what was the one fundamental difference? The decrease in power after every vote. With the current (live) and proposed 0.14.0 system, after each vote your overall weight drops to a percentage. An example of this is:

  • An account is at 100% voting power with 100 SP.
  • The account votes on a post, with 100% weight, applying the full weight of 100 SP.
  • The account now has ~96% voting power.
  • The account votes on a post, with 100% weight, and now because of voting power, it only applies ~96 SP worth of voting power.
  • The account now has ~92% voting power.
  • (repeat)

If you don't have a break between your votes, there's no regeneration, and your vote has less of an impact. I'm not a fan of this, even as a regular user. I visit sporadically throughout the day, and my votes are typically concentrated batches, which puts me at a disadvantage from someone (or something) that votes at the perfect times. I'd like to have the opportunity to have the same impact, as I imagine most people would.

I think it's a bit crazy that just reshaping how this is presented, and altering one mechanic of the system, can have such a drastic impact on the perception towards it.

Notes on the interface and how users would see voting tokens

The interface for this system I imagine would be incredibly simple. You're going to have a number and an icon that looks like either a vote or a coin of some kind. Maybe both.

  • Tokens could be represented as a simple number on the top navigation bar to indicate how many tokens you have stored and ready to use. This would be much easier to understand than an arbitrary percentage.
  • After each vote, the UI can dynamically update to show your remaining tokens.
  • The voting interface itself wouldn't have to change much, we could use the existing vote slider, except now it's a range from 1-10. We could also show a balance of tokens on the slider itself.
  • This interface highlights a true hard cap on the number of votes. Technically this is already happening, since you can't vote if you're at 0% voting power. Most of us don't see it currently, but we likely would more often after 0.14.0.
  • You would be unable to vote after expending all of your voting tokens, until you regenerated a new one.
  • [Strike this, this isn't true in the current system and would make the system gameable, thanks @arhag] If you uncast a vote, you would be returned your voting tokens, just like currently you are returned your voting power.

Controlling the token distribution rates through witnessing

The configuration of this system should be delegated to witnesses. Moving these settings to witness votes would also prevent us from needing hard forks in the future. Witnesses could vote on these values, much like the account creation fee, to adapt as the communities demands change.

  • Witnesses can vote for voting_token_per_day, starting at 50 (per day).
  • Witnesses can vote for voting_token_limit, starting to 350 (7 days worth).

The values would be set based on the median value of the top 19 witnesses, like all other votes.

Potential economic "sinks"

I'm throwing this out there as a "maybe", because this should be an entire concept explored itself. BUT, we might just be able to burn SBD/Steem to receive a proportional award of additional voting tokens. If you've got money to burn and want to vote on more things you could. Just burn a somewhat proportional amount of the chosen currency to get an equivalent amount of tokens.

You get free tokens every day, but if you want more, pay. The "freemium" model.

I could add another 3-5 paragraphs explaining the benefits of burned coins, but we'll save that for another day.

Improvements over the newly proposed system in 0.14.0

Levels the playing field between humans and bots

Problem: With the proposed new voting system in 0.14.0, you can cast 5x votes with 100% of your weight every 24 hours. But there's only one VERY specific way you can actually do it. Here's a example:

  • An account is at 100% Voting Power, and casts 1 vote @ 100% weight on a post.
  • The account's Voting Power decreases to 96% because of the 100% weighted vote.
  • 4.8 hours pass, the account's Voting Power is now back at 100%.
  • Repeat

This pattern gives the account the most impact for their 5 votes, all truly being at 100% within a 24 hour window.

The problem with the above scenario is that you have to wait exactly 4.8 hours between votes to optimally achieve this, and most people aren't going to vote exactly every 4.8 hours. You know who can though? Bots. Bots have a clear advantage if the strategy is to cast all 5 votes each day at 100%. While weight and voting power is only a part of the overall strategy, it's something humans cannot compete against.

You can also scale this down to any variable vote weight, which just reduces the time needed between votes (you could vote with 10% weight every 28.8 minutes and stay at 100%). Again, another win for bots.

How Voting Tokens Helps: The voting token system solves this problem by letting a user cast all 5 of those votes at any point in the 24 hour period, all at 100%.

Flexibility for daily or weekly curators

Problem: In the current and proposed system, if you aren't on steemit for a few days, you're wasting the potential of your voting power and curation rewards.

The majority of the population isn't going to visit steemit every day (whether we want them to or not), which gives the daily users and bots an advantage over the general public. Some may argue this is not a problem, and daily curators should be rewarded more, but we need a system that encourages casual participation as well.

An example in the current system for a casual account would be:

  • An account is at 100% Voting Power on Saturday and ends up casting 15 votes @ 100% weight. Under the newly proposed rules, that accounts Voting Power would decrease to ~54.20%.
  • As each vote is cast, the accounts voting power by ~4%.
  • The account recharges to 100% Voting Power again by Monday night (20% per day).
  • The account doesn't visit again until next Saturday, and has now wasted any potential regeneration cycles that could have been occurring Tuesday through Saturday.

How Voting Tokens Helps: With the voting token system, this user could visit on a Saturday, and issue up to 35 votes at 100%, expending the entire balance of tokens. Then when visiting a week later, would be able to do the same again, allowing them the full benefit of their SP/Vest balance.

Final Thoughts

I'm putting this out here as a thought experiment. I'd love to hear what you think. What I've laid out likely has problems that I couldn't possibly foresee, so I also really want to know why this wouldn't work. I've been thinking about it on and off all day, and think there's a lot of merit here.

I honestly don't know if the solution we're looking for is in adjusting the numbers of the current system. My current belief is that in order to get as close to perfection as possible, we may need to fundamentally change the system to be a more user friendly and forgiving system. I feel this is closer.

Sort:  

Personally, i don't understand the need for this.

No one really seems to have a problem with the way the current voting system works except whales who want everyone else to vote less.

There seems to be a new scheme every single week coming form TPTB about how we can prevent everyone else from voting except ned, dan and the people who agree with them.

IMO, the voting system should absolutely be changed to decrease centralization of influence. But a whole bunch of schemes with tokens and sliders and mathematical hocus pocus, all leading up to certain people either don't get to vote at all or don't get to vote as much just seems dishonest at this point.

IMO, there are only two rational positions on voting that arent terrible:

1.(The never happen method)CHange the system to something like a standard deviation based system for distributing rshares based on SP. Ie, a change that will decrease centralization.

or

  1. Leave voting exactly the way it is.

This constant revamping the system to prevent "abuse" (which is guess is people voting in ways that the whales don't like) only makes it look like youre trying to take away the very small amount of influence non whales have.

The vast majority of this post has nothing to do with how the voting system works on the backend (except one change, removing variable vote power). This isn't magical witchcraft mathematics to balance who gets what and who is voting how much, it's a simpler way to digest how the voting system works that more people are going to understand.

You may understand the system just fine, and how the percentages and powers play off each other, but 99% of the world is never going to understand "standard deviation based system for distributing rshares based on SP".

They're going to understand "Ok, I get 50 of these things a day I can use".

UX man, UX! :)

Just as a side note, i know youre the DB god and everything... do we know what the mean and standard deviaiton for SP is? Its info that i think would be really useful in terms of evaluating centralization and distribution.

UX... is .... user experience.. i had to look that up. OK, fair enough. That said, i think the current system (especially with apps like steemstats) is pretty organic and easy to get a feel for, even if most users don't have a percise mathematical grasp of whats going on. My impression reading the white paper about zipfs theorom is that this was the intention... ie, that power was supposed to decrease on a scale that really wouldn't effect anyone except chronic overvoters and vote bots. I guess i see your point about people not getting the internals of how this works... but is there really any indication that they want to watch the sausage being made?

I think a big part of UX is continuity.

I don't know whether i caught it from blocktrades, but im really starting to look askance at any fiddling with how we vote.

I could probably toss together a chart, I think I have the historical data for it. Maybe only a few days/weeks worth, but I can make sure it is recording. I'd probably just need some ideas on what kind of information to present and what would be useful, just to make sure I'm actually recording it.

but is there really any indication that they want to watch the sausage being made?

I don't think they do, and I think the percentages force them to learn if they want to even understand it even a little bit. We see problems with the public not understanding that you can divide BTC into decimals... and the answer has always been "use bits or satoshis, it's easier to understand". This whole idea is akin to that, and fights the same source of confusion.

I'd love to hear what @blocktrades has to think too. I am also in agreement that things need to stop changing and the experience for new users should be focused on. Growth hacks should be a priority. I think this might qualify as one of those trades though, as your average joe is going to understand it better than a percentage and a voting power.

CHange the system to something like a standard deviation based system for distributing rshares based on SP. Ie, a change that will decrease centralization.

I like this. I was actually thinking about a log scale to decrease whale dependency while still preventing bots and sockpuppets.

Still, it's addressing a problem in the other end of the spectrum.

I like this, if only for the much easier model of understanding. But I'd like to note two points:

The account doesn't visit again until next Saturday, and has now wasted any potential regeneration cycles that could have been occurring Tuesday through Saturday.

Then when visiting a week later, would be able to do the same again, allowing them the full benefit of their SP/Vest balance.

I don't think this is a characteristic of the model, only an effect of the chosen parameters. The reason you didn't "waste" two regeneration days is because you picked 7 days to recharge to full instead of the current five. The major difference, of course, is that "tokens" count as full power instead of the proportional weight votes have today.

In fact, apart from the easy cognitive model of tokens, the same result would be reached right now if the only change was that the votes always weighted the same regardless of power spent, wouldn't it?

Second, I don't think this model helps with the bot issue, in fact it might help them allowing them to vote with full power. There's no more timing calculations to get full weight, sure, but every time you don't use all your tokens the bot is ahead. At minimum they are in the same footing as human, which I believe is something they want to prevent.

Finally, I can't help to think that mostly bots would benefit from being able to buy votes when calculating that potential curation reward is higher than the cost of a token. Still, intriguing idea and worthy of further thought.

Loading...

Interesting idea. I think the main reason I don't like it is it changes the psychological nature of the interaction. The breakthrough of Steemit is that no one is "paying" anything for a vote and yet authors are still getting paid. Hiding the voting power is actually a big psychological benefit, IMO. If the UI made it clear a voter was "paying" in tokens to show their gratitude for a post, it would change the interaction.

I know the voting is complicated, but change is always something people don't like. There will be much change as this goes from beta to stable. I think things can be figured out over time for those who really care. For most, a simple vote is a good way to go. The slider bar is something I really like, but I also think it should be turned off by default and the steemit.com site should store some settings in local storage for the browser for users to customize their settings and turn things like that on in an advanced mode. Just my thoughts.

I think the main reason I don't like it is it changes the psychological nature of the interaction.

The only change I see happening is that people might actually understand it, so that might impact some peoples behavior. Otherwise in all instances, whether it's live, 0.14.0, or this - you're "paying" some sort of value to cast your vote. I might even argue against the word "paying", I didn't even use it in my post, because you use tokens.

I could also make the argument that the psychological barrier towards payments only applies if the user is actually paying with something that has a tangible value. Have you ever felt the same psychological stress spending gold in a video game? Likely not, but actually going to the store and giving them your credit card to buy the game has a much different impact.

I know the voting is complicated, but change is always something people don't like.

Oh cmon, you can't say change is always something people don't like :)

When things suck, people want change, and are happy to embrace it. I've built enough user facing systems in my life to know that change can suck, but in the end it's generally a great thing as long as it's executed properly.

For most, a simple vote is a good way to go.

I completely agree with you there - does it sound like my post is offering something more complicated? If so, I may have just written something terribly. If simple is a good way to go, why should we use a system that says you have a "voting power" percentage that decreases by a set percentage based off 5 votes per day factored off your voting weight is how often you can vote? How is that simple? A simple decreasing number every time you click the button is simple... what we have now is far from it. The interaction is simple, but the understanding of what they're doing is not.

From what I can tell, all 0.14.0 does for voting is tweak a system that's fundamentally confusing and obscure, in an effort to combat bots and whales, at the expense of the general user. That's the reason I'm looking far beyond the tweaked numbers and actually at the presentation and understandability of the system as a whole. If 0.14.0 goes through as is - I fully expect a lot of confusion and general unhappiness regarding voting - it won't help steemit in the long run, and within 6 months they'll realize it and we'll see a change to something more simple.

It's frustrating to see some of these changes happening with very little consideration towards the normal users. I'm also pretty surprised you don't see this as a problem (in it's current implementation) - do you think you have a good grasp on how this change will impact your voting? I do, but I've already spent an entire day considering the ramifications on these changes - something most people won't do.

Have you ever felt the same psychological stress spending gold in a video game? Likely not, but actually going to the store and giving them your credit card to buy the game has a much different impact.

There are degrees of loss aversion people feel on a spectrum. I've seen studies that show hard currency is worse, then debit cards because people think about the hard money in their bank, then credit cards, then the "wave over this spot to pay", then game tokens (war craft gold, etc), etc, etc. I see it as all on the spectrum. Even though people are "paying" (I use that word because you had something, then you don't have it anymore because you spend it to get an outcome you want) in voting percentage, it's not shown in the interface currently. Most users (you and I are power users, I'm thinking about all my friends and family I'd like to get to join up) know nothing about voting percentages or how they change over time. They probably don't care either.

Oh cmon, you can't say change is always something people don't like :)

Very true, thanks for calling me on it. I wrote my reply in a rush and didn't express myself very well. I was meaning more along the lines of the generalization cliche of "people fear change."

does it sound like my post is offering something more complicated

That was my impression, but I probably didn't spend enough time reading it through carefully. Again though, I'm thinking in terms of the psychological effect of spending (even if you see the tokens as non-valuable things, if they lead to curation rewards, they become valuable things).

After each vote, the UI can dynamically update to show your remaining tokens.

That made me think we'd lose some of the "no microtipping" part of Steemit we enjoy right now.

Will the proposed Steemit changes include UI changes for normal users? If they don't, then I'm less concerned about them than I would be about UI changes that would add complexity for normal users. I do think simplicity is important and I think you and I are in agreement about that. It may be that a token based system makes a lot more sense than a percentage (even if, under the hood, it's still actually a percentage). How it's displayed matters, but I prefer keeping complexity away from people who may not really care about it (i.e. the "normal users").

@jesta - I'm completely sold on this. A token counter function would make sense to anyone and the bot advantage on the current system is not sustainable long term.

Concur, 100%

I like the idea. It is much simpler to understand than the current system, and I think it essentially accomplishes the goals of the v.14 change.

One thing that I don't quite understand about how the token plan will work, is that currently the payouts are all calculated based on the users weighted votes within the current payout period. If you allow users to save up tokens over a 1 week period and use them all at once - aren't you letting them use more than 100% of their daily voting power within a day?

aren't you letting them use more than 100% of their daily voting power within a day?

Yes, yes it would - and that's a great question. I'm not sure of the impact that would have. That could be a show stopper on this idea if there's a major impact to the rshares distribution.

I still think that the idea of tokens is a great solution to the UI/UX part of the problem though. Even if it doesn't change the way the voting/payout formula is done behind the scenes, it still could be a great way for users to understand how their voting works.

Interesting idea. Not sure how I feel about incurring a penalty for uncasting a vote, but designing the system to favor human behaviors over bot behaviors makes more sense than the other way around.

I actually just learned this myself after writing this post. Right now you do incur a penalty for uncasting a vote, it still counts as a 100% vote from your voting power. I'm not sure how I feel about this either, but apparently is a safeguard against a few ways of gaming the system.

That's why I used strikethrough on that part of the post. I still think the idea has validity, but I'm not sure how to do it yet. My brain was a little done by the time I finished up the post ;)

I think that if it didn't, you could vote for several things, wait a bit, and then keep only the "winning votes" and remove the ones from places that didn't get traction in order to try again.

Yup that was exactly the reason given. I do think there should probably be a 5-10 minute grace period before this kicks in though. Especially if we only get 5x 100% votes a day.

The other solution is to add a confirmation window to votes, which sounds like a terrible idea :)

I get what you're suggested, and I'm still super new here, but ... for me, I haven't seen it as a problem.

I'm not trying to game the system, or maximize it, or anything -- I just up vote stuff I like. In that sense, the micro transactions are invisible to me.

Like you, I visit sporadically and just up vote stuff I like.

I don't up vote many things mainly because most of the stuff I can easily discover is crap. Discovery being hard is also a UX issue -- and probably a MUCH larger issue than any voting mechanism stuff. Items that can get found easily will get voted on.

Probably lots more to think through here. Like, that there is essentially a technological arms race already. The have-nots will be those that only visit through steemit.com, the haves will build/buy/fork tools to make it easier to find stuff, post, vote, etc. etc.

I completely agree, I think visibility of content and discovery is another critical area that needs to be addressed. Voting is just the hot button topic right now, and you've got to strike while the iron is hot. If we're thinking about making a change surrounding it, I figure why not discuss all viable options that will help in the long term.

We have had so many changes, has anyone done actual analysis looking at the impact? For example, we changed from 10 votes which regenerated in 24 hours to 40 votes which regenerated in 5 days. Has anyone actually looked at the periods concerned and compared the effects?

I like this idea. I can see a potential problem, though:

A vote from a high-SP whale will often be too significant.
High-SP whales often upvote posts/comments at 1-2%. In the scenario you laid out, a whale wouldn't have that flexibility. Their smallest possible vote would be far stronger than it is now.

p.s. @jesta A few days ago I gave you some suggestions for making steemstats even better, such as: sorting followers by Steem Power, sorting followers by the date they started following you, and a couple others. Did you have a chance to further consider those improvements?

Alright I have no idea what happened to my other comment.. I tried to copy/paste and respond to you quoting what you said and it broke. I'm going to leave it and use it to report whatever bug just happened :)

lol, here's what I tried to say:


Response to your first point about whales : Completely agreed. We actually talked a bit in chat about this point, and one solution that came up is that we could allow more advanced users to change the precision of the tokens. So a whale could open up their preferences and set token = 1 or something similar, which would effectively 10x their token balance and 10^ the value of each one. That would then let them use 1-100 on each post, with each token equal to one percent.

Response to your other comment: Mmm, honestly I totally missed those suggestions. I'll go find it and respond there :)

I believe you did respond with something along the lines of "these could be fun." I just wanted to see if you had given them any more thought.

Haha, I must have been tired. I did add them to my list though.

I haven't, except in the fact that some of those are really going to require steemdb and steemstats to combine in some way or another to accomplish. The following information and lookup of accounts isn't information readily available in steemstats (or on the blockchain at the moment), so I'll need to use steemdb's database to do things like that.

So it may take a while for a few of those to actually happen.

I appreciate that, thanks!

@@ -1,64 +1,6 @@
-I like this idea. I can see a potential problem, though:%0A%0A**
+%3E
A vo
@@ -57,10 +57,8 @@
ant.
-**
%0AHig
@@ -244,16 +244,454 @@
s now.%0A%0A
+Completely agreed. We actually talked a bit in chat about this point, and one solution that came up is that we could allow more advanced users to change the precision of the tokens. So a whale could open up their preferences and set %60token = 1%25%60 or something similar, which would effectively 10x their token balance and 10%5E the value of each one. That would then let them use 1-100 on each post, with each token equal to one percent.%0A%0A%3E
p.s. A f
@@ -940,8 +940,96 @@
vements?
+%0A%0AMmm, honestly I totally missed those suggestions. I'll go find it and respond there :)

^^^ why does this happen? like half of my posts end up like yours above.

I don't know, I've been trying to figure it out too. I opened an issue on github about it, if you've got any insights as to why it's happening, feel free to join in on the bug report.

i figured it out from your comments on github... im not on there so ill post h ere.

It comes from having any character, then multiple GT block quote symbols.

so this is fine:

jesta opened an issue on github

NM except now i can't reproduce i t.

I think the current and proposed changes (in Hardfork 14) are a good start. But I would like to see the ability to Buy SBD to recharge your Voting/Curation Power. That is freaking genius and should be implemented in the next hardfork.

I like that you have such a positive impact on Steemit. I am trying to have a positive impact on Steemit and bring in new users so I hope you don't mind. #payitforward!

[Crowdfunding] Steem.Gifts and Steem.Market need Steemians help to become a reality!

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.034
BTC 63997.36
ETH 3133.23
USDT 1.00
SBD 4.15