Who decides the witness ranks and what if we all had only 10 or 5 witness votes


steemd_screenshot.png
steemd.com screenshot of the witness ranking end of July 2019

I came across a post from @jondoe around two days ago:

This post describes the situation around two of the biggest accounts on the chain, pumpkin/freedom and blocktrades, which could be able to control who is a top-20 witness and therefore earning considerably more witness rewards than the lower-ranked witnesses. @jondoe sees a solution for this problem by decreasing the maximum number of witness votes for all accounts, which makes it much harder to control the witness positions of more than a few accounts.

I'm taking the occasion here to take a closer look into the distribution of the witness votes and the possibilities of individual accounts to influence the witness ranks. With a simplified experiment, I'm simulation a situation with a maximum of only 10 or 5 witness votes per account.

Witness ranks and distribution of Vests

The witnesses are ordered by the sum of all Vests (equiv. to SP) voting for them. This is shown in the "Approval" column in the picture above. What counts here is the owned SP/Vests of each voter independent of SP delegations. Users can explicitly vote for up to 30 witnesses or set a proxy to count their own stake towards the witnesses voted by that proxy account. There are basically two ways to have a strong vote:

  • have a large stake
  • be a proxy for a large number of smaller accounts

Here are the accounts with the highest witness vote strength on the chain:
account vests from stake or proxy votes for witnesses
steemit 60477.774 MV no
misterdelegation 37895.208 MV no
steem 22778.685 MV no
pumpkin 18503.634 MV yes
proxy.token 12286.223 MV yes
blocktrades 9688.750 MV yes
theycallmedan 5261.064 MV yes
clayop 4923.253 MV yes
mottler 4617.011 MV no
databass 3500.010 MV no

The top 3 are Steemit accounts that do not vote for witnesses at all. The biggest account voting for witnesses is @pumpkin as a proxy of @freedom with mostly own stake. The second largest is @proxy.token - this is a comparably young witness with only around 600 SP but a large user base, seemingly from the SteemCoinPal/SCT community. @proxy.token reaches around 2/3 of the vote value from @pumpkin. Number three is @blocktrades contributing with again mostly own stake and roughly a factor two smaller than @pumpkin.

Since especially the big account can have a significant impact in the witness ranks, I've broken down the total witness vests into the top 10 (and witness-voting) accounts and combined all others to a common bin. Here are the results for the top 40 accounts.

witness30.png

The contribution of @pumpkin in orange and @blocktrades in green can clearly be seen. There are only 4 accounts in the top 20 that have no vote from @pumpkin. What's remarkable: @pumpkin and @blocktrades have no common votes! I wonder if this is coincidence, of if they both try to balance the situation in the top spots?

@pumpkin contributes around 18 GV and @blocktrades roughly 9.7GV. The difference between place 1 and 20 is around 14 GV. Losing a @pumpkin vote in the top-20 would move the account clearly out of the top 20. And the same the other way around: A witness ranked mid-30 could be lifted into the top-20 with a pumpkin vote. So there is indeed quite some influence possible with such large stake.

How would reducing the maximum number of witness votes change this situation?

With 30 witness votes and witnesses ranked 1-20 earning the highest rewards there is quite some control possible with a large stake. @jondoe's proposal is to reduce the maximum number of witness votes to 10 or 5 to reduce the influence of a single large stake.

I have simulated how the witness ranks and the VESTs distribution would look like with only up to 10 or 5 witness votes per account. The results have to be interpreted carefully, though. I have calculated the VESTs distribution as if every account only had their first 10 or 5 witness votes in place. This is a kind of random assumption, since I cannot know which votes all individual accounts would keep if they had to reduce the number from 30 to 10 or 5. Using the first 10 or 5 is an easy choice for a test run here, but at the same time also the best I can do in this regard.

Here are the results for 10 witness votes:
witness10.png

And for a maximum of 5 witness votes:

witness5.png

Both distributions are significantly steeper than the 30 witness votes case. In both cases it can be possible to stay in the top-20 also when losing a pumpkin vote. On the other hand, getting a pumpkin vote gives a top-20 rank almost for granted.

Conclusions/Findings

  • 30 witness votes to select the top-20 spots provides a strong influence for a single large stake account. The majority of top-20 witnesses have a @pumpkin vote. Losing it means losing a top 20 spot.
  • A new witness account with around 2/3 of the pumpkin vote value has formed with @proxy.token. This account has only little own stake but a strong community for a proxy role. They currently vote only for their own witness. If someone knows more about this project, please leave a comment below!
  • blocktrades and pumpkin have no common witness votes
  • Reducing the maximum number of witness votes would reduce the influence of a single large-stake account. The distribution of vote vests would be steeper than with 30 votes. In the case of 10 or 5 witness votes, it would be possible to maintain a top-20 position also without a pumpkin vote, but a pumpkin vote would lift almost any witness into the top-20.
  • If Steemit would use their stake to vote for witnesses, they could control all ranks in any case, but I see this as rather unlikely...

There is clearly a strong influence from few high-stakers possible. However, I'm still a bit undecided if a reduction in the maximum number of witness votes solves a real problem. Please leave your thoughts in the comments!

Repository

https://github.com/steemit/steem

Tools and scripts

A snapshot of all account states on the blockchain was captured with python and Beem on July 28th 2019. The data was processed with python and plotted with matplotlib. All scripts to produce the above tables and graphs are in my GitHub.


Comments 24


I agree with you. I think less witness votes would lead us to a more decentralized ecosystem.

28.07.2019 20:06
0

Commenting here to show my support for the idea, but since it would impact those who are in control I find it really unlikely this will get support.

28.07.2019 20:18
1

Not sure what would stop those accounts at the top from either spreading their SP around either through new account creation or giving new delegations. I am also curious how much stake is being delegated from the Steemit accounts that are being used to vote for witnesses in that manner. Not saying it is happening, but pretty sure if they were delegating a large amount and asked the ones receiving to vote for this witness or that, they would find cooperation.

28.07.2019 20:45
2

Owner of the stake votes for witnesses or sets a proxy, delegated stake doesn't count for witness voting.

Also by splitting a large account into several smaller ones, you reduce the influence of each account, but you can vote for more witnesses, in the scenario proposed here. The question is: would a whale be willing to do that? There is a higher chance his or her influence won't be decisive if it's spitted.

28.07.2019 21:26
1

Thanks for explaining on the delegation.

I know some of the whales already do split their stake, some among dozens to a hundred bot accounts. Not sure if this would encourage more of that or not.

29.07.2019 22:30
0

You're welcome!

I believe in many cases those bot networks are not created specifically with the intent to control or conceal witness voting. They seem to target the reward pool mainly, or fight flag wars with them.

30.07.2019 06:50
1

Let me propose a counter to the question in play. Let's engage in a thought experiment.

What if @blocktrades and @pumpkin were controlled by the same person or people? After all, as we can observe they don't have any overlapping witness votes so in principle may very well could be animated by the same intent. As such, we can go a step further and assume that for both of them, their voting behavior is orchestrated by software and not manual human intervention. Building bots to do that sort of thing is right next door to trivial.

How would the animating power be lessened by splitting the steak across multiple user IDs? As far as I can tell, it wouldn't. Given that the voting is managed by bots anyway, it doesn't matter how many accounts that SP could or would be spread across, the only important consideration is the sum total of SP/mega-vests controlled.

Would a whale be willing to do that? We've certainly seen evidence in the past that very large stakes have been split across coordinated networks of accounts in order to try and conceal the actual voting volume involved, so we know for a certainty that a whale would be willing to do that.

As such, reducing the number of witness votes is pretty clearly not an impediment at all to individual or group stakeholders who want to control the witness hierarchy. After all, the underlying architecture of the blockchain is intentionally designed to give that power to those who hold the stake.

I think it's safe to say that if the pool of active SP is currently decisive, it wouldn't matter how far it was split, as long as the voting is coordinated that decisive power remains.

Coordination is easy and cheap.

30.07.2019 05:57
0

I agree with what you say with some distinctions.

By spreading the stake across multiple accounts and voting for the same witnesses, whales have accomplished nothing in terms of influence. It's the same. They may conceal this way the fact it's coming from the same account though.

If they do it to vote for different witnesses, then the influence spreads thin, and they can be overthrown by smaller votes acting together.

If consensus remains of 21 and number of votes per account diminishes to 5 or 10, one account cannot 'control' as many witnesses, unless I'm missing something. It may be a good measure.

30.07.2019 06:41
0

That's an awesome thoughts and pulled a hardwork to deliver with statistics. I believe yes , decreasing the witness votes will be great idea. I agree with that decrease the large stake influence But it's also effects the low ranked witnesses who are running the block chain with minimum profit or returns. The decreasing of witness votes will discourage or leave them hopeless.

But there is another great way to counter this problem.

Expiry of witness vote

Yes, after every period of time, the votes of a member should be expire and again he need to vote. So the witnesses are in constant check and attentive about the votes. If the top 20 witness is inactive on chain, people don't vote for him again. So there will be regular events by witnesess showing their work to block chain members and urging and reminding about the importance of the witness vote to people.

Posted using Partiko Android

28.07.2019 20:45
1

But it's also effects the low ranked witnesses who are running the block chain with minimum profit or returns. The decreasing of witness votes will discourage or leave them hopeless.

Good thinking, I believe! That might be a collateral unexpected effect.

28.07.2019 21:35
0

I have simulated how the witness ranks and the VESTs distribution would look like with only up to 10 or 5 witness votes per account. The results have to be interpreted carefully, though. I have calculated the VESTs distribution as if every account only had their first 10 or 5 witness votes in place. This is a kind of random assumption, since I cannot know which votes all individual accounts would keep if they had to reduce the number from 30 to 10 or 5. Using the first 10 or 5 is an easy choice for a test run here, but at the same time also the best I can do in this regard.

You are right, there is no way of knowing which votes one would keep. But certainly there would be some restructuring of the top. The collateral part is it will affect backup witnesses as well, as @hungryharish remarked in his comment.

28.07.2019 21:40
2

Yeah @gadrian. This can solved with expiry of witness votes or making people realize how much important the vote for the blockchain. Decreasing votes will kill the enthusiasm of low ranked witnesess who are in hope one day they will be in top.

28.07.2019 21:50
0

About expiration of witness votes, that might be... problematic. Because this involves changes into the blockchain code that requires cycling through every vote for every witness and seeing if it expired or not. And doing that as a relatively regular interval. That imply higher resource demands (especially CPU) regularly. Which kinda goes against what MIRA is trying to do. At least that is as far as I understand it, without being a witness or knowing the insides of the Steem blockchain.

28.07.2019 22:17
0

That's an excellent point. Hope what really is best in this issue will be decided. Whatever it is it's in hands of the witnesess to decide again.

28.07.2019 22:33
0

What we have is failing to thrive,...

28.07.2019 21:41
0

There's absolutely no problem, and it's obvious that this proposal will never go through because there are no scenarios where those stakeholders could undermine either the witnesses or the infrastructure, plus what people are trying to solve is "large stakeholders have large influence" as if holding ever more influence isn't the name of the game.

umm but they have "too" much influence

-somerandowithoutanystake

28.07.2019 23:58
0

What about stake based witness voting, so vest / n where n is number of eitnesses being voted for? You could also not divide for 3 or something.

Posted using Partiko Android

29.07.2019 06:50
0

This is a serious problem and it would be great if our witnesses actually gave a shit about this. Nine months ago I wrote this and got pretty much no responses from witnesses...top-20 or otherwise.

https://goldvoice.club/steem/@ats-witness/steem-witnesses-vote-number-and-decay

29.07.2019 16:01
0

You have been rewarded with some SHIT! Take a trip to the bathroom to stake and manage your worthless tokens.
29.07.2019 16:03
0

Hi @crokkon

Thanks for another contribution to @utopian-io - 2 in quick succession before we go on a break!

Having read this through a couple of times, I keep getting drawn to:

There are only 4 accounts in the top 20 that have no vote from @pumpkin. What's remarkable: @pumpkin and @blocktrades have no common votes!

I guess we'll never find out if there is some sort of balancing act going on here, but it's interesting to speculate.

Reducing to 10 or even 5 votes does seems to offer up more opportunity for more witnesses to reach the top 20 - this could be seen as a positive or negative feature depending on who you speak to. Some would argue it more fair, and some would say it is more of a security risk.

As it stands, 2/3 accounts basically decide who's in the top 20, and that doesn't sound ideal. Anyway, very nicely explained as always.

As a semi-pointless aside, @pumpkin reminds me of something I read a while back which seems like the reasoning behind the name?

Once users make a specific number of transactions using a cryptocurrency, the computers group these transactions into a “block.” In order to send a block, adding transactions to the blockchain and winning a monetary reward, a computer has to solve a complex math problem called a cryptographic function.

Basically, the cryptographic equation is throwing a pumpkin (the block) off a building and telling you what the splatter pattern looked like. The only way users can match the splatter pattern — and send the block — is to hurl a bunch of pumpkins off a building themselves. So people who “mine” cryptocurrency are actually just using their computers to smash billions of pumpkins in order to find the winning pumpkin with the right splatter, which validates their block.

https://futurism.com/cryptocurrency-future-money-bitcoin

Not just a random vegetable choice after all?!

Cheers

Asher

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

30.07.2019 18:43
11

Hey, @crokkon!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

31.07.2019 08:13
0

honestly i find it hard to even use up my 30 witness votes and only select decent witnesses

26.02.2020 11:20
0

I don't have all 30 slots filled either. But I think that's OK, the most important thing is to vote at all. I try to keep my list updated and remove/replace inactive witnesses from time to time. Thanks for the resteem!

26.02.2020 15:27
0