With HF20 Now Live, It's Time for a Look at the Process: A Statement From One of the Consensus Witnesses

When our block producing duo (@followbtcnews and @crimsonclad) started out on the Steem blockchain more than a year ago, we didn't come specifically here to pursue becoming a top twenty witness. The blockchain drew us in; we started talking about the potentials, the help we could give, and the exciting times ahead for what has been building over the last two years in the Steem ecosystem. Once we started witnessing, as we moved up, we worked harder with the expectation that we would move where we needed to move as long as we kept participating in the system and giving back what we're best at. That has definitely worked for us, culminating here and now in the first few days after a long awaited Hardfork — our very first as witnesses, and part of the consensus to boot. I think, given the implementation being very rough, that it's important for us to talk about the process and the expectations we have and that are placed on us, and how those can be improved in a way that means the next Hardfork goes more smoothly.

Most importantly, we both think that given we have a direct hand in voting for code changes, that when they cause confusion and frustration it's important to let you know that we hear you, and we understand the criticisms and concerns from all parties involved. When things can't go perfectly (or even a baseline well, in this case) saying that we're sorry for that, and showing you where our focus and goals lie is a critical step.


Now, both of us agreed with and wanted to see the ideas and capabilities of the code in HF20 implemented, and we stand by that. But the first takeaway that we'd like you to get from this post is not just that we spent a few weeks pouring over things and picking things apart and trying to break things. We're happy with that portion of the expectations of a witness and what we put in, but doing enough isn't always enough, and each time we'll push to do more. We used the testnet, and the testnet condenser as 'regular' users. We spun up nodes to connect to it as non-standard users. We put time into scanning through the code, pulling out the key parts and working to match that up with what we could do and what we understood was supposed to happen. It would just be pretty crappy of us not to pass on what we've learned and not to take any lumps for being a part of all of it, either. So this leads us to putting down all of the expectations in a post that expresses them clearly to the Steem ecosystem.

What will we expect when adopting a Hardfork?

  • Since most code is not community developed at this point, detailed documentation for big changes that require extensive source code knowledge
    • figuring out the gist of syntax for most languages is possible. Figuring out what functions do and then testing the hypotheses against the testnet can be done without being able to "write" Steem source code. Since we're not at the level of developing core blockchain changes from scratch yet, having better documentation on the purpose of code or the reasoning behind it means more time can be spent trying to break it armed with a better set of weapons.
  • A testnet where a large user subset is live at any given time, on top of mirrored mainnet transactions
    • we had a testnet with mirrored transactions from the mainnet being fired in by the gatling process. The missing element here is more than accurate usage based on transactions, but many more live users all acting normally and irrationally with the true intention of trying to smash it.
  • A timeline of testing on testnet between 1-2 months minimum
    • the testnet was up for less than a month all told with the way the simulations worked out. More people needed to know about it, but given that things found on testnet also need to be further explored and then patched, we're not totally convinced one month is enough given the possible enormity of changes.
  • A goal of fewer major changes per Hardfork, and potentially naming/producing them in more modular ways
    • we wanted all of the changes encompassed in HF20. It's been more than a year since the last, and the HF20 package was large. Moving into the Hardforks to come being able to more quickly check over and start testing changes is important. So is making it more possible that delaying mainnet launch of key features for additional testing time as bugs are found doesn't result in slowing or even halting the overall community roadmap. There's absolutely a sense of pressure to release. Breaking things into chunks that are more easily digestible will help alleviate that without rolling over witnesses so heavily into feeling they must go with the flow or be the one to hold up needed development. Looking at naming/mapping conventions as well as pared down chunks of changes will also hopefully mean that less essential changes or particularly troublesome ones can "float" between HFs to keep momentum without sacrificing development and testing quality.

What is it that we as witnesses need/pledge to do for new Hardforks?

  • In addition to community outreach and other forms of spreading our intentions, to make a post (or series of posts) that states clearly our agreement with or disagreement with the Hardfork, specific features, and our adoption intent.
  • To be part of code auditing, as well as following github changes and updating our communications and testing as required based on that.
  • To always have a minimum of one of our backup nodes prepared on the previous version.
  • To join and use testnet for the duration it is up from the vantage point of all types of user. This means both front end basic user stress testing, while also participating with nodes and more complicated test transactions.
  • To always be in contact with users who rely on us for a better understanding of Hardforks — which means via text and voice channels live before, during and after the scheduled date in addition to clear and updated posting.
  • To encourage and seek out better communication, earlier, more frequently, and more clearly, between all witnesses and Steemit Inc.

There's a lot in HF20 which is laying the groundwork for some changes that will help us build an experience that will be easier to understand for users, and will foster a better ecosystem.

That's a huge thing to say in a bold headline when many on the platform feel so upset about the way things played out, and I understand why it might be an uncomfortable statement with so many new values and calculations and names for features involved. There are definitely bugs that need to be fixed, but it's the combination of all those in addition to things as simple as users not knowing their VP would be wiped before it happened that have made this so frustrating. Some things during this period, I felt we as a witness did correctly. A lot of things, I think we took too much of a lead from others with this being the first Hardfork we've been consensus for — and that most definitely is from the communication angle.

We took part and listened and absorbed the discussion around us and kept an eye on our testing and on the people we were helping, which is all well and good. I think that moving forwards, communicating more effectively means explaining what will happen before it does as a group who all understand it; giving better estimated timelines, even if they're longer than we'd hoped for; updating more frequently because silence is disrespectful, even if the answer is "I'll get back to you with better information"; encouraging talk between all witnesses earlier; and explaining things like fluid values and fluctuation expectations better to stop confusion, panic, and anger by arming people with knowledge. This needs to be an everyone involved kind of thing.

While both Crim and I were on call all day/week/month anywhere and everywhere, and working with users to explain more about what to expect and what was happening, our own lack of a posted statement is one place that I think must be improved. Even then, a few posts on the chain (that no-one could comment on in this case) does not constitute the right forms of preparation, and I say that as a job that needs improving for all witnesses and Steemit Inc. as well. We went into this with a huge batch of code that does what it was intended to do (for the most part, there are yet bugs to be patched) but we didn't look or talk about every type of user's experience enough to help the transition go better starting before the fork, regardless of the code outcome.

So now what?

Well, there are positives and negatives, and the idea of "let things recharge and the system find balance" isn't a perfect answer and can't be used to put off solutions. However, to some degree, there are positives like increasing transactions, increasing pool resources, and decreasing costs that mean that it's not being said facetiously. There's going to be more work to review patches for some bugs that have come up due to node relaying circumstances during the switchover. There's going to be a lot of frustration and a quiet chain this week as users decide to post and transact less because they're waiting to recharge.

But...

There's going to be more posts like this one from witnesses of all ranks, which is really important. Steemians of every user type are expressing themselves and their experiences and concerns and feelings everywhere. There has never been a greater interest in voting for witnesses, asking questions, being constructively critical, and watching the way that leaders are emerging in helping out, spreading knowledge, and being encouraging (or discouraging on some aspects with reason) and that is a positive given that we've had to go through this to get it. And yes, we have some new features that will help price things on the network more accurately, will help you use the full capabilities of your stake more effectively, and will eventually translate into ways to show people easily "what they can do" on a Steem front end without having to learn the complex way all of the algorithms under it all work. Some abusive behaviours will get curbed. There is a lot of work to do, and we're behind the eight ball because of the way it's gone right now, but there's always going to be more to do.

We're available whenever you need us, and we're still working and still trying.

If you need to contact us, do so. It's just important to us to make a long (so, so long... sorry!) post like this to make our goals and intentions clear, and to start the steps to being better at what you have trusted people like us in the ecosystem to do.

Thanks,


I'm Jeff, and I'm @followbtcnews.
I'm a top 20 witness, along with my project partner @crimsonclad. Feel free to reach out to us on Steem.chat or Discord any time! If we haven't earned your vote yet, please take some time to look at Steemtipperand other work we have done. We hope you decide to place a witness vote for followbtcnews by clicking here
Sort:  

Thank you for this post. Great ideas and explanation. You earned a witness vote from me.

I like what you presented. Let us all do our best to make it a reality and move this forward.

I am exited to see what else comes along on the STEEM blockchain and thanks for all you do for it.

Hey thank you so much!! Really appreciate the support, and please contact me anytime if have any questions or concerns I can help with......

You got my full support, really respect and appreciate all the hard work you all do, thanks for the update and info, I need all I can get to wrap my head around all this :)

Hey thank you so much for your support!

My pleasure :)

Bingo.

All your opening bullet points land right on center target and are echoed here in my comments on the @personz post [here] and elsewhere by those of us paying attention and concerning ourselves with a properly acceptable agile style post-mortem analysis, and planning for "next time".

One clarification, I'm pretty sure we were all witnesses at the time of HF19, weren't we? So while it's your first time in a consensus seat, don't sell your history short... unless I'm mistaken about when your team started?

Thanks ! But just a quick correction here for sake of transparency- HF19 was June 20th of 2017, and we didn't become a witness until the very end of June 2017.

Thank you for this public statement. I am very glad that a consensus witness is adopting this idea!

I agree with what you said, so I will simply resteem it :)

Thank you for your inspirational post earlier! We are all trying to make Steem better. And by being more transparent and putting our concerns and statements on the blockchain, it helps provide that transparency.

Thank you for this, it was needed. You're so right that a positive from this has been more awareness of what we want from witnesses. I've actually, finally, been adding witnesses to my votes based on how they have been interacting on here after the HF. People want clarity and openness.

Posted using Partiko Android

I'm not voting yet, I want to be able to find my 'new normal' as soon as possible and for me that feels like no votes at all until at least Saturday sometime.

That said, you two have solidified yourselves in my mind as they prototype witness that this chain needs.

I've got to tell you that some of the very best 'pre fork' information that I got was from CrimsonClad's Saturday radio show. That's the kind of stuff that makes for informed consumers. The very best kind.

Thanks for the 'update' and for the admissions. Both are important going forward.

Now let's go!

just upvoted as a witness . you are going very well.... 👌

@followbtcnews @cleverbot @banjo @automation

You are nice too.

Sooo... what do you want to talk about?

My soul is a play thing in this godless realm, and I am the child whose delight is paramount.

@followbtcnews
Your suggestions is what I expected that being use in steem blockchain. The code is 2+ years old, this is not new. The software development lifecycle should be in place by now otherwise we're F***ED will expect more issues to come, maybe worst.

As @sircork mentioned, we've seen this issues from last updates from 0.9.12 to 0.20, then we rolled back to 0.19.12 due to bugs.

If they need more tester before releasing new hardfork, we have close to 100+ active witnesses willing to participate. But, the problem is many of us are not member of the "secret" witness slacks.

Just as a quick aside, the testnet, test condenser, and instructions on how to connect were announced publicly a month ago on the @steemitdev account, so I do want to point out that it was linked to in public channels on Steem.chat, available and referenced in following Steemit official posts, and had a channel in the steemitdevs discord monitored by developer advocates.

I'm not suggesting that there was enough of a big deal made out of it; every single post from Steemit should have been ended by saying "remember, get on the testnet and try to break things!" and that's part of our communications call... but at the same time, the testnet was in no way hidden away from any witness asking for it in the way that is being insinuated here.

Steem.chat witness channel seems to be up to date and current with information for any and all witness's to participate in testing. If not please let me know so I can look into it.

Thanks for this. Just resteemed. I hope that in addition to what you specified above as being ongoing work on this current HF, you're also continuing to consider some changes to what unfolds with RCs/mana in the coming week(s).

The more I dig into it, the more concerned I am that efforts to thwart spam may have resulted in RC calculations that actually thwart new users, whether spammers or genuine content creators.

If the calibration going on shakes out to where it really does take 7.5 SP to post or comment once within a 5 day period, well I hope there is a plan to do something other than just accepting that and rolling forward with it.

very good