"Help! My Steemit Post / Comment Disappeared!" - And What This Has To Do With Witnesses

in #steemit7 years ago (edited)

Lately, a few fellow Steemians complained (to me or to other people) that their post or comment just disappeared after initially showing as posted. It happened on the main Steemit.com website, but also on other channels like eSteem or Steepshot.

To understand why this happens and where is your post, you have to understand how the entire Steem ecosystem works.

So, first of all, just to get on with it: if the post /comment disappeared, it is lost. Forever. And ever and ever.

Second, this is how things are working in the Steem ecosystem:

Everything Is A Transaction

All the operations in the Steemit ecosystem are , in fact, transactions. Every post, every comment, every vote, every power up or power down, every transfer, everything. These transactions are not saved in a central database, like it happens in a traditional, database-driven website. Nope.

These transactions are packed, signed (with your posting or active key, so everybody will know they belong to you) and then broadcasted. Like a radio is broadcasting waves to all potential receivers.

This is where it gets interesting.

Every 3 seconds, a witness in the Steemit ecosystem is picking up these transactions, verify them and then pack them into a block. This block is then pushed in the blockchain, where it stays forever. If your post was picked (which happens in 99.99% of cases) it will then be available in the blockchain forever, at the specific address of the block.

If you happen to run a witness node, and if you look at the logs, this is what you see (edited for brevity):


handle_block ] Got 23 transactions on block 13532820 by timcliff 
handle_block ] Got 39 transactions on block 13532821 by clayop 
handle_block ] Got 28 transactions on block 13532822 by pharesim 
handle_block ] Got 29 transactions on block 13532823 by timcliff 
handle_block ] Got 33 transactions on block 13532824 by klye 
handle_block ] Got 38 transactions on block 13532825 by jesta 

Now, if your transaction (being it a post or a comment) didn't make it in any of those blockes, it won't be picked up again. That's what I mean when I said it's lost.

So, you see, this is not your average website. It certainly looks like an uglier reddit, but it's so much more than that.

There are many other things to be said about how witnesses are rotating and what incentives they get to support the system, but it will get a bit complicated, you can have a look at some of the posts at the end of the article where I describe this in a bit more details.

So, Why My Post Didn't Make It Into The Next Block?

Well, there can be many causes:

  • your connection dropped before the transaction got broadcasted
  • the client didn't properly signed the transaction, so it got rejected
  • or, the most common: the witness responsible for picking up that transaction wasn't working

Now, the third one is the most common cause because the infrastructure needed to maintain such a big network of witnesses (at all times there are around 100 witness nodes working) is very, very difficult to control. Sometimes the software crashes, sometimes there's a network outage at the hosting facility (it suffices to be just as little as 2-3 seconds, and the block is lost), or the witness is having some internal hardware difficulties. The good news is that the whole thing is self-healing, every hardfork brings in stability fixes or improvements.

And that's the connection with the witnesses that I was talking about in the title.

If you want to have a healthy Steemit ecosystem, you should be aware that everything is relying on them. Your posts, your votes, your transfers, your power ups and downs, everything.

So please pay attention to the following metrics when you vote for a witness:

  • how many missed blocks? (you can see that in any decent block explorer, like steemd.com or steemdb.com)
  • how involved the witness is in the community (chances are that any witness will solve any technical issues faster if he's still involved with the community)
  • how versed the owner is in the technical details (follow all the witnesses and pay attention to their regular updates)
  • how often a witness is updating the community with his activities (follow the tag #witness-category)

Remember that a big healthy network is made of many small healthy nodes, connecting to each other.


I'm a serial entrepreneur, blogger and ultrarunner. You can find me mainly on my blog at Dragos Roua where I write about productivity, business, relationships and running. Here on Steemit you may stay updated by following me @dragosroua.


Dragos Roua


You can also vote for me as witness here:
https://steemit.com/~witnesses


If you're new to Steemit, you may find these articles relevant (that's also part of my witness activity to support new members of the platform):

Sort:  

Great post as always. Very informative. You're always on the money and why you got my vote for witness. Keep up the great work!

Very interesting thanks for clearing that up for me. I will def be checking for missed blocks when voting for a witness next time. Great post!

Great post! It's very important to consider the best witnesses. I have dedicated my time and money to steem for well over a year now, and I am finally witnessing for both steem and peerplays.

If you haven't already, please show some love by voting for my witness! You will have to type in "tyler-fletcher" and click vote!

My peerplays witness is "firecrab-witness".

Thanks!

THANK YOU so much for your article! I experienced some missing 'transactions' yesterday and @creatr shared a link to this article to help me understand. I get it now :)

Thanks for the information, I think now Steemit is becoming more familiar with the general public there will be more childhood diseases. greetings from Belgium

This is a truly bizarre sentence, I'd love to hear if it was intentional or some kind of beautiful typo.

Looking at their profile, they don't seem to be some sort of bot. Truly truly bizarre! I'm guessing maybe autocorrect?

Sorry for the bad translation, startup problems with a new system, we call 'childhood diseases' it's kind of saying over here. greetings from Belguim

Haha yea must've been an insane autocorrect typo

The wide world of the interwebs and bizarre comments Hey Matt Sokol

LOL

I still love your user name so much, it brings me much much joy every time I see it.

  • maybe a little too much hahahahahaha!

you're a crazy guy barry O_O but I'll take the compliment!

Sorry for the bad translation, startup problems with a new system, we call 'childhood diseases' it's kind of saying over here. greetings from Belguim

Ah cool, now I learned something! Thanks for coming back to explain.

Sorry for the bad translation, startup problems with a new system, we call 'childhood diseases' it's kind of saying over here. greetings from Belguim

Hi @dragosroua, thank you for expanding my noob understanding of the inner workings of steemit a little bit further.

One quick noob question - is there a limit to how many transactions can be held in each block? Can the system get overloaded?

Nope. There is a link between the block size and the number of transactions, obviously, but witnesses are monitoring this and they will increase the size as needed. The system can handle dozens of thousands of transactions per second.

Thanks for that extra bit of info. Gradually filling the gaps in my knowledge.

This happened again to me today..... and I see more of it last week too, it was pretty good for the last few months!

Great post, top to bottom, @aunt-deb sent me here!

"This block is then pushed in the blockchain, where it stays forever."

Please explain this then:

More than once, I have posted a comment and had it appear to be visible under a post, i.e. it appears to have been "accepted" by the network...

Then, later on, I go back and it is gone!

Based on the combination of your article and my observations of this phenomenon, would it be true to say that the Steemit User Interface may temporarily display a certain state before it is posted to the blockchain? And that, afterwards, if the block is "dropped" that apparent state is reversed and disappears?

Thanks for the clarifying description... ;)

😄😇😄

@creatr

you are asking the right questions!

This makes sense except for a couple of things.

First the post I just posted... it actually showed up in my blog feed for a few seconds and then disappeared.

When I refreshed the browser it was in my feed again for a few seconds.

When I refreshed it again instead there was a resteem icon with not title image or anything for a few seconds...

and then it was gone...

Correct me if I am wrong but nothing should show up in my blog feed unless there is actually something there for a moment.

It seems to me more like it WAS accepted by something for awhile and then a consensus check decided it was invalid and tossed it.

@dragosroua thank you so much for clarifying this issue. It happened to me too however I have a better understanding now