Is the Steem ecosystem in disequilibrium? (Part 1 – Witnesses)

in #steem6 years ago (edited)

Hi Everyone,

witnessTHUMB.jpg

Steem witness discussions have heated up regarding the Steem ecosystem and distribution of rewards. @cervantes summarised the views of the top ranked witnesses in the post ‘Witness consensus status to fix the actual steem’s economic flows (ENG)’. In this post, a number of proposals were discussed to improve the flow of rewards. This post was partly in response to ideas suggested by @kevinwong and @trafalgar in the post ‘Understanding Steem's Economic Flaw, Its Effects on the Network, and How to Fix It’. This was not the first post proposing changes but is the catalysts for ongoing discussions.

I would like to, initially, take a step back from offering any solutions but instead look at some of the perceived problems with the Steem ecosystem and reward distribution. There are several ways of earning rewards on Steem. I will simplify these into five categories. Content creation, content curation, applications and services, witnesses, and passive income. All of these categories obtain rewards from the increase in supply of Steem also known as the rewards pool.

The right incentives need to be in place for the right balance of activity. All five areas are important for different reasons.

My approach

VENOM.jpg

I am putting together a five part series that investigates the operation of the Steem ecosystem. I will be investigating some of the problems with ecosystem in terms of rewards aligning with desired behaviour. The five parts to this series are as follows:

  • Part 1 – Witnesses
  • Part 2 – Content creators and curators
  • Part 3 – Applications and services
  • Part 4 – Passive income
  • Part 5 – Combinations of solutions

Witnesses

WitnessCLOWN.jpg

Witnesses receive 10% of the newly created supply of Steem with the top 20 witnesses getting the largest share. The top 20 witnesses have the most responsibility.

Witnesses are generally expected to manage a reliable block producing node, implement a failover system, maintain a public seed node, tune blockchain operating parameters, publish correct price feeds, author/discuss improvement proposals, review code changes, and to be active. Some contribute to core repositories such as steemd. Some fund the development of other apps and infrastructure projects

To read more about the roles and responsibilities of the witnesses go to ‘steemd.com’. This page contains links to each witness’s proposals and the value they intend to add to the platform.

Every Steem account is given a maximum of 30 witness votes. The weight of the votes are based on delegated proof-of-stake (DPOS). DPOS includes proxied vests from other accounts. For example, Bill has 100M Vests and Bob has 50M Vests. Bob decides to use Bill as a voting proxy. Now Bill’s witness votes are weighted at 150M Vests.

Are there any problems with the existing system?


Steem has a high concentration of wealth with just a few accounts. Many of the accounts with most Steem Power opt out of selecting witnesses. See the table below.

TOPVESTS.jpg

Source Date: 30/10/2018

There are three accounts with very high DPOS that participate in voting for witnesses (@pumpkin, @blocktrades, and @clayop). Two of these accounts rely heavily on proxies (@pumpkin, and @clayop). The lack of participation from other accounts with high Steem Power results in the accounts participating gaining more power and potential control over witnesses. Table 1 contains the ranking if the @blocktrades and @pumpkin did not participate in voting.

TABLE1.jpg

Where:
Rank1 = Rank if @blocktrades, and @pumpkin did not participate in voting

If @blocktrades and @pumpkin did not participate in voting, the top 15 witnesses remain in the top 20 and the five witnesses (16 to 20) would fall out of the top 20. The changes are not particularly dramatic. The bigger problem is the influence @blocktrades and @pumpkin have over individual witnesses. Only the six accounts highlighted in green would remain in the top 20 if @blocktrades and @pumpkin removed their vote from them. The accounts highlighted in yellow would remain in the top 20 if @blocktrades did not remove his vote.

For example, if @blocktrades and @pumpkin removed their votes from just @gtg, @gtg would drop from number 1 down to number 22 (out of the top 20). For example, if @pumpkin removed his/her vote from just @aggroed, @aggroed would drop from number 6 down to number 22 (out of the top 20). @pumpkin could give that vote to witnesses as far as down as number 32 (@reggaemuffin), which would push that witness up into the top 20.

The @pumpkin and @blocktrades votes also provide greater exposure to witnesses as their names appear higher up the witness list. Therefore, the names of these witnesses are the first names people see when they go to cast their votes. Being higher up on the list may also create the perception that a witness is more deserving than another witness who is lower on the list thus producing uninformed votes. The extent of this problem is difficult to determine.

In Table 2, I have included the effect of removing the @clayop witness vote.

TABLE2.jpg

Where:
Rank2 = Rank if @blocktrades, @pumpkin, and @clayop did not participate in voting

Even though @clayop uses all 30 witness votes, there is very little change to the top 20 witnesses. The significant point to note is if a witness is not supported by either @blocktrades, @pumpkin, and/or @clayop, they cannot get into the top 20 without significant changes in voting of other large stakeholders. @blocktrades could be considered the only possible exception because of control over his own vote.

As @clayop is a proxy for many accounts, these accounts should be able to easily remove @clayop as a proxy, which is therefore a deterrent for selecting witnesses that are not in accordance with the wishes of the accounts proxying votes to @clayop. Whereas, @pumpkin is the witness voting proxy for @freedom. @freedom's stake accounts for more than 99.9% of the weight of pumpkin's vote.

Multiple witness accounts

SPIDERMEN.jpg

All users on Steem have the right to anonymity that includes witnesses. It is possible that one person could have multiple witness accounts. It is possible that one person could have more than one witness account in the top 20. The lack of transparency and infrequent engagement with the community by many of the witnesses creates the perception of inactivity or even the possibility of operating multiple witness accounts. There are many witness accounts that do not contain up-to-date information or links to where information can be found regarding their current activities/projects. Could these users have multiple witness accounts?

Defining the problems

YODA.jpg

Just a few accounts have positioned themselves to dictate which witnesses have the most influence. This puts the top witnesses in a position where they only need to please these few accounts to maintain their position in the top 20; this has led to complacency for some of the witnesses.

Very popular witnesses that do not have the support of these few accounts are unlikely to get into the top 20. This a strong disincentive for them to perform. It would also be considerably more difficult for one person to have multiple witness accounts if they needed to provide frequent evidence of activity.

Another problem is the attentivity of @blocktrades, @pumpkin, and @clayop to the activities of the witnesses. @pumpkin continued supporting some witnesses for many weeks after they disabled their witness accounts.

Possible solutions

SMARTmind.jpg

This series of posts is intended to define problems but I would like to briefly discuss how these problems could be resolved or at least mitigated.

Witness vote expiry or vote decay


This solution proposes that votes are removed or lose value over time, therefore votes are required to be recast to either maintain the vote or retain the weight of the vote. Both vote expiry and vote decay would result in witness votes being removed if they are not recast within a particular time.

This approach has several advantages. Account holders that are no longer involved/engaged in the platform have reduced hold over witness positions. Witnesses are likely to be held more accountable for their performance as they require recast votes to remain in the top 20. New witnesses should have greater opportunity to perform, as stakeholders will more frequently need to reassess their voting options.

This approach has several disadvantages. The problem of a few powerful accounts controlling witness voting will not change in the long-run. Every time the votes are recast, the same witnesses could return to the same positions if the stakeholders are merely going through the motions of voting. It is possible someone will devise a method of automating witness voting, if this happens, vote expiry or decay would become redundant. Vote expiry or decay could also result in more people delegating to proxies, which could cause more centralisation of control.

To learn more about the advantages of witness vote decay read the post ‘Why I’m in favour of witness vote decay’ by @teamsteem.

Decrease the number of witness votes per account


Currently each account has 30 votes, which is greater than the 20 positions, which hold the most power and responsibility. Any account with sufficient DPOS (i.e. @pumpkin) can potentially have substantial control over the witnesses. For example, if the number of votes was reduced to 10, an account could only have substantial control over half the witnesses instead of all. A user could divide their wealth over two accounts to vote on 20 witnesses but the DPOS would be greatly reduced and therefore the level of control. Redistributing the responsibility of the top 20 witnesses to more witnesses would have a similar effect.

Decreasing the number of witness votes could negatively impact new witnesses as accounts have less witness votes to distribute and they might focus on witnesses they are familiar with or believe to be more critical to the platform. This approach is also inconsistent with guidelines outlining DPOS consensus.

Voting against witnesses


Voting against witnesses could add an interesting dynamic and possibly hinder any account from controlling all the top witnesses. If an account tries to obtain what is perceived to be too much control, other stakeholders could vote against these witnesses. Voting against witnesses can also be used to punish poor performance or misdeeds such as witness vote selling.

Large stakeholders could also use voting against witnesses, as a method of keeping particular witnesses from ever getting into the top 20, which could worsen the existing system. However, bias against particular witnesses should become apparent from observed behaviour. Voting against witnesses could also create additional conflict between stakeholders and witnesses.

Ranking witnesses


Another approach that could prevent any account from gaining too much control over witnesses is to use ranking rather than voting. Instead of just voting for 30 witnesses, a stakeholder could rank as many witnesses as they like. The number one selected witness would receive the accounts full voting weight. The number two selected witness would receive a reduced voting weight, X% less than the number one selected witness. The number three selected witness would receive X% less than the number two selected witness and so on. This approach could provide incentive to witnesses to improve their ranking. Voting does not convey the message of which voted witnesses are preferred over others; ranking would provide this feedback

This approach could be quite confusing for many users, which could result in more proxy voting.

The other large stakeholders can resolve the problem


The problem could resolve itself. Other large stakeholders could support alternative witnesses if the @pumpkin witnesses are not performing well. Several large stakeholders have not voted on witnesses. These stakeholders could start voting to dilute the power of the large stakeholders that are currently voting.

Letting problems sort themselves out is the simplest approach but also depends on other stakeholders taking action on their own time. This could be a long time and there are no guarantees. However, there are no guarantees regarding any solutions, as the success of any proposal is dependent on how users respond.

Combination of any of the above


The best solutions are often a combination of solutions working together. Witness vote expiry or vote decay would work well with most of the proposed solutions in this post. Ranking witnesses and voting against witnesses are incongruent to each other. Voting against witnesses could be combined with reduced witness votes.

Conclusion

END.jpg

This brings me to the end of 'Part 1' of the series. The problems identified relate more to potential problems of larger accounts controlling the top 20 witnesses rather than observed current problems. If @pumpkin and @blocktrades did not participate in voting, only 5 of the top witnesses would change. The potential problem of these accounts being able to remove almost any witness from the top 20 as well as prevent any witness from entering the top 20 is the greater concern. At this point, it is unclear if that has been attempted by these accounts but it could easily happen.

Thank you for taking the time to read this post. I would appreciate your comments, feedback, identification of any other potential problems with the existing witness arrangement, and any other possible solutions.

Brand2018.gif

Sort:  

I support Ranking of Witnesses.

Automation of voting can render vote decaying useless.

Vendetta will be introduced with Voting Against Witnesses no matter how people try to bullshit you into thinking "it's not personal, it's business". Fcuk that. It's always personal. It may start off as just business but it always snowballs into something personal. All the flag wars we've recorded on this blockchain proves that.

Honestly don't see the disadvantage of Witness Ranking.

Thanks for your feedback @holybranches. I had a hard time thinking of any weaknesses with witness ranking. I guess the difficult part would be determining the weight of each rank. Software could be used to trial the effect before implementation.

Voting against witnesses could cause quite a bit of chaos .

I think that solution is

  1. Any steem account should have only 10 witness vote.
  2. If any steem account reached top 20 witness than he can only cast one witness vote (witness vote for self or other). Only one witness vote for top 20 witness.

I used 10 votes as an example as that is half of 20. Therefore, no account could control more than 50% of the top witnesses.

I have not thought about your suggested part 2. Do you think you could elaborate on how that would be effective? I generally don't feel comfortable with implementing different rules to different accounts. Also, how would you stop a witness from proxying to one of their alt accounts?

There should come an immediate and indefinite STOP of producing NEW STEEM.

Inflation rate : ZERO.

That would maybe cause them to pull their head out of their arses.

Most of them have completely lost contact with average Steemit creators and curators.

That is a pretty radical idea. That is like declaring a state of emergency on Steem. I hope we haven't reached that stage yet.

We would have a similar effect If every account 100% self-voted. There would be no incentive to create good content. Rewards and behaviour need to align, if this can be achieved we should see improvements.

Looks bold and splendid :-)

As a follower of @followforupvotes this post has been randomly selected and upvoted! Enjoy your upvote and have a great day!

Hi @spectrumecons!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.542 which ranks you at #1832 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 348 contributions, your post is ranked at #130.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers appreciate your great work!
  • Try to improve on your user engagement! The more interesting interaction in the comments of your post, the better!

Feel free to join our @steem-ua Discord server

Hi, @spectrumecons!

You just got a 5.17% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.