A Fork full of Surprises.
To start off, it's reasonable to say this blockchain updating to 0.20 forked us all real real hard. Many users are still a bit disgruntled about the whole situation, rightfully so, and that's including myself. But let's take a look at what really happened here so that we may channel our frustrations appropriately.
What was Changed?
HF20 came with a ton of changes to several moving parts on this blockchain.
The biggest update was made to the "bandwith" mechanism which allows you to transact on this blockchain "for free". What used to be a simple (and arguably very very generous) stake based allocation of "bytes", has been replaced by a rather complex and dynamic "resource" pool calculation.
I was a fan of this idea right away. The noble intentions were to...
… create a system that 1) more efficiently allocates blockchain resources; 2) more accurately measures the true cost of running the blockchain; and 3) enables Steem developers to create more predictable user experiences. [source]
and it was expected
that this new system will have a beneficial impact on the prevalence of bots and spam. [source]
I still believe these arguments are valid and I believe we can expect these ideas to become a reality once the new resource system has balanced out, or as they say: "reached equilibrium".
On top of these new Resource Credits we also received several other changes and tweaks: new account creation protocols, a raised SBD-debt-rate threshhold, more granular voting calculations, a shorter delegation cooldown... So many changes it would probably make sense to write a post looking at the details for each one of them. While I'm not going to do that, I do absolutely recommend you at least check out the full list in this summary on the @steemitblog.
Personally, I'd be likely to agree with most of these, for some I don't see the necessity or benefit (looking at the debt-ratio and account-creation here), but this isn't about my ideology or my limited understanding of things. Whether we agree with the changes or not, we all felt the impact when HF20 hit the fan - multiple times!
What actually Happened?
The introduction of this new code needed 4 hasty patches on the live blockchain and left all or most users locked out of the platform for hours on end.
First there was a version-compatibility conflict prior to the fork's activation. On September, 17th, the chain went into a complete "security-halt", leaving all applications out of operation for almost a day. Not a comfortable situation, but shit happens, right? A quick patch, several hours of re-indexing the nodes, and things went back to normal.
Then came the actual fork on Sept., 25th, and things started to go really wonky. The newly introduced resource logic, as well intended as it was, came with some apparently unforeseen and arguably catastrophic consequences.
First, the system deducted the theoretical resource costs of all historic transactions retroactively. Essentially leaving everyone, except for some very few accounts with absurdly high stakes, deeply in resource-debt and thus completely unable to do anything. Alas, another patch and some hours of re-indexing later, those historic transaction costs were excluded from the calculation and mostly everyone started to see their accounts become operational again.
But still, as of right now, these new resource restrictions are leaving accounts with less than ~100SP essentially barred from properly interacting with the blockchain. The latest patch (0.20.4/.5) is supposed to put a final remedy to this situation and decrease transaction costs by a factor of 10,
but it isn't activated on the network yet and is now active.
Oh, I didn't even mention the voting power drainage that affected anyone casting votes within 5 days prior to the fork, but let's not get nit-picky...
How all of this could have come completely unforeseen, escapes my comprehension!
So what went Wrong?
It's easy to just say STINC forked up, or to simply blame the top witnesses for not giving a fork... but let's be reasonable, none of that solves any problems.
To be constructive, I think at least one thing is obvious - testing and roll-out procedures are begging for improvement.
Yeah, running a full-fledged testnet, simulating a to-scale blockchain with years of transaction-history requires costly ressources. Coordinating community testing and active engagement with big project-owners on the platform is a slow and complicated process... I guess I understand how things like this go wrong if you want to make big steps too swiftly, you stumble...
But steem as a platform with an almost 300 million USD market cap shouldn't just have to faceplant like it did this week. We need to step up the game here, it's time to put up some handrails and safety nets for the future.
I hope this experience will leave an impression on the community.
Some witnesses have stepped up and raised their voice on the matter allready. Theres a very reasonable "ideal-world" checklist for future "Hard Fork Adoption Requirements" and we've been given a gentle reminder that we should actually know better already.
I hope we'll see more commitment and active involvement from the top stake-holder in the future. Some serious projects and great potential is being developed on this platform and outages like we've just experienced not only leave a bad impression on the average user like you and me, they are also financially damaging to those who try to make a real business here.
It's in everyone's best interest to step up the game. I'd love to see a more open consensus-finding process with these releases, maybe don't cram so many features in at once... it should be common sense.
Some positive Results.
The introduction of RCs was rough, but at least spammers should have a tough time in the future.
We will see much less 0.001 spam transactions advertising pointless re-steeming services, less bots farming for random rewards by leaving the same comment over and over. It should free up quite some resources and allow for better scaleability moving forward. I just hope it won't make the plankton-experience a little too frustrating at the same time... the bespoke "equilibrium" will have to tell, but I am sure it'll get there eventually.
Some hints towards the possible idea of RC-markets in the future show the prospect for new economic drivers to push the intrinsic value of STEEM on the platform. I'm a bit sceptical, but yes, the "freemium" model could work.
check your RC balance at http://steemd.com/@yourusername
and if you can spare some to leave a comment, I'd be delighted!
P.S.: One last note - If you're still voting for a witness just because you want to catch a load in their circle jerk, please reconsider!! HardForks require a supermajority of the Top20 Witnesses to get activated on the network, ultimately it's these guys who have to make an informed decision about whether a change goes through or not, affiliate-marketing gurus or profit-centric-altruists won't help, we need smarts and integrity "up there".
P.P.S.: Wow... this post exploded, thanks for all your votes in such low-VP days, really didn't expect that. Anyways, The latest patch (0.20.5) is now active and all major RPC nodes have reindexed (yet again). Small accounts are finally able to do things again... now we'll have to see how this new system fares over the long run.