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 $$$.
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
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 :
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 ]