Subjective Proof of Work: some rational comments on the self-voting trend

in #steem4 years ago (edited)

After hardfork 19 there was a rise in the community's concern regarding self-votes. Is it unfair? Is it damaging to the Steem community? Is there anything we can do to fix it? - My comments on the "self-voting epidemic"

Ever since hardfork 19, Steemians have become increasingly more vocal about their opinions on self-voting. Many feel this practice is "draining the reward pool" and taking away from other contributors here on steem. Others argue that it is their right to upvote their own posts with their own steem power. What is the deal? I think many users here don't quite grasp the attention economy that is forming here on steem - few really understand the mechanics of the system or the power given to them by their votes.

I am going to reference the (poorly written and overly complicated) steem whitepaper to try and make it clear the social contract behind the steem blockchain from the beginning. Consensus can change but this should serve as a highlight to what many regard as "the constitution for steem" - the code how it was intended, maybe not how it functions. I am also going to comment regarding the technicals of the problem in the first place because, You can't stop self-voting.

The Subjective Transfer of Value

Steem involves a unique concept termed "Subjective Proof-of-Work" where the portion of the work being done to secure and generate value for a blockchain by any individual is evaluated subjectively by stakeholders in the network.

A quote from the whitepaper:

In effect, the criteria by which work is evaluated is completely subjective and its definition lives outside the source code itself. One community may wish to reward artists, another poets, and another comedians. Other communities may choose to reward charitable causes or help advance political agendas.
The next step is to reward everyone who does anything even remotely positive with something. This is accomplished by ranking all work done and distributing proportionally to its value. The more competitive the market becomes, the more difficult (higher quality or quantity) it becomes to earn the same payout.
Assume there is a fixed amount of money to distribute, and that those who have a long-term vested interest in the future value and utility of the currency are the ones who must decide how to allocate it. Every vesting user casts their votes on who did the best work and at the end of the day the available money for that day is divided proportional to the votes such that everyone with even one net positive vote gets something.

I think a important take away from this brief section is that anything even remotely positive should be rewarded. There is actually a lot more value in social media comments than most realize. I believe the equilibrium is somewhere in the fractions of cents but consider that all content that is not deemed harmful should get this as a "minimum incentive".

What I think some don't realize here is that users who self-vote their comments (generally much less popular than up-voting top-level posts --- that was the default until just recently) might actually be the ones putting their comments closer to the equilibrium line for all positive media. There are so many valuable comments that end up overlooked in the sea of spammy or invaluable ones. A self-vote that places one of these comments (that is more than just a sentence maybe) above the simple responses such that more readers see it is a good thing. In fact that is exactly how steem was supposed to work. This is why you can up-vote your own posts.

Eventually, I see AI bots that will be able to spread their influence very thin over content that is simply not "spam", will be able to profit when the platform grows. Until then, unless someone is upping their comments into the 10$ range, consider it putting them closer to economic equilibrium.

Moving better content out of the masses is important

This part here leads to a core point: if someone self-votes and others vote him further, that is not abuse. Period. The initial upvote, putting content in front of further scrutiny, is very important. No matter if executed by the author or not, when others also upvote content, this indicates a positive value slope. With the extra exposure from this positive value slope, maybe a future reader downvotes to negate some of the additional voters power. The whole point is that this is a market for you to use your vests to adjust payouts on posts with your own perception of "Subjective Proof-of-Work".

If users perceive the first vote (self or not) generated too much for the author, they should downvote. Simple as that.

But, but, but, everyone wants to vote for themselves.

Let's start here from the steem whitepaper:

The naive voting process creates a Prisoner's Dilemma whereby each individual voter has incentive to vote for themselves at the expense of the larger community goal. If every voter defects by voting for themselves then no currency will end up distributed and the currency as a whole will fail to gain network effect. On the other hand, if only one voter defects then that voter would win undeserved profits while having minimal effect on the overall value of the currency.

The developers felt that self-votes were a problem to be addressed (at least somewhat - see Crabs in a Bucket). What was their solution? Quadratic voting. Yeah that thing that everyone hated and hardfork 19 got rid of.

The problem with quadratic voting was the developers assumptions of equal stake. Although quadratic voting encourages cooperation to some extent, the trust landscape and steem power distribution caused many problems.

What actually exists to mediate this "problem" - hint: nothing.

People need to stinking start flagging. "Negative-voting" (as refered in the whitepaper). If a self-voted post or comment is making more that you feel appropriate - flag. Don't complain. The entire steem system is founded on the principle that everyone is able to use their vests however they choose to make payouts align with their perception of value.

You can not just "make self-votes not payout" or "self-votes only count for page rank". The social contract behind steem is that VESTS are fungible. Vests are always vests. My vote is worth the same no mater if I vote on content that is good, bad, racist, sexist, pro-steem, or even critical of steem. Changing how vests effect post payouts in a discriminatory way fundamentally changes steem by by altering the fungibility of the underlying asset. This is not like just a 'block size increase' or a simple parameter change, this is a major game theoretical and economic change to the system that has effects much deeper than just self-votes.

Vests should be fungible.

Crabs in a Bucket

In the whitepaper, the crabs in a bucket story is a fantastic example of what to do with abuse.

The use of negative-voting to keep people from abusing the system leverages the crab mentality that many people have when it is perceived that one individual is profiting at the expense of everyone else. While crab mentality normally refers to short-sighted people keeping good people down, it is also what allows good people to keep bad people down.

You can't eliminate abuse. Period. The developers understood this.

Eliminating “abuse” is not possible and shouldn’t be the goal. Even those who are attempting to “abuse” the system are still doing work. Any compensation they get for their successful attempts at abuse or collusion is at least as valuable for the purpose of distributing the currency as the make-work system employed by traditional Bitcoin mining or the collusive mining done via mining pools. All that is necessary is to ensure that abuse isn’t so rampant that it undermines the incentive to do real work in support of the community and its currency.
The goal of building a community currency is to get more “crabs in the bucket”. Going to extreme measures to eliminate all abuse is like attempting to put a lid on the bucket to prevent a few crabs from escaping and comes at the expense of making it harder to add new crabs to the bucket. It is sufficient to make the walls slippery and give the other crabs sufficient power to prevent others from escaping.

It will always be a cat and mouse game with those who wish to abuse. The goal is to to allow the stakeholders to ensure payouts are in line with the perceived value consensus. "It is sufficient to make the walls slippery and give the other crabs sufficient power to prevent others from escaping."

Posts with higher payouts should get more scrutiny and more stakeholders to evaluate if the content is making too much or too little. The developers also seem to agree here:

Fortunately, any work that is getting a large concentration of votes is also gaining the most scrutiny (publicity). Through the addition of negative-voting it is possible for many smaller stakeholders to nullify the voting power of collusive groups or defecting large stakeholders. Furthermore, large-stakeholders have more to lose if the currency falls in value due to abuse than they might gain by voting for themselves. In fact, honest large stake holders are likely to be more effective by policing abuse and using negative voting than they would be by voting for smaller contributions.

In conclusion, you can't stop self voting (without altering steem significantly). The only thing you can do is coordinate and vote. Everyone needs to get over whatever fear they have of downvoting and do what you are supposed to do on this platform.

In my mind, self-voting is like putting your vests (money) where your mouth is. If you are pouring a few cents of your vests behind your comments, you better hope they are not some spammy junk. You are the first person you should be curating, otherwise, why bother posting.

Hope this was at least a bit informative and got you to think about your voting habits.

I would love for some good responses in the comments below. - (I have been known to tip quality comments - usually those that lead to good discussion)

As always, stay decentralized,


"People need to stinking start flagging. "Negative-voting" (as refered in the whitepaper). If a self-voted post or comment is making more that you feel appropriate - flag. Don't complain. The entire steem system is founded on the principle that everyone is able to use their vests however they choose to make payouts align with their perception of value."

I agree that this is ultimately the solution. The problem I see is back to a sort of prisoner's dilemma - who's going to waste their voting power on the flagging, a thankless job with no curation rewards?

I suggested a free number of flags per day, or a separate flag voting power here:

Ironically, it got flagged (and not much interest.) Another option would be to create flagging rewards similar to curation, but that could obviously go wrong.

Who is going to waste their power?

Users who want their vests to be worth something - if the front page is full of spam getting tons of steem, that doesn't really bode well for the value of the platform as a whole.

The problem is that is way too abstracted from the daily minds of voters. I like the free flags per day, but the problem with that is that now people are incentivized to find as many posts as free flags and downvote. There are definitely problems there too.

Flagging rewards might be better. I am in favor of getting rid of curation all together and just doing a simple upvote downvote system. Idk.

This is uncharted waters.

Good points. I still like to browse the introduceyourself posts and upvote new users who make an effort to verify themselves and make a good introduction. My small way of contributing in the spare time I have. I discovered a user who was spamming the same introduction posts (with virtually no content and just one picture) over 20 times spanning many days. I had a little dilemma, because I had warned them multiple times to stop reposting or I would flag as spam, but I didn't want to waste ALL of my voting power just to end one users spam. After several days of more reposts I finally decided to just flag them because it was just spam pure and simple, trying to suck up bots that still autovote introduceyourself posts. Anyway, probably lost ~10 SP from flagging them, but what are you gonna do? Still not sure what the solution to this problem is.

(Gratuitous self-upvoting because I think this is definitely an important topic.)

You point out the real pain point when it comes to downvotes. They use up your power and you do not earn curation. Like you said you missed out on 10sp...

Sure there are the long term incentives (what untimatly got you to flag in the first place) at play with downvotes but those incentives are far removed from the immediate incentives of curation rewards.

There must be a solution here. Curation rewards for flags? How would that work? No power for flags, that has problems. 3 free flags a day? That has its own misaligned incentives. I am not sure.

Thanks for the response!

If a self-voted post or comment is making more that you feel appropriate - flag. Don't complain.

I'll downvote and I'll complain. Complaining is the act of making others aware of a problem. I don't believe the existing ruleset is sufficient to deal with self voting. I don't want to remove the possibility to self vote, but it needs to be easier and less costly for stake to counter stake.

(Costly in terms of human attention and network resources).

Excellent post, @kyle.anderson. Thank you for sharing.

1- When HF19 was activated, my first thought was that I am going to only self-vote.

Then, I could not.

When I saw excellent content (like this post) , I was compelled to show my gratitude to the author by upvoting.
Moreover, I wanted to encourage him/her to continue producing such good work. I am not saying that I stopped voting for myself, but I am saying that I am still voting for others too.

2- As for flagging (down-voting): what stops me from doing it is that I fear I would hurt someone's feeling and he would start flagging my posts as a response. If flagging was somehow anonymous, I would have done it more.

3- does flagging consume your voting power?

Well nobody has any value if there is only self-votes. The system will collapse.

It's doubtful that if you downvoted true abusers, their feelings would be hurt.

If it is a gray area where reasonable people can disagree whether the content is legitimate or abuse, leave it be.

The quote from the white paper in the post is a good one. We don't need to stop all abuse. Going too far to try to do that is counterproductive. Accept that some will happen and let it go.

I do flag abusers. All am saying is that I much more careful with down-voting than with up-voting.

Flagging has its issues you are right. People get butt hurt and start flagging for reasons other than reward payout.

I think it does consume voting power.

So, It is not a practical solution yet.

Entirely disagree.

It is the practical solution.

Just won't say it is the best solution.

Thanks for the excellent post. This has allowed me to think about the situation more clearly. I read the white paper before embarking on my Steem journey, but obviously it didn't all go in, and I'll look at it again!

Why should the voting formula be either linear of quadratic? Is it just because of communicating the way it works to the community? Perhaps a power of 1.5 might get a better balance between these 'problems' for example?

Not your fault with the whitepaper (IMO it is purposely vague and over complex).

They say that the voting should be quadratic because of the incentive for people to cooperate but I am not sure I buy their game theory. Doesn't matter anyways because voting is now linear.

This post of mine might be interesting:

A bit of insight into quadratic voting in other areas of economics. Steem didn't really implement this correctly.

That's very good too. I wish I'd found it sooner.

I guess Steem is an experiment as they say, and the community the lab rats, and we shouldn't forget it!

Do you know if anybody has tried to write an agent-based model/simulation of Steem? I could get my mind around that slightly more easily than trying to model it mathematically I think. Perhaps they do this prior to implementing hardfork changes, or maybe not?

Lol steem will never do that.

I'd wait until the next big thing comes along, hopefully it will be designed with the modeling to guide its development.

Steem is a cluster f

Well that is a very positive perspective, LOL. Although I can't prove you are wrong.

What is your assessment of why mgmt is not working to fix the cluster f, in a more open and apparently urgent manner?

Dan bailed and left the cluster behind for others to manage. But Ned is apparently still around.

Do you believe there is work in progress to provide changes and fixes on urgent basis? If yes, why isn't this more visible to the community?

If you are not confident on the current mgmt team, why stay around? Maybe just out of interest to see how the experiment turns out?

Good points Dave!

Steemit inc. makes this website. Their involvement with how steem (the blockchain) evolves is separated.

All in all the self voting thing is not really a problem to be addressed at all. In fact, there are very few glaring things to change, apart from designing a system entirely differently.

I am confident that steem will continue to evolve and prosper. I am certainly interested in anyone doing things differently. See Akasha.

I have just checked
I like it.
I am surprised that it did not get enough attention yet.

Right, I think my thoughts have been confused by the two big changes in HF19... but may have understood now:

  1. The perceived self-voting increase doesn't have anything to do with the change to linear rewards, but is purely due to the increased max. vote power making it more practical, and noticeable.

  2. To implement the quadratic voting more appropriately to reduce self-voting (the way the white paper claims to support), the maximum vote power of an account should be proportional to the square root of SP, not the square. So moving to linear was a step in the right direction, but not far enough.

It would of course encourage sock-puppets though. It seems there's no answer to that in an anonymous system.

Is this your thinking or am I still missing the point?

I think you are in the right direction. I am not an expert myself. I just happen to know a lot about the diversity here.

Ideally, an entirely different voting schemea might be what is best.

I love the crab story, but this boils it down for me:

"The entire steem system is founded on the principle that everyone is able to use their vests however they choose to make payouts align with their perception of value."

Excellent post, thanks!

Hell yeah people need to flag more! In my latest data mine of a full month only 0.097% of actions were flags. That's insane, on Youtube people rate everything as fake and gay :p


That is about what I'd expect I guess...

Part of it is how the flag is placed in the page.

And greed obviously, people don't want to lose out on rewards.

You might find my latest 2 articles about the data mining interesting. The second one is the controversial self-voting user list.

I noticed u self voted @kyle.anderson

Nice post though

I sure did!

Welcome to steem! You should try posting an introduction in the #introduceyourself tag. You will get the attention of much more steemians and help you get a boost into the community. Check out @teamsteem's introduction post how to here:

He also has tons of other great posts to help get newbies acquainted with the complexity of steem:

Thanks. I will make an introduction post. But I feel like my writing skills need to develop more before I make an introduction post. I can only introduce myself once so I want to make it spectacular!

I don't think there is anything wrong with a reintroduction but you take as much time as you want before going through. Your writing skills are perfectly fine for a heartfelt intro!

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

Award for the number of comments

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!

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

Award for the number of posts published
Award for the number of comments received

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!

Thank you for informative post.. You are absolutely right.. I follow you.. do follow me @bindu

i have heard that hardfork is just a rumor followed by investors

? What do you mean by this?

Hardforks are no rumors really. There have been 19 thus far on the steem blockchain.

well sorry for misunderstanding i am talking about BTC hardfork :(

Ahhhh well with the BTC hardfork that is complex. There is a group who says they will chain split no mater what. Most of the community is trying to avoid a chain split by following a certain path. Check out my post below for much more information. There is a diagram that shows every different possibility.