"Help! My Steemit Post / Comment Disappeared!" - And What This Has To Do With Witnesses
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.
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):