Recently, I’ve had many good opportunities to write an update, because there has been a lot going on.
But every time I asked myself if I should spend the little time I had writing posts or doing something more productive for the Steem platform, I usually chose the latter. On the other hand, I also know that the words “trust me, I know what I’m doing” are not enough for everyone.
So, here is another witness update.
And another promise to write more frequently.
(I’m better at solving actual problems than at writing, and I’m glad that the reverse is not true.)
Full HD video rendered exclusively for my witness updates
So what has happened since my last update?
We have release dates for SMTs
January 15, 2019 - SMT development complete and live on the TestNet.
March 24, 2019 - SMT fully released and live on the Steem Blockchain.
That’s a major improvement for the Steem platform.
It is going to be much more complex than recent Hardforks, with a lot moving parts that can be sources of potential issues.
Tracking SMT development progress
There’s an open tracking system for SMT development available: https://github.com/orgs/steemit/projects/14
Which is a very valuable source of knowledge about SMTs.
An unexpected fork
Before the HF20 scheduled date, on Sept 17, the chain unexpectedly forked when already running 0.20.0 nodes produced blocks that did not match the consensus of nodes still running version 19 of steemd.
Thanks to the hard work of Steemit Inc. developers and witnesses (shoutout to @abit, @riverhead, and @roelandp), the network was again up and running.
Here’s where the ability to replay the whole blockchain from scratch in less than 4 hours and multiple high-end servers at your service pays off. Especially when you need to do that multiple times.
I started producing again at block 26038153 (hell of a block!), soon after we got back to a fully operational status.
There were no transactions going on between 12:47:00 and 19:56:51 UTC.
I'm sorry for that.
HF20
Hardfork 20 happened at block 26256743.
Hardfork itself was a success, unfortunately one of the components, the Resource Credits algorithm caused a lot of trouble, although we had expected some issues and the need for some time to reach the equilibrium.
Resource pools were set to 90% of max equilibrium, and we expected that this will allow users to continue using the blockchain and gradually transition into the RC system, unfortunately it was not enough for basic usability for the common users.
Adjustments were made, and after many iterations (currently we are running v0.20.5
), we finally achieved stability.
Lesson learned.
We want to minimize the risk that such a foobar will happen again.
Bugs, issues, improvements
There are still many known and unknown issues out there and improvements to make to clean our way towards HF21.
Questions from the community
I try to react to various concerns voiced by the members of the community on an ongoing basis. If you have any doubts about a topic that has not been described on Steem or discussed on the public #witness channel, you can contact me directly on steem.chat, as Gandalf, but please be patient if don’t respond for a longer time.
Here is a bunch of questions that @rishi556 asked in his Question For Witnesses. Some of them are related to recent events, so I’ve decided to include answers in this update as well.
1. Why did you decide to become a witness?
Out of curiosity. Running your own set of nodes is a great opportunity to learn about the inner workings of the platform. Also, given my field of expertise, I hoped that I could be of value to the Steem platform.
2. Have you made any contributions that have been accepted into the STEEM codebase? If so, what was it?
Yes. Contributions mean not only making pull requests but also finding issues.
My contributions, however, are usually far from changes at the conceptual level. In most cases, they are related to security, reliability, and performance.
After a quick look at GitHub, I can tell you that I’ve made 12 PRs to the core Steem codebase with some minor security/stability fixes, docs; resource usage, seed updates, but also dozens of issues (38 closed) that were solved and therefore helped improve Steem.3. HF20 started out with a ton of bugs. What do you plan on doing in order to make sure that we don't suffer a repeat of that?
There was already a discussion on Sunday on the #witness channel at steem.chat:
Here’s a simple algorithm posted by @ats-david (aka @ats-witness):
- Is there a problem in need of a fix? If no, then no hard fork is necessary. If yes...
- Does proposed change solve the specific problem? If no, reject it. If yes...
- Has the new code been audited? If no, reject it. If yes...
- Has the new code been tested? If no, reject it. If yes...
- And changes have been made, audit and test it again.
- If everything looks good and you like the proposed change, then accept the hard fork.
That should be a basic universal standard for witnesses.
The worst thing is that I did all the steps.
I had some doubts and uncertainty, and of course you can always dig deeper (certainly deep enough to notice the difference between seconds and hours!) and work harder to have less uncertainty
So I guess I need to improve this uncertainty to a level that is acceptable
Also, I made one mistake:
We received a good question before the scheduled HF20 date:
"What will we do, if RC does not work as expected?"
RC was the most risky part but also a non-consensus one, so it was highly underestimated.The answer was "we will switch to the bandwidth algorithm".
Later on, we decided that it was not the best idea, but the question should have been reevaluated at that time.
Of course, with the wisdom of hindsight, it's always super easy to make a perfect plan to avoid all the problems...
... that occurred in the past. Unfortunately, the RC plugin was very difficult to test in the artificial testnet environment.TL;DR version:
I need to improve this uncertainty to a level that is acceptable
Oh, and how we can do that?
@timcliff wrote a very good post about Hardfork approval standards
Is that the ultimate solution that will make sure that we won’t hit severe issues like we did last time?
No, it is not. But it can lower the risk significantly.4. What have you done to promote the STEEM blockchain outside of the blockchain itself?
I've released promotional videos (including: Flourishing Steem, Steem Power Inside, Steem Pressure, SteemSTEM promo, more on the way)
I’m promoting and lobbying for the Steem platform, and STEEM (including exchanges, service providers, and high quality content creators), during various meetups and talks at every latitude, longitude, and altitude I visit.5. Communities have become a very big thing in the STEEM ecosystem recently. Have you done anything to promote communities and help them out?
I'm delegating SP to Utopian (almost 50% of my all SP) to help incentivize development work and to members of the SteemSTEM community, supporting i-Talent competition ("Competition Both Performed And Judged By The Artists"), and actively (manually) curating local non-English communities, mostly #Polish and #Japanese (shout-out to all the people involved in manual content discovery and curation).
6. Do you understand enough of the STEEM codebase and C++ to be able to tell what changes are being made when they are committed?
Yes, of course.
7. Have you developed anything for STEEM? It doesn't need to be software, a community that utilizes STEEM counts too.
I keep the Steem.chat up and running.
I write the Steem Pressure series, I really hope to get back to it soon (I wasn't very active lately, because there was a lot of work regarding HF20).
I also consult and help with a lot of various development initiatives related to Steem.8. Communication was a major problem for STEEMIT INC. Many people want the public to be able to read what’s
happening in the private witness channel that STEEMIT INC has created. What do you think about that?Not all communications should be public, some are not meant to be public.
Requesting public access to private channels makes no sense.Obviously, public communication channels are as important as private ones, and I would very much like the #witness channel on steem.chat to be such a public place for conversations. It is available to the public in the broad sense.
Maintaining good communication is always problematic, and that problem is not limited to Steemit Inc. As you can see, I also have a problem communicating my efforts as a witness in a timely manner.
In one of my previous posts, I introduced myself as a witness witnessing witnesses ;-) As someone who wants to connect all these complex issues and make them more easily understandable to the general public. Unfortunately, I underestimated the amount of effort required to do that effectively.During the recent problems with the platform I did everything to get my infrastructure (and therefore the platform) up and running again, and I didn’t have time to communicate everything I did via the chat. That would have slowed me down to a considerable degree without bringing any benefits. (Time shared witnesses wouldn’t have helped much at that point anyway).
Still, I understand those who were frustrated with the fact that there was not enough communication.
We usually think “someone will do that”.
There is no “someone” here, it’s ultimately the job of each and every one of us.In other words, there is always room for improvement when it comes to communication.
9. STEEMIT INC has done a major part of the development for the STEEM blockchain. Who should be doing more of the development for the blockchain, them or the witnesses? Or is it a shared responsibility where the witnesses do one part and STEEMIT INC does the rest?
Steemit Inc. has its product roadmap and enough resources to run this development. I’m fine with that. Witnesses are not blockchain developers, although they could obviously do that too. I will gladly support other development efforts, whether run by witnesses or by companies interested in the platform or by organizations or communities, as long as they make sense.
10. Why do you deserve to become the top witness?
I’m doing my best to help the Steem platform.
Whether this is enough to deserve votes depends only on those who vote for me.
Thanks for asking all these questions and for being interested in these issues.
For the record
API endpoints
Of course, all my public nodes are running v0.20.5
. Obviously, there are no longer non-appbase nodes running, but I still can see some old-style requests at my API endpoint. Please check your software and make sure it is up to date.
State of Steem
Produced blocks | 26,663,087 |
Accounts | 1,147,468 |
Blockchain size | 151 GB |
Consensus state size | 44 GB |
Full node state size | 241+136 GB |
Have you noticed? State size is smaller than before. Also, full node runs RockDB based account_history plugin.
PS
SteemFest3 is coming.
7-11 November, Krakow, Poland.
If you believe I can be of value to Steem, please vote for me (gtg) as a witness on Steemit's Witnesses List or set (gtg) as a proxy that will vote for witnesses for you.
Your vote does matter!
You can contact me directly on steem.chat, as Gandalf
Steem On
I believe the pony tail of wizardry's skills.
I love it. See you at SteemFest @gtg!
See you soon! :-)
Self-voting because some scammer figured out that it's a good idea to flag me back ;-)
First of all, huge thx for your hard and good work - and this update.
A true wizard. Thx younger me for doing such a great job.
I completely agree with you my friend.
Hi @gtg -san thank you very much for your support for Jpns community and sharing this kind of articles. Of course it's not so easy for me/us to understand all things you wrote because of language and lack of knowledge, but it helps a lot to me what you are doing and trying on steemit as a witness. Arigato gozaimasu!
^^ Thank you for that! And for everything else you do, including making me chuckle by using the word foobar. ;)
Thanks a lot for doing your work. I'm @clixmoney and this is my second account. I just voted for you as a witness. I'm building this community to make more collaborations in steem blockchain. We are now doing interviews, collaboration videos and building it step by step. I will always vote for the same witness with both accounts. Thanks for any suppot, we use all the earning to power up and upvote our members.
This. It typically takes me a few hours to write a post and I rarely have that kind of time. Nevertheless, I understand the importance of keeping the community up to date on what I'm doing and my thoughts and stances on the current issues on the platform. I guess I should start on my next update post...i'm definitely overdue. Thanks @gtg!
Thank you for reaching out to the public. I love your Steem Pressure series and I think that you are very active in terms of communication on the witness channel, every time I log in to the chat, almost all of the time I see messages from you. Thank you for the help and advice you provide.
Not gunna lie, I'm really excited for HF21, but I'm really scared and apprehensive too. 😂
Same here :-)
@gtg are a wonderful witness. I believe that conscience like you leads steemit in a good direction.
I appreciate you for always supporting Japan:)
I think your contribution to steemit is wonderful. We are always thank you :D
I’ve yet to be able to wrap my head around the implications of Hivemind. Will it lead to a lot of “gated communities”? Or a “Balkanization” effect? A win/win for all involved?
Hopefully, hivemind as a tool, will enable us to make things better for all parties involved; better content discovery, relationships, social actions, etc.
Hello @gtg,
You are one of my Steemit witnesses, and I'm here to inform you of a fantastic opportunity to promote STEEM.
Please check out the information in my article:
STEEM On Netcoins Contest: EVERYbody Wins!
I'm not looking for your vote or reSteem...
I am asking you to take action to promote this!
It seems clear to me that it will benefit the entire Steemit community.
Thank you in advance for your consideration!
😄😇😄
I saw it already and multiple people were lobbying for this on steem.chat. It's worth mentioning that you are allowed to vote once per 24h.
Yes, thanks so much for responding.
I have made that clear in my article that daily votes are important.
Your support and encouragement are much appreciated, Thanks again! :D
P.S.
Thanks to your comment, I've edited my post to more strongly emphasize that we can vote for this daily, every 24 hours...
Thanks for working hard and writing a witness update. As a 'normie' Steemian I feel constantly torn between voting for those I think do good (thanks to worth of mouth...?) work and for those I can check do good work. It's so hard to find out and I've had to read a lot between the lines (like you now doing a shout out to three witnesses) and lurk in the Witness Chat to understand who did what during the unexpected for and/or right after the 'official' HF20.
It's a lot of indirect information from which you have to deduct if you still vote for the 'right' witnesses and my biggest wish for this blockchain now is to have a better way to evaluate the witnesses efforts other than what I can do now, which is checking how many blocks a witness misses, if he/she updates the servers in a speedy fashion, if he/she takes the time to communicate...
I wouldn't mind if after every crisis or big update every involved witness picked 3 names (one a one person one vote basis :P) they think added most to solving the issue as a sort of standardized way to see who is constantly at the top of their game.
But well - see you at SteemFest3 ;-)
u should make more updates
Hi @gtg!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 8.528 which ranks you at #3 across all Steem accounts.
Your rank has not changed in the last three days.
In our last Algorithmic Curation Round, consisting of 304 contributions, your post is ranked at #1. Congratulations!
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server
Congratulations @gtg! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Here's a friendly warning! Please don't use the #polish tag for a post that's not in Polish. You might get downvoted by @gtg for tag abuse!
You are right here, it's overlooked one that was auto-added by condenser, due to a mention of #polish and #japanese in a post body, because there were less than 5 tags.
Thank you this post helping to explain this new entity. I have a question: I got down voted by someone shortly after I hit reputation level 59. Before that my reputation was increasing steadily, but it seems to have only crawled upward since then even though I have upvoted of 1-2$ from people with rep of 70 or higher. Do you know why?
Thanks
It's not because of that downvote, it's just because of scale of reputation. ELI5: Each next level is much, much harder to get.
More info on Reputation System
Thank you
I will read the attached reference.