Rethinking the Witness Ranking

The Current State

Numerous webpages like https://steemd.com/witnesses (one of my favorites), show a listing of the top 100 witnesses. Why 100? Because in the Steem API, the method get_witnesses_by_vote will only return 100 results at a time. It's a quick method that returns all the details that you see on steemd.com. To list additional witnesses, we need to do further queries with get_witnesses_by_vote with a little bit of looping. The method doesn't return anything past the ~400th entry. Nevertheless, it's pretty much sufficient for our needs.

So, currently if we look at the top 100 witnesses, 21/100 are disabled, most of them permanently. Furthermore, the top 200 have even more disabled witnesses, as seen on https://steem.bitcoiner.me/schedule/?c=show200. Witnesses with a virtual_scheduled_time diff of 414946128843935060135339 are not scheduled to produce blocks.

Furthermore, the witness voting page https://steemit.com/~witnesses lists witnesses without any indication of their active or inactive status (and for how long they've been inactive). This can mislead users in their voting, which still happens. As an example, @arhag decided to stop witnessing few weeks ago, after a long and solid history of witnessing. Unfortunately, he didn't make any official announcement about it in his blog, so people are still mistakenly voting for him because he's listed in the top 50!

My Solution

In my own attempt to list the witnesses, I created this page recently https://steemian.info/witnesses. It shows the active witnesses under the following conditions:

  • Must be running HF19 (0.19.0 or higher). Any nodes running old forks do not get scheduled to produce blocks.
  • Signing key is different from STM1111111111111111111111111111111114T1Anm, i.e. active.
  • Must have produced at least one block. This is relevant to new witnesses and is necessary for their version to show up on the blockchain, otherwise their version is 0.0.0, so practically speaking, they're not active yet.

Here's a screenshot of what it looks like. You can sort the columns by clicking on their header.

(I added a separate table for the inactive witnesses at the bottom of that page.)

With those conditions in mind, and after querying the top 400 witnesses, we find that only 94 are truly active, while 21 are disabled. For instance, my friend @sircork is listed as rank 88, but effectively he's at rank 77. That's a significant difference which can be psychologically encouraging 😃

I think it's important to separate the active from the inactive witnesses. Thus, when users want to vote, they can focus on who is active and not be distracted by the disabled ones. By doing so, confusion is eliminated and the votes aren't wasted. @lukestokes and @netuoso often blogged about wasted votes.


Logo 2 Steemit-200x200.png
Check out Steemian.Info, the concise information resource about the Steem blockchain



Are you a visual artist? Join the Steem Artists Guild.
We are on Discord at https://discord.gg/CY9u65g

Proud member and delegator of the @minnowsupport project.
Join us on https://discord.gg/GpHEEhV

MSPPAL


Follow

Available & Reliable. I am your Witness. I want to represent You.

🗳 If you like what I do, consider voting for me 🗳

Vote

If you never voted before, I wrote a detailed guide about Voting for Witnesses.

Go to https://steemit.com/~witnesses. My name is listed in the Top 50. Click the upvote symbol.

Alternatively,

with cli_wallet : vote_for_witness "YOURACCOUNT" "drakos" true true
with steem-python: steempy approvewitness drakos --account YOURACCOUNT

H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
27 Comments