Steemit Newbie FAQ - Witnesses: What Are They And Why Should You Care

2 months ago
72 in steemit

Following the latest influx of new users, I decided to write a series of introductory posts about Steemit: from basic netiquette up to more complex issues, like economics and consensus. Since the topic with the highest amount of fog around it seems to be the one related to witnesses, I will start with this one.

What Is A Witness In The Steemit Ecosystem?

A witness is a person (or a group of persons) operating a special type of server software, called witness node.

What Does A Witness Node?

A witness node processes transactions on the Steem blockchain. Before going into more details, it's very important to understand how the Steemit site works.

First of all, there is a frontend, or the HTML layer that you see. But that's the only similarity with a regular website. Instead of making requests to a centralized database server, the HTML layer makes requests to a de-centralized structure of nodes. It pulls the data you see (articles, comments, votes and balances) and displays it. But it also pushes the data you add to the blockchain (articles, comments, votes, transactions).

How does this data ends up in the blockchain?

Well, once a basic object is formatted (let's say an article, with author, date and a lot of other meta-data, that you don't usually see) it is broadcasted to the list of witness nodes. Each witness node then take turns and packs the transactions contained in a specific block, and then validates the block adding it to the blockchain.

The block age in Steem is 3 seconds. That means that a block contains transactions broadcasted and validated within a timeframe of 3 seconds.

How many transactions can you squeeze in 3 seconds? Well, according to the creators of the technology, you can do tens of thousands. At the moment of writing this article, the average number is around 10 transactions per block (so 10 transactions every 3 seconds). But 3-4 months ago, the number was way lower, probably 3-4 transactions per block.

Once a block is packed, it is then pushed by the witness who validated it and added to the blockchain. There's also a bit of other magic that happens after that, but for the sake of simplicity, let's assume that once a witness validates a block, it becomes set in stone, it's part of the blockchain that is mirrored across the entire ecosystem of nodes in the Steemit network. It can't be changed. And it's viewable by everybody.

What Are The Top 19 Witnesses Doing?

This structure needs a core of dedicated witnesses which have enough technical skills and adherence to the project, that they won't miss any blocks.

The top 19 witnesses are producing 57 blocks per hour, which means around 1368 blocks per day. They are producing a block almost every minute.

What Are The Runner-up (Top 50) Witnesses Doing?

If you do the math, you'll see that in a day there are 28,880 blocks to be produced. Out of these blocks, top 19 witnesses are producing 25,840. Who produces the remaining 3040 blocks? The runner-up witnesses. The remaining blocks are distributed amongst them based on their overall ranking.

A witness in the 40th position produces around 35 blocks per day, whereas a witness in the 25th position produces around 45 blocks per day.

They also act as a backup. If a top 19 witness has a problem, the next available runner-up witness will be promoted to the top 19.

What Are The Backup Witnesses Doing?

They do pretty much the same the same thing, but they produce just 3-4 of blocks per day.

What Happens If A Witness Fails To Process A Block?

The transactions contained in that block are lost. Forever.

It's That All They're Doing?

Nope. Witnesses are also adjusting a few network properties, the most important one being the price feed. The witnesses are broadcasting a special type of transaction, in which they wrap up information like:

  • their APR for SBD (interest for holding SBD)
  • their price for STEEM
  • the cost for joining Steemit (yes, there is a cost for joining Steemit, that's why you get already something in your wallet after you join, that amount is paid now by Steemit INC).

How Should I Vote For Witnesses?

Now that you understand that witnesses are literally creating the network as we speak, you should have a clearer criteria for voting them. Here are my suggestions:

  • look at the amount of blocks missed* and compare that with the overall activity and account age. Make an average. Some witness have a few thousands of blocks missed, but they are witnesses for more than a year, so losing blocks at this time interval is normal, especially during hardforks or upgrades.
  • make sure the person / persons have the technical ability to maintain and debug that witness node, read their post and do your research about them
  • look at their witness thread. Each witness is required to publish at least weekly a witness update, with a short follow up of their activities. Here's mine, as an example.
  • look at their price feeds and other blockchain props and understand if they're at least around and publishing their price feed and other props
  • see if they are involved in the community, either at a technical level, by providing tools, libraries or apps, or at the content producing level, by interacting, engaging and maintaining a positive vibe in the community

[*] All this technical data can be seen in this live witness list.

I Have A Headache Just Trying To Understand All This, Can I Delegate My Vote To Somebody Else?

Yes. Find a user you trust and delegate your witness voting power. In Steemit terms, that is calling "setting a proxy" for your votes, and you can find this form at the bottom of the witness voting page. Looks something like this:


Screen Shot 2017-06-06 at 3.40.12 PM.png


I think that's enough for now. If you have questions, ask ahead. If I missed something or there's something wrong, I'll be happy to adjust.

Also, if you think others will benefit from this post, feel free to share.


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.
For the Steemit ecosystem I created a free tool for checking your potential rewards at steem.supply.

Dragos Roua


If you appreciate my contribution, you can vote for me as witness here:
https://steemit.com/~witnesses

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  trending
50
  ·  2 months ago

Great info @dragosroua to help all understand how diligent the Witnesses are in keeping the Steem Train well-oiled and Steemin' down the track! Thank you Good Sir!

62
  ·  2 months ago

I feel so warm that you share a lot of information for newbie like us.
I just joined steemit 3 day ago and followed you and you post useful info for us everyday, it is very great. Once again thank you for your useful info!

·
72
  ·  2 months ago

You welcome. Keep it up.

48
  ·  2 months ago

Thanks for taking the time to explain, clarifies it a bit, although I don't think I'll ever fully understand, I'm not that technically inclined. Luckily we don't all have to be just to enjoy and find value in Steemit :-)

54
  ·  2 months ago

Is it in their hands also to viral and depress someone post?
Actually i am asking this because of my experience last week. I generally post technical analysis of different script and that day i posted a analysis about silver and it upvoted by 228 members. Because of megree payout of $2.50 for such no. of upvote , when I checked my post, i found that only ten people viewed my post and when only ten person viewed my post then how come I got 228 upvotes??
Please reply @dragosroua , i will be very thankful.

·
72
  ·  2 months ago

There is a lot of automated voting still going on Steemit. It may slow down after hardfork 19 (a couple of weeks from now).

49
  ·  2 months ago

Tell me about it! I have to process all this info in english which is not my native language jejeje. Really nice post :)!

42
  ·  last month

Holy crappers! Thanks for trying to break it down for us less tech savvy in the steemit sea. I think I understand the witness thing about 50 % now!

49
  ·  2 months ago

In respect of connections: how does a browser connect to the nodes? I am asking because it seems my mobile battery drains faster when browsing Steemit. I have not scientifically verified this yet.

·
72
  ·  2 months ago

It depends on what app are you using? Are you using eSteem by @good-karma or just a browser?

·
·
49
  ·  2 months ago

I use Chrome on Android.

·
·
·
72
  ·  2 months ago

Chrome is notorious for being memory and CPU intensive on all OSes.

51
  ·  2 months ago

Thank you. I was wondering about witnesses and now I know better.

43
  ·  last month

I am grateful for the effort you are making. Reading your posts is being very informative. Upvoted and followed !