Proof Of Worth: Revisited And Upgraded

in #steem6 years ago

Three months ago, I proposed a possible solution to self-upvoting: Proof of Worth. The idea behind proof of worth was that in order to verify one's self upvote, the sum of the non-author upvotes needed to exceed that of the upvote itself. This solution would prevent lone whales from upvoting garbage and stealing from the rewards pool. This proposal also preserved the self-upvote. However, one could simply argue that one simply needed an upvote from a different account to bypass this idea completely. So, I extend the idea to make it more useful.


fantasy-2701633_640.jpg
Proof of Worth: A natural extension to proof-of-brain


Proof-of-Worth vs Proof-of-Brain

Before we dive into the more technical details of the new and improved Proof-of-Worth proposal, I want to look at things from a more philosophical perspective. Proof-of-Brain rewards are granted to individuals that create content that is then judged to be worthy of rewards by at least one person. Proof-of-Worth rewards are the same. But Proof-of-Worth rewards are more restrictive. In a sense, Proof-of-Worth is a subclass of Proof-of-Brain.

The restriction put in place in Proof-of-Worth is on the validity of members of the community. Something that has massive rewards but lacks widespread support would fail this higher standard. The rewards placed on any post should reflect the amount of support the community as a whole has given that post.

A whale vote that makes up the majority of rewards says less about the community's support of the post than the remaining votes that surround it. Thus, this whale vote should be penalized such that the total value of the post is more indicative of the value of that the community places in that object rather than the value assigned by an individual or a small group of individuals. Proof-of-Brain does not take this into consideration and thus the reason we have fighting over farming the rewards pool.

Simple Proof-of-Worth

In the case of simple proof-of-worth we take a look at only the largest vote among a set of votes. This vote may be a self-upvote or it may be the vote of another account. In this case, we look to avoid an undeserved massive single upvote. In our case, "undeserved" means that a vote lacks community support to verify that vote as representative of the community sentiment of that post.

Simple Proof-Of-Worth: In order to receive the full rewards from the largest vote, the sum of all smaller votes must be greater than or equal to the largest vote. In the case where the largest vote is greater than the sum of all smaller votes, the largest vote is penalized such that it composes only 50% of the total rewards allocated to the post.

So, for example let's say a post has five votes on it by a group of wealthy Steemians. There are $310 in rewards on the post. But when sorted the individual vote totals are $300, $4, $3, $2, and $1. Apply our proof-of-worth restriction, the total rewards are now $20 instead of $310. And this appears to be a fair value for this post considering it only received 5 relatively large votes.

What if a post only has two votes? Well, then the value assigned to the post is the smaller vote multiplied by 2. What if a post only has a single vote? Well, then then the value assigned to the post is 0. Thus, if you self upvote and receive no community support, your post is deemed worthless.

This solves the problem of individuals upvoting their own shitty content and it solves the problem of a single whale upvoting mediocre content excessively. This also helps to curb other voting abuses. To abuse this system to same extent, one would need multiple accounts and twice the amount of money in order to compensate for the proof-of-reward restriction. If one did do that, the price of Steem would go up. So, win-win-win.

Extended Proof-of-Worth

One may ask: why simply validate the largest vote, when we can validate all of the votes? Extended Proof-Of-Worth extends the idea to reduce the impact of larger votes than normal votes in general. First, we need to pick a starting point in our list of sorted votes and then apply simple proof-of-worth to them individually comparing them to all of the smaller votes. We'll use the median as a starting point as it is more resistant to skewed distributions than the mean is. And we are trying to temper the effects of these skewed distributions.

Extended Proof-Of-Worth: Sort the list of votes in ascending order. Find the median value of the votes and pick the smallest vote equal or greater than the median value. For this vote to apply completely, the sum of all smaller votes must be greater than or equal to this vote. If this is not the case, reduce the value of the vote so that is it equivalent to the sum of all smaller votes. This reduction is applied after the entire process is done. The old value will be used in the remaining calculations. Now proceed to the next vote in the list and repeat the process until the largest vote is evaluated. The new rewards total is the sum of all votes after penalties have been applied.

With the example we used earlier, the final total is $20 and the same as simple Proof-of-Worth. The median vote in this case is $3. But $3 is equal to the total of the smaller votes so it is not penalized. We then move to $4. It is smaller than the proceeding votes so it maintains it's full value. Then we reach our final vote which gets penalized the same as we are now in a simple Proof-of-Worth case. Extended Proof-of-Worth simply extends the simple Proof-of-Worth process to smaller votes.

Let's use another example: Let's say three whales collude to upvote a post. We have seven votes this time: $1, $1, $2, $5, $80, $100, $120. Normally this post would be $310. If we apply extended Proof-of-Worth, three of the top four votes are penalized. $5 becomes $4. $80 becomes $10. $100 becomes $90. In this case, the top vote remains the same. In simple Proof-of-Worth, this post would still be $310. In extended Proof-of-Worth, this post is now $231. This is still high, but it helps to somewhat alleviate the issue. Even though whales are colluding here, 3 whales is more representative of a community than say 1.

Note that in the case of posts having one or two votes that extended Proof-of-Worth is the same as simple Proof-of-Worth. This also helps to alleviate some of the potential issues of a user abusing multiple large accounts.

Potential Concerns

One may asks what happens to the curation rewards if a vote is penalized. In the case of the last example, it would appear that the owner of the $80 is a really big loser as his contribution to rewards is only $10. But their proportional allocation of the curation rewards would still be the same. Their share of the curation rewards is preserved while the amount of curation rewards would simply be a little smaller. Thus, the penalty only serves as a very soft cap on the rewards allocated to the author (and curators). Which makes sense. We are trying to give out rewards that the community can agree upon.

Comments tend to receive significantly less votes than posts. Thus, this solution may seem to disproportionally affect users who comment a lot. There are two things to mention here. The first thing that we could argue is that only the truly exceptional comments deserve rewards. The second thing that we could argue for is by placing an arbitrary lower limit on votes that proof-of-worth would apply to. Something like a 1000 SP vote. Which approach is taken is up to the community to decide. Penalties on larger votes would also stop at the cap.

The potential for reduced or lost voting power is another concern. By using the cap suggested in the previous paragraph, no one will ever suffer a complete lost. But the potential for bad ROIs should encourage larger users to use their votes more carefully and spread the wealth more horizontally than vertically, since they may lose out on curation rewards on "excessive" votes.

One last concern is that of flagging. If we use the same system for flags and upvotes, flags by whales become super-powerful. Thus, in order to implement the system, we need to separate upvotes and downvotes from each other and apply proof-of-worth on both lists. In the case of negative upvotes, the list is put in descending order rather than ascending order. Or you can use the absolute value and keep the ordering the same. Whenever makes more sense to you. With this system, we now need multiple users to flag to punish a post. This prevents a single user from flagging other users and limits the damage of lone whale flags.

Final Thoughts

I really like this idea. The first time I came up with the idea, I found it rather weak and not through enough against abuse. This new solution is more through and preserves the use of the self upvote. Apparently people like voting for themselves. In this system, they still can and use that upvote to promote their work. If nobody likes it though, they receive nothing, which seems fair. In fact, by adopting the system, we can finally begin to lose the stigma against self-voting as most abuse is curbed and the most egregious abuse should die out completely.

The final thing I have to say comes in the ask for a small favor. I embrace constructive feedback, but often flaws are used as reasons to strike down an idea. Thus, in addition to any criticism or praise, I'm just curious whether or not you would prefer a Proof-of-Worth type system over the current system. That being said, you have all the freedom to do whatever the hell you want to do. At a minimum, I appreciate the time you've taken to read over my proposal. Thank you.

Sources

Image

Sort:  

I really like this idea. Although, I feel it still has a loophole. If I have one whale at $200 up vote. Why not just split it to 10 accounts, each $20 a piece. Would this not theoretically override your algorithm and give the same amount of awards as now?

I really do like this idea that. I have not seen anything else like it. (I haven't seen a lot though) haha

I have thought about that. I have considered variants of the second algorithm so that the penalty applies before the next calculation which would help with your concern but not completely eliminate it. Your attack would bypass the algorithm in a majority of cases but technically decentralize rewards but the real issue is that is doesn't decentralize power.

I just thought of another simpler approach to this problem. Rather than verify votes comparatively, the goal is not to be the largest vote on any post that you vote on. Imagine you eliminate the top n% of the votes from the rewards calculation. Everyone still gets the rewards but we just remove the top n% of the votes.

Let's say n = 10. For most minnows, this removes their biggest vote and eliminates any self-voting issues. For the whale above who now has 10 accounts instead of 1 votes on a post with ten accounts. This proposal effectively guarantees that such abuse is 10% less effective in the current system. They could make hundreds of accounts, but they would still lose some amount of money.

But the funny part is that minnows have the ability to flag via upvote. Since their votes are so small, their votes push these bigger votes towards the front to get chopped by the chopping block. So with @haejin his large fanbase would be his downfall pushing the big votes outward.

People would be rewarded by having the support of the community and would simply have their top votes cut. In this system everyone should self-vote for themselves and let the community verify the votes, with only the biggest votes not being verified until replaced with larger ones. Such an approach would eliminate a majority of whale and bidding bot abuse and would require whales to divide their accounts into hundreds of accounts in order to achieve desirable results.

Could you write a new piece including this?

I did write about a piece covering similar ideas a few days ago here. The same basic idea is covered there and I go over another idea as well.

I would resteem, but I fear you might get a flag. I don't think so though but, better safe than sorry.

I wouldn't care about getting flagged, I would rather spread the information and get flagged than bow down to some TA wannabe. Do whatever you please.

Nice! This takes my idea of proper upvote distributions to a specific level that can actually be implemented. I like it. I went ahead and linked our 2 pages together

Really well written this, even I can understand. Would be nice to have more technical types take a look in - I guess you got lost under the charts and recipes. Thanks for linking it on the other post.

Yeah, it would be nice, but technical writing tend to be a little dull side. Thanks for taking the time to read it though. It might not be the best idea, but I try to contribute to the conversation in a positive way.

I like the concept. I was wondering about a trail of voters - we have large holders with trails that run into the 50s-60s. You suggest that they would need double the SP to collect the same rewards?

No, I did not even think of trails. So, those trails would validate the voters they would follow to some extent. Depending on how their trail is, their vote may be completely validated by the trail. Whether or not this is an issue remains a good question. The fact that people are willing to give their support behind another voter indicates community support.

Ahh, i was thinking if a person had say 2 million SP split between 200 of their own accounts..

Ah, yes. That's also a good point. A much harder problem, but a problem that should decrease over time as the user population grows and the price of Steem grows. There are not many accounts with a lot of SP and starting a scheme like this continues to get more expensive.

There have been vote weighting suggestions that decrease the value of the vote over time when voting for the same accounts repetitively. We could also do this for voting trails, though that might be a little overkill.

Lots of great thinking here. One thing that comes to mind, which makes it hard on smaller accounts here, is the lack of any real algorithm or well-designed system of content discovery. So currently, whale votes also achieve the goal of boosting the post temporarily to the "Hot" section or "Trending" if more people jump on board.

The only addition to your "Proof of Worth" would be the inclusion of a bump in discoverability for content that is upvoted by a whale. With current content discoverability being so bad, it's hard for many people to find "worthy" content.

Imagine a whale voting for $100 on new post. But only $1.00 gets shown on the counter. However, the upvote pushes the content to more people to verify proof of worth. If a certain percentage of those people upvote, it continues to get pushed to more people (similar to the FB algorithm) As more people upvote and the value of those smaller accounts eclipses the whale's vote, the whale's vote jumps in value to say $2.00, then 3, etc. In this system whale votes early on would still have significant value, but moreso for getting the content into more people's feeds. If a certain percentage of people don't upvote it, then the post stops being distributed. Basically this makes for a new class of "Influencer" based on account value, rather than Followers, instead of having their accounts be money printing machines.

Sure, this makes sense. Maintain the influence of the vote even though the vote is not yet verified. I think given the current UI, that would be a fair thing to do and encourage people to hold SP.

I do think that we need a more efficient and better way of content filtering that allows us to subdivide the posts more efficiently and deliver specific content to the people who what to consume it, similar to Reddit and such. Hopefully Steemit's "communities" will deliver an effective way of solving this content discovery issue.

I like this. A lot.

But with one caveat: trails. Trails often consist of many much smaller holders, and even upvotes at a very low percentage (depending on the trail setup/app). If HF20, or a later HF, returns to the principle of 50 creator/50 curators rewards, we will highly likely see more trails even trying to maximise curation rewards. This will negatively affect the rewards due to the low value automated upvotes and thus penalise the creator. Penalise the creator because people themselves want to maximise their own rewards.

But I like it a lot nevertheless. Curious to discover how trails could be integrated in the concept without further damaging legit creators.

Well those smaller votes would act as validators against the bigger vote they are trailing. HF20 will not be returning to 50/50 rewards according to their most recent updates although they've discussed it on GitHub.

I'm not seeing how these smaller votes would hurt the individual, especially if we are using the sum of the votes rather than an average or something like that. Small votes contribute to validation rather than take away from it.

Could you give an example of your area of concern? I will admit that I didn't consider trails when drafting up this idea.

In the advanced model they will more often than not lower the median (many trails are more cosmetic than of any rewards value).

While they will be counted, it deserves a moment of attention. Without having checked the actual values, projects like curie and ocd may become unwanted collateral damage and be obliged to promote/market themselves more, begging for more valuable trails.

Additionally, the structure would possibly take out the gift element of some upvotes. Too rigid a structure can also be damaging. Some orca may decide to actually reward friends (in a responsible sense). That should be OK as long as reasonable, it’s part of the charm of Steem.io.

This doesn’t take away that I like the concept. Very much even but IMHO it should be extended to be less rigid and also allow a (minimal) degree of flexibility in the median. Otherwise it becomes too structured communistic a platform.

The challenge with Steem.io is that any model will always be games to maximise all profits and thus new challenges, unexpected elements (such as trails) will always appear.

We could add some flexibility based on reputation, although that may require some tweaking to the reputation rating. We could also make delegated stake to specific users resistant to penalties. That should help the accounts that have large delegated portions stronger.

I agree on your sentiment of avoided too much structure in a system. There are times that the structure can be leveraged against itself and its users.

I think over time as massive numbers of users begin to use different Steem powered platforms, your concerns will become less relevant. Although I think that some of my concerns with the current system will become less relevant.

I think we share the same concerns mostly. :)

I like to think that over time Steem.io is a (self-) correcting system and economy. Reactionary but that’s the only way it works. I always resort to the hundreds of millions Google has spent on cleaning up its SERPs and even those still get gamified, but at a very high cost. SEO still is a real thing.

Steem, as we know it now and the content side of Steem, will not be much different. We are a new Internet creating community. The analogues are often very blatant even. As such there will always be a cat and mouse game as well.

this has a lot of math and for-thought, i really good read... hope they implement it one day!

I don't think we will really see a lot of new ideas implemented in Steem in the near future. The governance of the community is unorganized and the core developers are busy with SMTs.

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.029
BTC 60740.76
ETH 3388.82
USDT 1.00
SBD 2.52