Stopping Self Vote Abuse. Another Proposal. Voting Power per User

in #abuse7 years ago

DQmWEykpQ1EA15jhiMBhzot1cSJUgFMo5nmx8yUzVxKSpBS.png

There are many ways that people can abuse steem right now. We have tools in place to combat this (downvoting) but this takes a lot of time and effort. I greatly appreciate people like @steemcleaners and countless others that are very vigilant at protecting the rewards pool from abusers.

But this work comes at a cost. Many people are supporting steemcleaners and others by upvoting their posts, delegating steem power and sending steem directly. Not to mention the time that is spent on this issue that goes uncompensated.

Wherever there are costs, I see opportunity to reduce the cost!

I have a thought that I think might have some potential. The best part is, I don't think it would be difficult to impliment at all. Let's see what you guys think.

Disclaimer: I don't have all the numbers pinned down so we would have to play around with them a bit to find out the optimal solution. That being said, the numbers I will use below are for an example only.

We currently have a voting power, where everytime we vote our voting power goes down. It recharges over time which discourages people from excessive voting.

My idea is similar. We would have a voting power for each person we upvote. Whenever we upvote someone, our voting power for that person goes down and it is only recharged by voting on other accounts.

Quick example: I vote for Bob. My vote is at 100%, I vote for Bob again, my vote goes down to 90%, I vote for him again and my vote goes down to 80%, now I vote for Alice it is worth 100% and if I vote for Bob again, my vote would be worth 90%. (When I voted for Alice it recharged my voting power for Bob)

We need a simple way to calculate this.

Currently, your vote value is calculated based on:

Steem Power * Voting Power * Voting Weight

We would simply multiply by the percentage of votes that are not for the same account in the last 100 votes (or another number)

So let's say we vote on Bob's post. Out of the last 100 votes 70 of them (70%) have been for Bob. That means 30% were not for Bob. So our vote would have 30% of the power that it would normally have. Each time I vote for Bob, the percentage would get lower.

Out of the last 100 votes only 10% were for Alice (or 90% not for Alice). So when I vote for her post, she gets 90% of the normal vote.

Positive Implications

I believe that this would not only reduce the effect of people voting on their own posts (or the posts of one of their other accounts) but it would also encourage people to spread their votes out more. Even if people still voted the same way they are today, the rewards pool would be spread out to more people because people that don't get voted on as often would receive higher paying votes and people that receive a lot of votes would likely get less powerful votes.

Loopholes/ Ways to Game the System

The workaround to abuse this system would be to create many accounts and switch off voting for each in turn. But unless you had 100 accounts it would still reduce the rewards you are getting. And if we raised the number to look at the last 1000 votes or 10000 or whatever, you would have to create that many accounts to still get the same rewards you are getting today.

Conclusion

As you can see, this would not completely eliminate this problem. But it would greatly disincentivize it, and reduce the scale. Can we ever really solve problems like this in a decentralized way? I don't know but if we just keep getting better and better maybe we can find a way!

Possible Variations (I will add more ideas here as I think of them or I get good ideas in the comments)

We could also do a weighted average instead of a strait average. So that your votes from 3 months ago don't matter as much as your votes today.

My Other Steem Related Ideas

I love to look at systems and try to optimize them to make them as efficient, sustainable, low maintenance, etc, as possible. Currently I am spending a lot of time with the steem blockchain so many of my posts are related to that. Here are some of them.

Could a High Steem Price Actually Be Bad for Us?! (Spoiler:No, except maybe a little, but really, no)

Flagging War? Who is to Blame? What on Earth is going on!?

A New Feed Using Upvotes From The People You Follow. Improving Content Discovery! (My favorite current project, an update will be coming soon!)

Eliminating Malicious Self-Voting: Learning from Yours.org

Fixing the Reputation Score and Eliminating Spam: A follow up to User Authority (My most popular post to date... which isn't saying much...)

Fixing Steemit's Post Promotion. Out Competing the voting bots!

Selling Future Earnings!? How to Solve Steemit's Curation Problems

Sort:  

The truth is that most people vote without even examining the content of the post. You can see this by examining the number of votes compared to the number of views for any article. Often voting is based on the apparent value of the article as a potential curating reward than on its perceived interest. I have noticed that I get more votes if I open with an upvote of my own with a value of $1 or more. My own strategy now is to post, and about twenty minutes later return and upvote myself. It is at that point, once people see money available that people vote. We could of course prevent people voting for themselves, but we would just get people plotting cross voting in cash support of each other. Alternatively we could set a limit to the value of a vote, say $10, and that would greatly reduce the influence of Whales on the voting structure with regard to imbalance. The presumption of the white paper, however, is that people will vote to maximise their own gains in the long run because Steem Power is by design forced to be held for the long term. We are still in the early days of the Steemit platform, and voting behaviour ought to adapt to the interests of the platform over time in order to maintain the value of Steem Power.

one of the fundamental problems with steemit, people only using it to make a buck. Post real, fun original content for that reason and the money will follow. Lead with thinking that "I'm going to make a cool post to make a bunch of money" and if usually ends up being a crappy post.

I wish I had that big of an upvote! :)

This is a very interesting idea. I think the biggest objection to it is the added processing cost for witnesses to correctly calculate upvote rewards when writing votes into the blockchain. Maintaining an upvote map of the last 100 votes for 500k accounts...

This is a nontrivial processing load...

Yeah, unfortunately I don't have enough experience with coding to be able to think of a better way. I'm not sure if it would be easier to keep an upvote map for each person or to look it up and calculate it at each vote... I'll be looking more into how this can be done

This system would be awesome! It gets annoying when people just comment on posts so that they can upvote themselves. This new system you propose incentivizes people to spread the wealth and I like that.

I'm not a coder anymore (believe it or not, I used to) but I think this would need to be done in a fork, which makes it very hard to implement. The reason why I say that, is because if it was to be coded into Steemit.com itself, it would simply be a simulation of such VP going down, and not the real thing, thus it would simply be easier to go into busy.org or any other application that communicates with the blockchain to keep on abusing self voting.

Don't get me wrong, it's not that I dislike the idea, I just think the witnesses would not vote on it, since they can see easily how it can be circumvented, unless, we were talking about forking Steem again...

Hopefully a witness could give you some input regarding this..

Yeah, this is less of a "let's do this right now" idea and more of a "this is something we might want to think about in the future" idea to get people's thoughts going. I think this issue will have to be addressed at some point so I'm hoping that we can get some good ideas in the minds of the witnesses/developers of steem so that maybe in the future they can find a way to implement something like this.

 7 years ago  Reveal Comment