Are you ready for Hardfork 21 tomorrow Tuesday, 27 August 2019 11:00:00 (EDT)? That includes the whole Steem ecosystem: users, developers, witnesses, investors, bidbots. The major changes in HF21 are the Steem Proposal System (SPS) which will fund projects (development, marketing, etc.) through the inflation. The other is the Economic Improvement Proposal (EIP) affecting the voting/curation behavior. The details are well covered in this post (https://steemit.com/steem/@steemitblog/hf21-sps-and-eip-explained). The voting window will also be reduced to 5 minutes.
On the social side
When HF21 kicks in, the authors first reaction will be:
To me, the main issue with HF21 is the EIP where the author rewards will be significantly reduced. Considering that 10% of the inflation will be allocated to the SPS, then the rewards will be split 50/50 between the author and the curators, therefore:
That's a significant 30% drop to the author. And let's not forget beneficiaries, like busy.org or D-tube for example, if you use such platforms/apps, another chunk of the reward goes to them. The advocates of EIP say that this is not a problem, because the incentive to buy/hold Steem Power and curate will increase, so the authors will get more curators voting on their posts. I'm not sure this would be necessarily true, we'll see how it goes. At this point, nobody can really predict the outcome in human behavior so it's only speculation, whether it's my opinion or another's. Who knows, maybe authors won't get more curators, maybe they'll quit, maybe this, maybe that. I have a hefty amount of SP, I curate a lot, so as a curator I don't mind the extra reward. But I still believe the authors deserve more than 45%!
On the other hand, it's fair to say that the current HF20 conditions have allowed many loopholes and abuses via bidbots, perhaps HF21 will truly bring a change in habits. Bidbot owners will have to readjust, especially that 25% free downvotes (part of EIP) will be in effect. When downvoting becomes more mainstream, it will surely hurt the bidbot business (https://steemit.com/bidbot/@aggroed/dear-bidbots-thoughts-after-the-hardfork).
On the technical side
This is a more important consideration for HF21. If we look back at the painful transition from HF19 to HF20, it became clear that nobody wanted this to happen again. The conditions of HF20 were chaotic, including @ned pushing the release date without delay, not enough testing, witnesses scrambling to test/update 2 weeks before the release, having a major bug 1 week before the release, unresolved scaling issues, etc. It was a recipe for disaster after which @ned blamed the witnesses for the failure! A shit storm if you ask me.
For HF21, things are different. We had a lot of time to test (months ahead). I tested myself by running a witness production node on the testnet; in fact, out of all the witnesses, only me and @gtg have done so!
Furthermore, a did many basic transactions on the testnet, and discovering a few bugs, mainly related to MIRA, after extensive replays with the different
https://github.com/steemit/steem/issues/3342 --> worked out
https://github.com/steemit/steem/issues/3427 --> worked out
https://github.com/steemit/steem/issues/3441 --> patched
https://github.com/steemit/steem/issues/3459 --> might be fixed later
Also, I trust @blocktrades ability to code the SPS part. Their team was funded by Steemit Inc. to develop SPS. I hope they did a good job with it. I'm not a C++ programmer, so I hope they did a good job with it. Besides, having two big teams developing and reviewing the code is a good collaboration.
Concerning MIRA, this is not a HF21 feature per se, it was developed months ago to address the scalability of the blockchain and to significantly reduce the costs of running the network nodes (seeds, witnesses, rpcs). So far so good. In fact, I'm considering running a public RPC node soon, I'm currently testing new hardware for it.
What's missing in HF21?
I wish HF21 would have readded the witness disable feature after missing blocks. Many backup witnesses are missing blocks (abandoned nodes, technical problems, idleness, lost keys, death, etc...) and they will keep doing so because their signing key is still active. In the past, such witnesses would be disabled by the system after 24h of missing blocks. But, at some point, Steemit Inc. decided to remove that feature for a hypothetical security risk. Many witnesses weren't even aware of that change. I think this feature should have been reinstated.
In theory, it's up to the constituents (Steemians) to unvote witnesses who miss blocks too often. But obviously this is not the case, since voters don't pay attention to this technicality. I don't see how to reach out to thousands of voters to be more active about their witness votes, even some whales don't seem to care much about dead witnesses, it's like a set it and forget it vote. It's not fair for the backup witnesses because their turn on the production schedule is diluted by the non-active witnesses.
Witnesses be prepared
As I mentioned, HF21 had plenty of time to be tested. The top 20 unanimously switched to it, this means the HF will go into effect tomorrow. Many backup witnesses have updated, but, there's still a lot on HF20 versions. If they don't update, they will miss blocks in HF21, since they'll be running on their own old fork.
Another important thing to know is that
steemd v20.12 and v21.0 state files are interchangeable, meaning that no replay is required when switching back and forth between them (I tested this a lot). So if any major problem occurs tomorrow, it will be super easy to switch back to HF20. Again, please be prepared for that eventuality and have both versions ready, docker or non-docker.
Happy forking everyone! May HF21 bring a positive change to our beloved Steem.