HF 20 - lessons finally learned?
It's been pretty much exactly 1.5 years since the top witnesses at that time rejected HF 17.
Mostly everyone agreed that going forward we need more releases with fewer, better documented, and thoroughly tested changes. Unfortunately all of this was forgotten after a few weeks, and now it climaxed in HF20.
Today @reggaemuffin wrote a great post defining his requirements to accept future updates. And he's absolutely right with everything in there, it's common sense to not let practically untested changes go into a live network people and businesses rely on.
As myself, he's not in the top 20 though, and thus not in the position to decide if we fork or not (change this here ;) ). I hope the important witnesses will follow his example.
It seems the only way to make Steemit Inc. follow best practices in their processes, is by threatening to halt their efforts if they don't. Some witnesses have been uncomfortable with the release, but there has been pressure from Steemit Inc. to wave it through ("if it doesn't get accepted, this will delay SMT") so in the end there was no serious objection. This shouldn't be possible, thus we need qualifying standards to base the decision on.
So, to condense all this: Please, top witnesses and steemit, don't let that happen another time. Start to take the platform as serious as it is for its users. It can not be a beta any more when you encourage people to build their businesses on it.
Appreciate you saying something. I have voted for you as witness and made sure many others do as well for a long time now. Keep speaking up and being an example.
Bless∞§∞
Good writings about Steem Hard Fork.
They need to get rid of the "beta" mentality as soon as possible. Because anything that happens can just be waved off "remember, it's in beta!"
I've been spending a lot of time trying to figure out the tangled mess that is the witness system. It becomes painfully evident that @freedom / @pumpkin effectively chooses 13 of the top 20 witnesses, because they wouldn't be in top 20 without that vote.
That being said there are plenty of top 20 witnesses I respect and think are hard workers, but accepting this fork was totally irresponsible when they knew there was a negative RC's glitch happening but went ahead anyway.
The testnet that was used for this fork was not adequate because it was mirroring transactions from the mainnet, not a parallel, independent chain... i.e. "total fork rehearsal." I can't believe this is the first time that there's even been a (public) testnet!
Everything seems to be going haywire. My votes and earnings dropped.
Posted using Partiko Android
my voting power is near nothing. lol.
What do you mean by "parallel independent chain" and how it would be better?
Not really, it's just most fancy public testnet (eg. @almost-digital's testnet was introduced over a year ago)
Can't you fork the chain in anticipation of the real fork using some experimental nodes and seeing what occurs if you do a full replay with the new HF rules? In that case, wouldn't the negative RC's issue have been fully evident?
I guess it wouldn't be that great because there would be very few transactions occurring since there would only be a few users on it (whoever was testing) but still seems like it could've at least identified what would occur immediately upon forking. Surely it wasn't intentional to have everyone's voting mana drop to 20%? @steemitblog implied this might have been intentional because everyone's power was "scaled," but I can't wrap my head around why that would be the best way to do it.
Gotcha.
By the way, any speculation on what will happen with posting rewards during the time everyone's VP (or VM) tanked? I was thinking the numbers shown on post payout for things created during this time would increase drastically at the time of actual payout. Shouldn't the rewards pool be the same size as always, thus, everyone's vote ---> 20% meaning the current numbers shown are much smaller than they should be?
I’ve been thinking we may see some upward adjustments start to happen as the week goes on. I think what’s depressing the current payouts right now is that some posts from before the HF are still in the calculation mix. As more of these close out, I’d expect the new posts to climb. That’s why I haven’t stopped voting, just cut my usual percentages in half so I should fully recharge in about 10 days.
Yeah, that makes total sense to me.
Me too.
I think he means that the testnet should undergo the hardfork in a similar way to the real net later, at least that's what I would want
Yes, that's what I meant.
That's the ideal situation and existing public testnet should be suitable enough to catch those problems, but it wasn't. This is the mix between empty testnet and the fully working mainnet (made by injecting some of transactions that are happening on the mainnet). This way we can have reasonably small blockchain with some semi-natural traffic "borrowed" from real mainnet users.
Biggest problem I see is small amount of tools helping in that process. Kudos for @roadscape for his awesome steemd.com and @steemchiller for his awesome SteemWorld.org
Side note, I guess that all that HF20 drama that we are experiencing would be far smaller if we would have more fancy UI/UX with significant gamification:
I felt like that might be the case but didn't want to make a statement on it because I assumed there might be a ton of super-secret-tools that only witnesses knew about ;-)
Absolutely it would! Think how amazing it'd be if there was a whole team at Steemit, Inc. focusing on the front-end experience, always adding new, little "insignificant" things that make people smile and feel good about spending their time here.
I have very little voting power so can't upvote this comment, but would if I could!
This is a very good point I don't think enough about. I don't encourage any normal users to live off steem but for the devs building dapps and various businesses starting, they essentially must.
After hf19 I thought they would bundle less major changes together so it was easier to understand what effects they had on the platform and community (as well as testing) but this one seems to change many fundamentals. It is going to be near impossible to know what has done what now which makes future planning less precise. @reggaemuffin mentioned small forks more often which should be the standard.
Luckily there aren't millions of users on hundreds of apps yet so there is still time to adjust best practices.
While I think you're right, I also think the time to argue about process is when we have a functioning system again.
Are you ready to roll back? If not do you have a drop-dead point when you will support rolling back?
The system is expected to reach its equilibrium in the next 5 days. Rolling back is not an option on a blockchain, we need to look forward.
Which you believe because Steemit Inc. told you so? Wasn't not doing that the point of your post?
We're not approaching a point where users will have minimum basic functionality, we're diverging from it. This is disguised by the fact that nobody's voting, but if they were you'd find hordes of small accounts running out of RCs without being able to use all of their VP, because the number of SP needed to do that keeps rising.
As far as I can tell most of the resource pool balances are increasing not decreasing which means the cost of most transactions in terms of RC is decreasing. The exception being those that allocate state (mostly comments and posts). Those seem to be increasing in cost.
Overall we won't know how the balance works out for several more days.
Finally, it isn't ever guaranteed that small accounts get to use all of their VP, or do much of anything else. By design, small accounts have very limited usage and increasing usage quota comes with increased SP. Indeed, under the bandwidth system, heavy usage meant that many small accounts were locked out entirely from using the blockchain for hours at a time.
Right but what we are seeing now is small accounts locked out from using the blockchain under very light network usage. That is not equivalent at all to small users locked out under heavy usage under old bandwidth system IMO :)
Yes, it is absolutely not the same, it is different. Better? Worse? Those are less clear for sure. It is often a first impression that any change is bad. But is it really?
I'd add that some of these issues are temporary and due to a combination of bugs (being worked on) and transition effects from the switch (will evolve/resolve over time). Some are by design, though.
All this means is that traffic is very low. Which, duh?
So basically your position is it's fine that someone needs to put hundreds of dollars in to have basic functionality? If that's intended behavior I'll be leaving as soon as the exchanges are open.
That is not what increasing pool balances mean. Increasing balances mean that RC prices are decreasing (i.e. each user's ability to interact with the blockchain is increasing, across all SP levels). This can happen at any absolute usage level.
I don't have a position either way in the abstract. It depends on the actual costs of some particular level of usage relative to price being charged for it. This can be attacked in different ways, such as making the blockchain implementation more efficient so it can support higher usage. Just cutting prices and inviting unconstrained usage (for example low-SP comment bots making hundreds or thousands of comments per day as was the case before) with no way to pay for it doesn't sound like a viable approach to me.
Surely you would agree that there must be some SP level where the account can't use all if its vote power, and generally speaking that "low SP" accounts must have limited usage, right? Maybe that is <5 SP, maybe it is <1 SP, or even <0.1 SP, or maybe it is <30 SP or higher. We can't just pull this number out of the air, real resources must exist to support it (including with a much larger user base with many more such accounts).
AFAIK, the RC system was designed on the basis of physical resource budgets (for example, that it is sustainable for the blockchain to grow at ____ MB per day, that ___ msec of CPU is allowable per block, etc.) and then allocating these resources between users such that they can't be exceeded in the aggregate. These are real resource limits upon which the survival of the system rests. Now it is possible there are bugs or miscalculations in the early estimates, and that is certainly being looked at. So we will see what adjustments make sense to make.
The very nature of a freemium system is that basic functionality must be free. Maybe that's "sponsored by @steemit" in the sense of resource usage, but it's not optional unless we're going to a pure pay-for-play model, which is not what anyone said they want, and is not something I believe will be practical in the long-term.
As I pointed out to @andrarchy before the fork, there's a real risk that what we discover under this system is that Steem never really worked in the first place. That seems to be where we're heading right now.
Yes I think we all agree on that. Where we may disagree is on the how to define "basic functionality".
Certainly true to some extent, though the magnitude is less clear. IMO it is better to discover and work on improving any mismatch between expectations or desires on the one hand and reality on the other than to continue to play make believe.
BTW, you may find this interesting on cost trends:
https://steemit.com/steem/@holger80/how-strong-are-the-rc-costs-changing
Doesn't change that we have to work from where we are now
We need to get to a state where this cannot be said again with any seriousness.
It's called hardfork for a reason. Putting more work into making sure that changes are small enough and well tested is better than believing that you can just simply go back to an older version.
In software you can never know that with certainty. We need both. No one deploys "normal" server upgrades they can't undo. We need to bring that common sense here.
A blockchain cannot roll back due to its design.
The software handling it may be able to roll back to some extent but I'm not sure about that extent.
Thus, more testing and better documentation is the only option.
I'm going to prove you wrong in HF21. It is possible with some imagination.
LOL
ok, go ahead
" Rolling back is not an option on a blockchain". Uh... yeah it is... and if the resource credits stabilize at an equilibrium that freezes 90%+ of the actual human owned and operated accounts on the blockchain from normal interaction levels, then it absolutely should be rolled back. Flagged for massive disagreement with the statement and the philosophy behind it.
You can further patch to get back to old behavior, but you can not simply roll back to a prior version without invalidating all transactions since the fork.
thanks for clarifying, had just done some digging myself and realized this. my apologies, flag removed. I thought you were saying this as more of a philosophical statement. sorry. So related question though - if a HF21 was released that had same code as the last stable HF19 release that wouldn't work?
No because the new transactions that exist on the blockchain over the past 2 days, and probably some of the resulting state, would be considered invalid by HF19 code. There would need to be a new hybrid created, and that's a very significant effort.
I guess with the RC system in particular you don't even have to patch or roll back, Stinc built into HF20 the ability to roll back the RC system and go back to prior bandwidth system. From steemitblog post: ""Due to this uncertainty, we added a 'fail safe' to the code that will enable witnesses to revert from the RC system back to the old bandwidth system if absolutely necessary."
In practice that is easier said than done. It requires not only witnesses but (nearly) all nodes in the whole ecosystem to make this change.
Ah... thanks for that clarification. So even if a supermajority of top witnesses made this change, if Stinc isn't on board and doesn't update api.steemit.com for instance it wouldn't work?
Correct. Transactions go through the front end nodes first. For steemit.com users (and indeed many other app users) that means nodes run by steemit.com. If those nodes don't pass through the transactions, witnesses never receive them and they don't go the blockchain.
It was a disaster for the dApps this way... I find it very confusing that on one hand Steemit inc wants the dApps to succeed but they make their lifes very challenging by bad documentation and no beta test environment pre-release.
So far I have not seen any T20 witness with serious answers.
Everything went fine, steem on!
That seems the Motto of the day.
Not one opposed the HF20.
That is a full consensus.
All their testing and review went fine.
What can we low and even lower witnesses do in the future to avoid such major issues?
Testing. There's no need to be a witness to test changes. Of course top witnesses has much better chances for doing that because of their resources (some like me are running plenty of steemd instances), but as you can see, not everything can be predicted and not always tests reveals potential issues. That's what we can and should improve.
https://steemit.com/steem/@inertia/re-ats-david-re-steemitblog-hardfork-20-what-to-expect-tomorrow-20180925t032945094z
I hope next time there will be a real testnet available and not one still running on the last version..
Not much... be more vocal, and hope it's appreciated by those who decide in the background maybe?
If I am vocal, some are complaining, I would always complain.
If there is need in proper service management, I could be of service.
A secret non T20 witness channel to have our own background decisions maybe?
:))
I fear criticism will be hushed down, you are not entitled to say anything.. Or make it better.. Or even, if you don't like it here, why don't you leave it.
But after every release one should look for weak spots, improvements, etc.
What are the next steps towards SMTs?
Any Roadmap there?
That isn't even an argument.. Because is it really better to go with a bad hf20 towards SMTs?
Instead of delay them and work it out?
Looks more like big cooperations behavior.
It kinda came across like, say, Facebook trying to go straight from this:
...to this:
Without anything in between... =)
the issues i have with all these are quite many! :P
First of all the definition of success! If that's what they call successful they need to open a dictionary. It's like they laugh at us straight in our faces like we are stupid or something.
Also, since i came here i followed 3 principles: 1) to write quality posts 2) to write about things that i actually care 3) to interact and help people along the way.
The interaction which is the key for success is nearly impossible especially for the new users that is totally impossible :P what are they gonna do if they can't even make a comment? how the new ones that want to join the platform actually join? (basically you need to pay now)
Another thing i wanna mention is that i believe we have a couple of other things that we need to focus like the extremely old interface that is very difficult to user if you wanna curate manually or check for posts. The majority of users just use busy or steempeak. It's like steemit inc say *"ok don't bother the community will do all the work". the same applies for the older posts reward system. Except the fact that nobody can actually check your older posts manually because he needs to scroll and scroll, it's also from the perspective of the author like these posts don't worth anything after the 7 day period.
What can i say about this? This shows the whole democratic aspect of steemit and the "for the community" type of things... What i am gonna do is take a 2-3 days off and come back when my voting power is over 80% I wanna upvote comments and posts like i used to but i can't.....
Yes, I would have upvoted your comment, but need to wait another day to. I too am concerned about how new people will fair on here if they can't buy STEEM. How many comments will they get to make in a given day with the default allocation?
haha don't worry about the upvote i prefer a valuable comment instead, but follow me follow you back :P(* i am kidding :P*)
I actually saw a post about exactly how many comments etc etc a new person can do. So a completely new person that joins the platform can cast around 1 vote given the current vp but with 100% vp can cast 9-10 upvotes. Ofc those will worth 0$ :P
And as i mentioned above interaction is suppose to be the key to everything especially if you are new in the chaos of steemit were you know absolutely none and have to make a name. The number of comments they can do now is 0 and after the recharge only 2 :P
Oh but remember, this is a decentralized platform, so no one single person or entity controls the direction of the product.
Yeah right! STInc maintains all of the power here, the Witnesses are just for show since STInc shoves what they want down the witnesses throats and they have to say "Thank you Sir, May I have another"
Still the best game in town though I suppose. Until that changes, Inc will keep getting their way.