What Are Steem Witnesses, How Do They Affect You And Can You Become One? : Steem Basic and Advanced Witness Guide

in #witness7 years ago (edited)

IMG_2007.JPG

Preface


Hello Ladies and Gentlemen of Steemit... Its been 2 months since I have joined steemit. The platform is nothing but wonderful and I have had a rather successful run so far. When I first came to the platform, there was one thing that intrigued me the most and it was the term "Witness".

At first I used to think that by witnesses, they mean, those extraordinary people who were there when steemit was created (Like they "witnessed" the creation of steemit) :D LOL :D

But I was totally startled when I actually found out what being a witness means on steem blockchain and it is not as simple as terming them "leaders". It is way more deeper than that.

Since the term "witness" is tossed around alot, specially within new comers' circle and I can only assume that most of them do not know what a witness actually is, So I will try to keep it simple as possible to make this graspable for everyone.


What are Witnesses

In summary

Witnesses are the esteemed members of community, who not only are responsible of creating blocks on Steem Blockchain but also contribute towards making Steem Blockchain secure. Furthermore, the are responsible for maintaining the value of Steem Dollars on blockchain and may impose requisite changes that effectively tend to bring SBD back to its original value i.e "1 USD". Also, they maintain changes in Steem Blockchain that can directly influence your steemit activity and your payouts..

One thing must be taken into account here that there is no such thing as "Steemit Witness". The term witness is confined to Steem Blockchain only. Yes, the Witnesses have their accounts on steemit to link their witness threads to that account, to interact with community and to post about their latest activities but they are still only witness for Steem Blockchain and not for Steemit platform.


Basic Jobs of a Witness

I pretty much tried to squeeze the basic jobs of a witness above, yet I will discuss it all in detail down below:-

1. TO PRODUCE BLOCKS IN STEEM BLOCKCHAIN

That is the primary job required out of a witness, which is to create / produce blocks in steem blockchain. A block is a set of transactions (Your posts, transfers, comments, upvotes etc) and with each block production, the database on steem blockchain is updated.

(a) How is it done?

Witnesses validate signatures and timestamp the transactions and include them in blocks.

(b) How do they do it?

Just like cryptominers use their specially desgined rigs to mine cryptocurrency, the witnesses use a witness node (server) that must be up and running 24/7/365 to keep creating blocks.

(c) What is the frequency of block creation?

Each block in steem blockchain is created every 3 seconds.

(d) Does only one witness create blocks?

Nope. As of current, there are a total of 21 witnesses who create blocks turnwise. One witness creates one block and then the next one does it so on and so forth until turn of 21 witnesses have been completed. This is called 1 round. (I will tell you later that who decides those 21 witnesses to create blocks on steem blockchain.)

(e) Do they do it for free?

Also Nope... Each time a witness creates a block, he or she is rewarded with certain amount of SP (currently, they are being rewarded with something like 0.19 SP. I calculated this manually by observing a Witness's wallet for 120 seconds). That is why you see people advertising and promoting themselves to become a witness.

(f) Maximum number of blocks per day?

There is simple maths involved in that.

Total blocks created per round :- 21

21*3 = 63 seconds (duration of one round)

24*60*60 = 86,400 seconds in a day

Maximum No of blocks per day = 86,400/3 = 28,800

Maximum blocks per witness per day = 28,800/21 = 1371.42

Maximum Witness pay per day = 0.19 * 1371.42 = 260 SP = Appx 780 US dollars
(Yupp.. Feel that Jaw Drop)

It is not necessary that all 28,800 Blocks are created per day. If a witness fails to produce a block in 3 seconds, then that slot is missed and the turn goes to next witness to produce block. Furthermore, If a witness fails to produce a block then they are not paid for that missed slot.

But the amount of missed blocks are not much and suffice to say that our witnesses are doing a rather fantastic job with their nodes.

2. TO MAINTAIN THE ACCURATE PRICE FEED AND THE PRICE & SUPPLY OF SBD

In addition to running a node to keep generating blocks in Steem Blockchain, the witnesses are responsible for maintaining the accurate price feed of Steem. For instance, if your post payout is finalised by a witness block whose price feed was inflated price of Steem as compared to the actual market price, then your payout will be finalised based on that rate and may reduce your final payout. You can actually check out that which witness is maintaining what price feed at https://steemd.com/witnesses. Here is a screenshot for a quick look. See how @good-karma feed was updated 1.2 hours ago:-

price feed.png

They have to be good at economics too since their another job is to keep the SBD peg intact, which means to keep it 1$ value worth of Steem. If there are too many of SBDs floating in market, then the economy can crash very very easily. Hence they may take counter steps like increasing the the marketcap of Steem or paying out with less SBDs etc to keep the balance. In addition to this, Witnesses maintain interest rate on Steem Dollars in a way to keep it pegged to US dollar.

This is extremely important. We all think that our post that says "pending payout 30$" will give us 15 SBDs and remaining 15$ worth of Steem in SP after 7 days and we feel relaxed that our job is done. Little do we know, that these witnesses are working in the background to actually make that happen for us and if steem economy were to crash, those 30$ worth of SBDs and SP wouldn't mean jack...

3. TO VOTE ON CHANGES AND FORKS PROPOSED BY DEVS OR BY SOMEONE WITHIN WITNESS CIRCLE

To keep things simple, let me use a metaphor for this situation. Imagine that Steemit Devs @ned and @dan are Mayors of Steem City then these Witnesses are City Council. If devs propose either a change in blockchain or a fork, then witnesses vote on that decision and the changes or forks can be accepted or discarded (Just like politics) and that decision is based on majority vote.

Aside from that, one of the witnesses can also propose a change in blockchain (like which node version to use) and again, the majority vote will decide the fate of that proposal.

This is a massive responsibility and no ordinary steemian can undertake such a duty unless they master themselves in how steem blockchain works and what are the best courses of action that can improve the blockchain.


Can Witnesses Collude to Make a Wrong Decision That Benefits Them?

it is highly unlikely since they are the most trusted people of the community. They may misjudge or misread a situation but by no means it is to be taken that they had some ill intentions. However, there is one thing to veto the decision of witnesses. There is an account on steemit called @steemit, i like to call it the mama account since it has the power to veto witnesses decision.. Cool. Right?


How Witnesses are Selected and How many Witnesses are there?

Anybody can apply to be a witness, as long as they meet the criteria. However, at a given time, there are only 21 Witnesses on Steem Blockchain.

The top 20 Witnesses are selected through voting based on DPOS Consensus system, whereas the 21st witness is randomly selected for each round of block creation amongst top 100 (Who also are selected by vote). You can check out the complete list of 100 Witnesses at https://steemd.com/witnesses.

DPOS Is Delegated Proof of Stake Consensus is the fastest and the most decentralized model that leverages the power of stakeholder approval voting to resolve consensus issues in a fair and democratic way. In short, YOU, the people at Steemit Platform, get to vote their witnesses. How cool is that?

So coming back to the point, the top 20 witnesses with respect to approval percentage (chosen by your vote), are 'sort of' permanent witnesses for blocks creation and maintaining price feeds (until they are kicked out for not performing their duty and the next one in line takes their place). The 21st Witness is however is chosen randomly to be part of 1 round. The 21st Witness selection is also associated to approval percentage (The more, the better). For instance a standby witness at 25th position will become a witness for appx 4 times in an hour. whereas a standby witness at 50th position will become a witness for appx 1 time in an hour.


What Do You Need To Become A Witness

Well.. aside from taking up all those responsibilities I have mentioned above, you must set up a server node for production of blocks in Steem Blockchain and you must have basic understanding of programming, server management and steem blockchain. The minimum system requirements for your witness node is as below:-

Disclaimer: These Specs are by no means hard and fast in nature. They are stated here as a standard modern server power house that won't screw you over. By all means, select a server of your choice.

CPU Cores : 4
Clock Speed : +2.4 GHz
RAM : 32 GB DDR4
Storage : 120 GB SSD x 2
High Speed Internet Connection

Please Note that your reputation score and current SP in your wallet does not affect the witness criteria at all. You can create a brand new account today and tether it with witness node. However since generally, Steeemians with huge reputation score and heavy wallets are generally famous amongst community with a truckload of followers and since the witness selection is purely consensus based, hence they have a better chance at becoming a witness


Setting up Your Server Node

I would highly suggest to read this incredible guide by @klye on how to setup your witness node.

I am deliberately avoiding the coding and setting up your node part here to keep it simple for those who are not interested in becoming a witness but rather want to know how this whole witness thing works.


Why Your Vote Is Worth It

I have seen a lot of newbies and minnows advocating or promoting a witness account at the end of their posts in a non-serious fashion like, "XYZ guy is so cool and good at heart. Please vote for him to be witness" etc etc..

**JUST NO... You do not vote on a witness account just because they are "Nice and have a good heart". Though that may be one of the many qualities required out of them but Sorry, I am not going to vote on a witness who is just "Nice" even though knowing that he or she is not maintaining the right price feed and is basically screwing up my payouts.

I took this pain to make such a huge article specifically targeting and narrating the responsibilities of a witness so that you all must know how important it is when it comes to choosing the right group of people for us.

When we take part in country elections, we dont vote for people because they are nice and good looking.. We vote for them because we believe that they know how to run everything, they are responsible leaders, they will make our economy strong and they will protect us from foreign attacks..

SAME RULES APPLY HERE. SO VOTE WISELY...

How To Vote On A Witness Account

You can vote on a maximum of 30 Accounts. Please note that voting them will not deplete you voting power. Anytime you want, you can devote a person and vote for another in their place. Follow this illustration below to see how to vote for your favourite witnesses. Follow the red encapsulated area :-

vote 1.png

vote 2.png

vote 3.png

vote 4.png

There is another setting, where you can choose a proxy to vote on your behalf.
vote 5.png

I generally do not recommend setting up a proxy to let someone else vote on your behalf. Thats a big No No for me. Steemit does give you this option but I highly suggest that you should visit a witness profile to see how they are doing. What do they have to offer to community. How good are their expertise and past records, What does their Witness thread says and after thorough deliberation, choose to vote them yourself


Conclusion

I don't think that there is anything left on the subject, yet I would strongly appreciate inputs from our esteemed witnesses who may be able to improve / correct my knowledge on subject by providing useful analysis.

If anyone is wondering that whom have I voted for as witnesses then let me tell you that I have voted for only 13 witnesses so far, which means I still have 17 votes remaining at my disposal. It doesn't mean that I haven't found anybody else beside those 13 people who I deem worthy for the job. I just haven't gotten around to study all of them to make a better decision.

My current 13 Witnesses are :-

@blocktrades
@good-karma (He developed eSteem App and has done a lot of work for the blockchain)
@aggroed (Founder of PAL discord channel and Minnow Support Project)
@lukestokes.mhth
@ausbitbank
@anyx (Founder of Cheetah Bot and Steemcleaners to keep steemit content plagiarism free)
@pharesim
@pfunk
@jerrybanfield
@klye
@teamsteem
@utopian-io
@themarkymark

You do not need to go ahead and upvote these for my sake.. The only reason to share my list was to tell you that you must vote on witnesses based on their performance, ability, knowledge and their services for community..

I sincerely hope that this guide must have been of some help, specially to newbies.

Best Regards
Happy Voting

Please Consider to Upvote and Resteem.

Sort:  

With great Steempower comes great responsibilities. Never knew I had to vote for witnesses before and that the top twenty witnesses are the guardians of platform. I recognize, respect and follow some names listed here, I will be sure to vote for them. Being a witness does it entail spending long hours on the blockchain?

Thank you for commenting..to answer your question.. mmm no.. that doesnt mean that you have to sit infront of a computer all day..

Initially, you might have to.. to make sure that everything is working fine.. but once you get the hold of things, you don't need to spend that much time on either blockchain or on your witness node..

Selama saya mengenal steemit, saya sangat suka dengan syeemiy, sampai2 saya malam tidak tidur, untuk mebaik steem supaya saya napat uvote yang banyak dari kawan-kawan saya.

Woow. Thanks so much for such great information. I must admit that I knew nothing about who a witness is but after reading this wonderful post it has really enlightened me on steemit blockchain and witness. I strongly believe that most newbies have also been enlightened as well.

Thank you so much.. i really appreciate it .. please do not forget to resteem (if you deem this worthy enough) so that others might benefit from it.. regards

Sure. Resteemed

very nice and informative post @jbn Thanks for raising awareness about witness keep sharing

Thank you very much... bless you.. :)

Your post helped me to better understand witnesses and I see how they are such an important part of the community here, perhaps the most important! I follow several of the witnesses you mentioned at the end of your post and love reading their content and exchanging thoughts with these individuals. I will definitely take the time to witness vote and continue to follow their content. Resteeming and upvoting for quality content!

Thank you so much. Glad i could help

Awesome detailed overview... No one could have done a better job...
May be someday you will decide to be a witness...till that I will reserve my vote for you. lol

Haha... may be some day.. :p when i reitre and can work as full time witness.. stay tuned ;)

Thank you mate for the compliments

Thank you for raising awareness about witness voting and for your support. Both are greatly appreciated.

Sir i feel really humbled and thankful that you made a comment on my post.. thank you very much. And you have done a tremendous job as a steemian and as a witness.. more power to you.. cheers

Thank you very much for your sharing.Your post gave me a clear conception of block,blockchain and witness.

Thank you mate.. hopefully it will help you to decide who to vote for as a witness.. thank you once again..

This is a great post.
Thanks for the research und easy understandable explanations!
Very helpful!

Thank you mate.. I am always very ecstatic to see you on my blog.. i am glad that it helped you.. hoping that now you would consider voting for witnesses from a different perspective.. ;)

SERIOUSLY- THANK YOU FOR THIS POST!

I am new to Steemit and I am trying to get my bearings in the community. There seem to be a lot of ins and outs to learn to gain momentum. Thanks for helping me understand this "witness" business. I have been seeing it everywhere and not understanding it correctly in context. I appreciate these posts that are truly geared to help the community. That seems to be what Steemit is all about..

Thank you very much.. i hope that you can now vote on witnesses on merit basis instead of randomly voting for them..
your opinion matters, your voice counts.. so do vote for the witnesses who deserve to be there..
cheers

Absolutely- thank you for putting it in perspective for me, and making me feel relevant.