Five Ways to Fix the Witness System

in #witness6 years ago

Yes I have used the word 'fix'. I might have used 'improve' instead.

Fix implies the system is broken. Many will say it is not broken so it doesn't need to be fixed.

Indeed for the first of the the witness roles - to approve the blocks - the system is working (at present).

But it is the second part of being a witness that I am more concerned about.

That is the voting on the hardforks for changes to the steem blockchain.

They are important, they can be critical, but alas they are all too rare. In fact in my 10 months on steem I have only ever seen one - Hardfork 19 - some many many months ago now.

As we all know witnesses are voted for by the steem community. That voting of course implies some sort of 'democracy'. It is that part of the witness system that particularly blows my whistle.

Before I go further I will address one likely, if not inevitable, commentary on this post. Who am I to say what needs changing?

What gives little ole fox-head Pennsif the authority or audacity to speak up about such things he surely knows little about?

I am not a witness, I am not a whale, I have not been steeming since the beginning of time, I do not run a mighty Discord server that every living steemian has signed up to.

I am a concerned steemcitizen. I am on steem every single day. I have invested a not insignificant amount of money in steem. I do talk to a lot of people on the blockchain. And I do hear what they say.

That is where my qualifications to speak up begin and end. I have no representation. But I am sure I am not a lone voice. And I am sure others share at least some of my views.

So here are my prompts, my suggestions, my ideas, my offerings. Take note of them if you care. Take action on them if you can. Downvote them if you must.

In no particular order...



1. Display all active witnesses on the Steemit witness page not just the top 50

It is absurd to only show the top 50 on this page :

It clearly doesn't give everyone an equal chance of gaining votes. It is like having a ballot paper with only the three main party candidates on the front and all the others in tiny writing in the small print on the back.

And it is easy to fix as I understand - it doesn't even need a hardfork.


2. Remove inactive witnesses from the list after 3 months

There are I am sure numerous reasons why witnesses become inactive. Some legitimate, some temporary, some permanent.

I suggest a 3 month period of grace before removal for unavoidable issues for example technical or health issues. That period could be less but certainly not more.

Inactive witnesses are 'clogging up the system' and stopping others moving up. They should be removed and their votes returned to their supporters to use again.

If someone is inactive and does want to return after the grace period they of course can - but they start over again.

I don't know the exact tech or coding required to action this but I am pretty sure it is not groundbreaking and I can't imagine it requires a hardfork.


3. Make votes only have a 12 month validity

In any normal democratic structure an elected official is only elected for a set period of time.

When we elect a representative they don't stay in office for ever - except in a dictatorship, but I am pretty sure that is a most inappropriate term for the steem blockchain isn't it?

So you would make your 30 votes and every time one of those reaches say 50 weeks you receive a notification to tell you that vote is expiring. It could be made easy with a 'click to revote for the same witness' option, or not.

Or if you want to go cheapskate on the coding changes don't even bother with the notifications just let them expire. It could then be left to the witness losing the vote to communicate with you for the revote (if they consider you important enough).

This change will need some coding work but this one I am sure is not rocket science.

Will this one require a hardfork? Fill me on that please.


4. Enact the promised changes to the memory requirement issue for witness servers

Witnesses have just had to upgrade their servers to 64GB RAM.

This has more or less doubled the costs of running a witness server. Coupled with the continued fall in the steem price this is making the economics of running a witness server (outside of the top 20) ever more difficult.

Inevitably this is seeing witnesses drop out on cost grounds.

I believe the previous upgrade to 32GB only took place at the beginning of the year, and I hear suggestions that unless blockchain activity reduces significantly then another upgrade to 128GB will be necessary in only a few months.

If there is no significant recovery in the steem price that could see many more witnesses drop out.

There are currently around 120. Would it matter if that number fell to say 70?

I understand steemit inc have a solution in hand that was mentioned at steemfest2. I was reassured / surprised when @andrarchy seemed to downplay this issue on @aggroed's witness forum yesterday. He suggested witnesses are overplaying the issue and he promised a solution is coming soon.

Good stuff, but promises don't keep the wheels turning. Actions do. Bring it on steemit inc - the witnesses are waiting.


And I will leave the juiciest one til last...

5. Change the Vote Weighting algorithm

In a 'normal' democracy there is the rule of 'one person, one vote'. In the right-on decentralised world of steem we have the rule of 'one dollar, one vote'.

Imagine how that would play out in the Big Bad World Out There...

"Hello Jeff, who would you like to be president this time?"

"Hold on, I'll call Bill and Warren and some of the guys at the club to see who they fancy this time round?"

"By the way, who did Carlos pick for Mexico?"

For sure, I hear you, the big players who have a big stake in the game deserve to have a bigger say in who makes it to the Top 20 witness spots.

Deserve... that's a funny word.

I don't feel I need to labour the numbers game on this point - just take a peek here if you don't know the story...

Spot anything odd?

With SP-weighted voting you really, really, really need the support of at least one or two of the big hitters to reach the Top 20. And it is only the Top 20 that make the hardfork decisions and earn the big $$$.

It's as easy as paint-by-numbers to see the patterns - if you ain't got the support of @freedom / @pumpkin , or @blocktrades, @ranchorelaxo, @thejohalfiles you ain't getting on the boat.

I haven't worked the numbers right through but I think it is close to a mathematical impossibility to reach the top 20 if none of the big hitters like the colour of your shoes.

Is there a solution? Of course, there is always a solution.

Is there a solution that everyone will like and everyone will accept? For the good of the platform there needs to be.

We can wiggle and we can jiggle with the algorithm but here's my starter for 10.

One person, one vote alas isn't going to fly for many a year.

So let's try some form of capped weighting method.

Maybe the weight of a vote is calculated on some combination of :

  • account age
  • steem power
  • voting activity and diversity
  • posting and commenting activity
  • reputation

Stick on top of that the big fat limiter that only SP up to say 200,000 SP counts. That would clip the wings of about the top 100. But if they are actively playing the game they would still have a pretty say on who sits in first class.

Anyone think has got merit? Is it worth exploring more?



So that's my offering.

I do have five more suggestions but I will save them in case I live another day.

This post has been inspired by my love of the platform, my growing despair for its future, and listening, talking and reading with the likes of @ura-soul, @nairadaddy, @shadowspub, @starkerz, @beanz, @sircork, @enginewitty, @ancapbarbie, @guiltyparties, @thekittygirl, @nnnarvaez, @patrice, @valorforfreedom, @bluefinstudios

If you want to see the whole list of witnesses check out @drakos's list :

@shadowspub is hosting a witness forum on the Steemit Ramble Discord on Saturday 21 April at 3pm UTC. That should be a good one.



I hope I get interest in this post, and maybe even support.

If the coins flips and lands on its edge it might even get action.

More likely it will fall over and I'll get a good kicking in my tails.

I can always goeos spin another coin in another place.

In the meantime I will just go feed the chickens and plant potatoes like any good homesteader should do.



You might also be interested in some of my other posts :


[ graphic by @pennsif ]

Sort:  

Hey @Pennsif,
Boom!
Is this the best post for today or what?
I second everything you have said here.

I haven't worked the numbers right through but I think it is close to a mathematical impossibility to reach the top 20 if none of the big hitters like the colour of your shoes.

The problem is that when we write all these things, I still wonder whether the guys that can fix it do read it.

Or they rather turn a blind eye and continue whatever it is they were doing before?

ANyway, lets keep pushing.

1 steemian, 1 vote!

Thats the way it should be for this system to survive longterm.

Cheers man!


RESTEEMED!

Thank you for the support and resteem @NairaDaddy.

Yes the question will be whether the people who can, will.

Fantastic @pennsif! Fills me with a great sense of accomplishment knowing that people are caring and listening. I've been seeing more posts come out in support of several changes and I really like the structure you have up there. I'm actually going to bookmark this article and refer back to it in the future if you don't mind :)

Hopefully the momentum will build to #fixthewitness.

Feel free to refer to the post anytime.

Great concept, now we need to decide if the community wants a route to practical implementation...

That will be the big question.

There is always room for "improvement". As with anything, some maintenance is needed to keep things running at peak performance. To build something and then just let it ride is never a good thing. You have made some very valid points. Let see where the coin goes...

Yes it will be interesting to see if anything changes...

Who is @andrarchy?
Oh yes, the community liaison, that doesn't communicate.
The witness system is rigged, we al know this.
TOP20 are downplaying it, because they profit from it.
And without them, we will never have a chance, to get any change rolling.
My witness node has 100GB, 128GB would be very difficult to pay for at my #134 spot.
It is as if they want a centralized system..

The economics of being a witness are tricky and I suspect they may get trickier.

You aren't wrong...

I would add that it should be, for a public decentralized blockchain, normal that the TOP 100 witnesses can earn enough to keep their activities. One easy way is to add another backup position. It shouldn't cut the TOP20 rewards much (btw I don't understand the need to drastically cut their earning).

The main problem of a voting system is users awareness and apathy. The engagement has increase the last couple of months but we need a better percentage of active users voting.

Good points worth discussing further.

With SP-weighted voting you really, really, really need the support of at least one or two of the big hitters to reach the Top 20. And it is only the Top 20 that make the hardfork decisions and earn the big $$$.

Im really wondering if my vote is worth anything at all, what is the point in me voting what difference does it make??

Every little helps... and at least numbers of votes demonstrates widespread community support.

The points are valid, and the solutions seem so sensible.

Which probably means they'll never be used. :P

Great article and solid ideas... except that one I disagreed with. Nice to discuss it all with you live on the show today. Cheers mate, I appreciate your support.
<3

Four out of five isn't bad.

I would add to this that it would be good if we had an idea what is important to each of the witnesses for the site. That way we'd have an idea of who we actually want to vote for. What is their campaign, so to say.

Yes, totally agree with that idea.

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63815.31
ETH 3124.40
USDT 1.00
SBD 3.99