Fixing the Reputation Score and Eliminating Spam: A follow up to User AuthoritysteemCreated with Sketch.

in #steem7 years ago (edited)

This article is a bit of a continuation on the theme that I have been working on in my last few posts. Mainly, improving content quality and making it more likely that the best content will receive the best rewards.

In the first post of this series, I talked about how we could allow investors to find undervalued content creators and invest against their future earnings. This would help new content creators get a jump start as well as allowing curation of the best people, not just the best posts.

In my last post, I talked about how we could out compete the voting bots by improving post promotion. This allows for people to grow their audience while benefiting the entire community.

The next piece I have been working on is how to effectively eliminate spam. This is a problem that has plagued the internet since the dawn of time! (or at least the dawn of the internet) The way that most websites solve this problem, is by having a centralized spam filter (moderators) that can look at posts that the community has flagged as spam and decide on whether to keep or delete the post, or whether to ban the poster. This method is not suitable to the steem ecosystem in my opinion because we need to have a decentralized mechanism that is resistant to censorship.

The Problem

So how do you make sure that spam is not rewarded when there is no central authority to say what is or isn't spam? We have the flag/downvote mechanism but what does that do? It just lowers the amount just like an upvote raises the amount. Sure, if we could all just flag spam to death it might work but what if a spam generator decides to retaliate and flag your posts. This can create a phenomenon we see here on steemit called "flag wars!" When two people get in a little disagreement and just start flagging each other's posts into oblivion. Who decides who is right and who is wrong? Or are they both wrong? Is it just the biggest stakeholders that decide what should and shouldn't be considered spam? That is how it works now, and it works pretty well for the most part but I think we can find a simpler, more elegant solution.

So back to the crux of the question. How do we determine what is spam. What if I flag something as spam and someone else upvotes it. How do we determine who is right? Is it spam or not? Currently, whoever has the highest steem power wins. The problem is obvious, these "spam bot armies" can upvote their own spam, getting higher payouts, thus increasing their steem power, which they use to upvote their own posts again. It's a vicious cycle that can create very powerful bot armies, not to mention, draining the rewards pool and lowering the value of steem as these malicious characters power down and sell their scammed money.

A Solution

What if their was a different metric for deciding the value of a post, or account, besides the money it generates? What if it was something you couldn't buy with money? What if it was based on trust, or reputation? Wait, we already have reputation, why not use that? Well reputation is calculated simply by upvotes and downvotes and therefore can basically be bought. We've all seen the accounts that have high reputation that are simply pumping out spam and plagiarism all day long. So how could we make the reputation score based on trust instead of money and self voting?

As I was contemplating this idea I started formulating ways you could do this. "It could be relatively simple" I reasoned. "It could be based on who follows you and who mutes you. It could see when you vote on good posts or bad" I decided that I was onto something and now I just needed to sit down and figure out how this could be done. As I sit at my computer I see a new article in my feed by @scipio, How-to solve SPAM and Democratize Steem: Introducing UserAuthority. And here is the follow up article explaining it in more depth. I couldn't believe it! The very thing I was working all day to figure out and here was the answer right in front of me! This can be done! And it is not as hard to implement as I feared! I won't go into the details of how it works (read the article!) I'll just say how I was planning on applying this idea.

User Authority (UA)


Basically, UA is a way to judge how much people are trusted, if you are followed by people with a higher UA, your UA will increase. Again, I won't go into the details but this would create a "trust" score that cannot be bought. If these bot armies are following each other, they will all have low UA.

This is great, but I think we could add a few things to make this the new reputation system and make it very powerful.

I think your reputation should be based on a few different factors

Followers (this is the UA idea, the better your followers, the better your score)

Accounts that have muted you (This would be a negative score, if followers are upvotes to a person, muting is a downvote to a person)

Upvoting an "accepted" post (I'll talk about this in a second)

Downvoting a spam post (this too)

Accepted Posts vs Spam

Ok, so now we all have different reputations. Now, whenever I upvote a post it does two things. It increases the post's potential payout amount based on my steem power, and it increases the post's reputation based on my reputation. If I downvote a post, it does the inverse. It decreases the potential payout and decreases the reputation.

Now the post will start to gain a reputation as well. If the reputation increases to a certain level, we call it an "accepted post." If the post's reputation goes down to a certain level, it is considered spam and loses all payouts and is removed (or hidden?) from the blockchain.

Anyone that upvotes an accepted post will increase their reputation and anyone who flags an accepted post will decrease their reputation.

Inversely, anyone who upvotes a spam post will decrease their reputation and whoever flags a spam post will increase their reputation.

We would want there to be a fairly big margin between accepted and spam post so that it is only accepted/spam if there is a large amount of trust/distrust in the article. So most posts would probably not fall in either category.

To calculate your reputation it might look something like this:

(Reputation of your followers - Reputation of the people that muted you)*(maybe some sort of dampener/weight) * ((accepted posts upvoted + spam posts downvoted) / (accepted posts voted on (up or down) + spam posts voted on))

or

Follower rep - muted rep times the percentage of spam and accepted post you voted on "correctly"

Something along those lines.

This way, people that don't post a lot but are upvoting and downvoting can also have high reputations if they vote "correctly"

People that try to upvote their own spam will lose their reputation in a virtuous cycle

I believe that something like this would solve a lot of the problems that we are currently dealing with and though I'm not a programmer, (yet) It doesn't seem like it would be much more complicated than our current reputation system. I wish I had the skills to begin testing this out and implementing it but I'm not there yet. Hopefully someone with the skills can pick this up where I left it and actually test it out. (I'll be trying with spreadsheets.... we'll see how that goes...)

Well I think I covered everything I was thinking of... Let me know if I missed something, I really love the discussions in the comment section to help me clarify my idea and work out potential problems!

And remember, if you liked this post please resteem it, I just hit 150 followers so I still don't have much of a reach. I could even share some of the rewards with people that resteem it if someone has an idea of how I could do that. I'm not as concerned about the rewards as I am about making steem work as efficiently as possible! Let's get this idea to someone that can build off it. Or at least shoot me down so I can think about better things :)

Thanks!

Sort:  

Wowzers, I guess you're the first person who blogged about my articles: cool! I responded in-depth to your ideas in the comment-section of my own article (UA explained).

Well that's what you get for writing great posts! haha

:-)
Maybe it's even better to include inside your post my explanations-article: that was meant for many people to understand better, for it seems most can't fully comprehend the math in my first article....

blink.jpg

Agreed and done! I thought they would find it if they went over to the first article. But it is probably better to just have both.

Hats off. This is genius.

I like the idea of user authority, I just need a little more time to fully digest the implications. It's definitely not a subtle change. I don't think we should entirely throw SP as a source of weighting, because there need to be incentives for new members to invest into Steem to increase their authority. That's where the future valuation comes from.

I've been thinking that a blend between user authority and SP could be used to determine rewards. (Maybe an exponentially weighted average, so that whichever you have more of determines your total contribution?) The math gets pretty complicated, as it does for user authority, and I have not had the time for a full analysis.

Until I see a good argument against, or have the time for the analysis, I am tentatively supportive of giving user authority some weight in determining rewards, but not the full weight.

I've been thinking that a blend between user authority and SP could be used to determine rewards.

vote_reward = UA * SP

Thanks. Like I said, I need a little more time to fully digest the implications. Apparently that also means a little more time to read it more slowly and let it sink in.

Edit: Now I've read your full proposal (both posts) and left some comments there. Thanks for being a little patient with me to point out that you had already included what I was suggesting. I did read this page before I did more than scan your own proposals.

I definitely appreciate the elegance of the solution, and I hope that effective execution in utopian-io convinces some of the naysayers into giving it proper consideration for Steem as a whole.

I think that could be a good solution. I have been kind of thinking that it would work as a little bit of a checks and balances situation. Steem Power is based on stake (money) and gives you the power to distribute rewards and UA would be based on how much people trust your judgement, and would give you the power to give posts a good/bad reputation and therefore, make them more discoverable and more trusted. It could be like a form of curation. UA decides whether or not we should trust a post, and SP decides how much it is worth? Something along those lines.

Great idea. How can that become reality?

Good question! haha. I guess just getting the ideas out there so that the developers can come up with the best way to do this. The better the idea gets, the more likely it will be picked up by someone who can make this happen

Your word in God's ear!

What does User Authority (UA) mean?
User Authority = Reputation?

UA is an idea that @scipio had that measures how likely it is that someone is being followed. If you read his post (I linked to it in the article) you can see a good explanation. I am suggesting that something like that could replace the reputation score.

Ok this is my proposal on how REPUTATION matters and it is directly linked to your Steem Power and Steem Dollars.

I am rather new to Steem but I am seeing abuse by people who ruined their reputation because they know it doesn't affect their Steem Power or Steem Dollars.

Your Reputation should influence how you can delegate your Steem Power for upvotes or downvotes. If your Reputation is higher then you can delegate more Steem Power for voting up or down. If your Reputation is in the negative then you can NOT vote at all and you can't delegate Steem Power to another person or give away Steem dollars to another person until you fix your REPUTATION.

This is how it is real life. No one wants to deal with a Bad Reputation or Negative Karma person. And people are less likely to even listen to Bad Reputation person. Until someone can fix their Reputation then they can start voting or flagging again. This will prevent people from abusing their accounts or transferring Steem Power or Dollars to their dummy accounts.

This will be probably easier to program then to redo a whole new system as proposed by Scipio.

Interesting! I like the idea! I'll have to think about it more...

I like the idea.

This system + educational action + homework for users with cleaning out whom they are following = improved rating system + new type of whales = more money for quality content

Congratulations @littlejoeward! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.028
BTC 64377.96
ETH 3500.45
USDT 1.00
SBD 2.52