What Is a Steem Witness?
A witness' main responsibility is to produce new blocks on the Steem blockchain by keeping a Steem witness node running without errors, and also maintaining the price feed updated, which is used for internal market transactions.
At times witnesses have a very important role in "upgrading" the blockchain through hardforks, but we'll talk about that a little later.
Why Is It Important to Vote for Steem Witnesses?
Through their votes, steemians express support for certain witnesses, the positions they express and the tools or services they provide to the community.
The prudent path is to vote and regularly check the "performance" of the witnesses you have voted for, not to wait for an exceptional event and hastily try to do something about it.
There is of course the possibility to "delegate" the responsibility of voting for witnesses to someone else, but we'll talk about it a bit later.
What Are Consensus Witnesses?
Blocks are produced on Steem in rounds of 63 seconds. 21 blocks every round. Every round Top 20 witnesses + 1 backup witness (a witness outside Top 20) represent the consensus witnesses.
The consensus mechanism is how (delegated) proof-of-stake blockchains like Steem work compared to proof-of-work blockchains (i.e. bitcoin), which use the complexity of the algorithm and the difficulty to reach the solution as the factor that determines which node produces the next block.
For Steem to hardfork, a super-majority (at least 17) of the consensus witnesses need to run a different version of the blockchain.
What Is a Witness Proxy?
A steemian has the option to actively vote for witnesses or to set a proxy account to vote instead of him / her.
What you should know before you choose an account as a proxy:
- if you had voted for some witnesses, once you choose a proxy, your witness votes will be ignored and only the witness votes of your proxy account will be taken into consideration
- when you unset a witness proxy, you'll need to manually vote for your favorite witnesses, because you'll have 30 empty spots
- the witness proxy also has the voting decision for Steem Proposal System, and your votes for certain proposals will be ignored
That being said, if you want a hands-off process regarding witneses and Steem proposals, setting a proxy is the way.
You still need to check out from time to time if the account you set as proxy is still active on Steem, for example, and if their opinions are still the same as yours.
How to Vote for Steem Witnesses or Set a Proxy from Your Favorite Interfaces
To make it easier for you, in this guide I'll show you how to vote/unvote witnesses or set a proxy in the most used interfaces which support this option (and I know of).
If you have another favorite interface and it has the option to set witnesses, I'd be happy to hear about it in the comments, ideally with a walk-through guide for beginners, and I'll link it in this post.
Before we begin, be sure to have your private active key ready, if you use an interface that integrates SteemConnect.
Steem Keychain (browser extension)
This is the method I prefer lately to approve or disapprove witnesses.
From your Steem Keychain, I'm sure you have noticed the
If you click on it, you get something like this if you haven't voted for any witnesses yet...
... or something more like this if you have...
To disapprove a witness there's nothing more to it than clicking on the "X" next to its name. The private keys should be handled automatically, if you had added a private active key for your account on Steem Keychain.
To vote for a new witness, the most often possibility is it's a Top 100 witness, and you can find it in this list and click the upvote button next to it. And that's it.
To vote for a witness which is not (yet) in Top 100, you need to Add its account name manually from here:
The same form can be used to set a proxy, as you can see from the drop-down list above. And once you set a proxy, you'll see this on your Witness page on Steem Keychain:
To clear (remove) the proxy, it's quite obvious what you have to do: click on the "X" next to its name.
If you are a regular user of Steemit.com and not a user of Steem Keychain, that will probably be your preferred choice. Steemit.com no longer has this option inside the site, since the separation of the social media and wallet operations into steemit.com and steemitwallet.com.
Update: A few days after writing this guide, Hive communities were rolled out on the steemit.com, and with them, Steem Keychain was integrated in SteemitWallet.com as well. If you prefer to use SteemitWallet.com with Steem Keychain, and not enter the private keys manually into the site, you have to tick the
Use keychain extension checkbox, like in the image below:
The rest of the guide for SteemitWallet.com is presenting the manual entering of private keys, the former solution. Just tick the checkbox whenever you are asked to enter private keys and you will use Steem Keychain instead, if you want to.
Login to SteemitWallet using your private posting key. I've done so using a test account. Then, from the hamburger menu at the top-right ( ), choose
Vote for Witnesses.
and you'll reach the witness page. If you haven't voted any witnesses before, it will be something like below. Otherwise it could be something different, reflecting your votes and how many you have remaining, or which is your proxy account, if you had set a proxy.
To vote for a witness, you click the up arrow next to the witness name at the left...
... and then enter your private active key in the following popup to confirm.
If you leave the "Keep me logged in" checkbox ticked you won't be asked to enter the private active key again, for example if you want to vote for or unvote multiple witnesses before you log out.
A side-note here: to vote for a witness which is not in Top 100, you'd have to use this form at the end of the witness list, and enter the witness name:
How do you unvote (also known as disapprove) a witness?
Same as above, except you click on a witness which has been voted previously (in our case, yabapmatt).
What if you want to set a proxy for witnesses and let them handle all this?
Also down the page, below the Top 100 witness list, there is this form:
You just enter the name of the proxy account there and click "Set Proxy". If you entered your private active key and stayed logged in like before, that's it. Otherwise you'll be asked to enter it and you can look above if you feel you need to, for a screenshot and a few explanations.
Once you set a proxy, you'll no longer see the usual Top 100 witness page, but this page instead:
This page clearly tells you what to do if you want to re-enable manual voting for witnesses. Again, you will need your private active key, if you haven't remained logged in with it.
SteemPeak has the advantage that it integrates the Steem Keychain browser extension, which makes handling private keys very easy for you, while being secure.
While SteemPeak also supports SteemConnect as an alternative, I will present in this guide the Steem Keychain version, as it is smoother. But here's a beginner's guide for SteemConnect, just in case you need it.
Login to SteemPeak. From the top-right menu, choose
You'll reach this page:
This page has more information on it than others do. That may be an advantage if you want to know details and don't want to consult other tools, but the page can feel more daunting to beginners.
I won't go on details about what the stats presented for each witness mean, that's not the scope of this guide.
So, to vote for a witness, you have to do an extra operation actually. Once you eyed a witness and consulted its general stats, you need to click on the
Params tab at the top,
to the see rest of the parameters and finally the voting checkboxes.
To vote for yabapmatt (our guinea pig witness for these tests - sorry Matt for the few witness alerts), I clicked on the gray checkbox (gray means not voted). After Steem Keychain did its part, I approved yabapmatt with my test account and the checkbox turned blue. Also the number of available votes decreased by one.
Unlike SteemitWallet or Steem Keychain, Steempeak shows a list of the first 500 witnesses, instead of only the first 100. You can also search for a witness by name in the list:
Searching by the running blockchain version can also be useful, if you quickly want to disapprove witnesses which run an old blockchain version. They are not part of the consensus anyway, but you clear up some voting slots.
The other filters are interesting as well. So use them when you need them!
Steempeak has a less common approach to setting proxies. The interface practically guides users to only set as proxies those accounts which have already been set as proxies by others.
If an account has been set as proxy by another account, the option to set it as proxy yourself appears on their profile. This is my account which is proxy for all my alts. It has this option.
For example, my test account doesn't have this option, and couldn't be set as a proxy by someone from Steempeak. That may be a good idea to prevent random accounts to be set as proxies.
Back to the
Set as proxy option. If you have Steem Keychain installed and click that option, all it follows is a popup asking you to confirm and that's it. Then, on the profile of same account of gadrian-sp, we can see:
And that's the way to remove the proxy from SteemPeak. Of course, that implies you remember who you have set as proxy. Or look it up with something like
steemd.com/@your_username, left column at the bottom.
eSteem Surfer has a easy and clean process for voting witnesses. Very similar to the one from Steemit (now on SteemitWallet), but with a little more information.
I'm not a regular eSteem Surfer user, but I assume it doesn't have support for Steem Keychain. It uses SteemConnect and if you use eSteem Surfer I'm sure you are accustomed to it. But just in case you need some step-by-step instructions, you can find them here. I won't insist at all in here on the process of private keys management, logging in and approving transactions via SteemConnect.
So, you log in to eSteem Surfer and if necessary enter the requested PIN code.
If you don't know the link by heart (easy to remember:
esteem://witnesses), you can find a link to it on your profile:
And there you go, you are on the Witness page:
Now, if you have also used Steemit to vote for witnesses, you'll see a striking resemblance, with the difference the interface from eSteem Surfer keeps up with the times, so it's much more pleasant to use.
Other than that, eSteem Surfer shows only Top 50 witnesses unlike SteemitWallet which shows Top 100.
I won't go through every screenshot here as well, as it would be redundant. Even if you only used eSteem Surfer and never Steemit, you would quickly understand the screenshots from that guide.
The only difference comes regarding the confirmation of the actions. While SteemitWallet either asks for the private keys directly on-site or uses the Steem Keychain third party extension, eSteem Surfer uses the services of the third party service SteemConnect.
If you have been on Steem for some time, you most certainly are familiar with SteemWorld.
While SteemWorld is more an all-in-one tool than a regular general interface for Steem, you can do almost anything with it, including to vote for witnesses and change the witness proxy.
While you can approve or disapprove witnesses from SteemWorld and the integration of Steem Keychain helps,
I personally prefer other interfaces for this particular type of operations.
Changing the witness proxy is very easy on SteemWorld though.
After that all you have to do is enter the new proxy (or nothing to clear it), click OK and confirm transaction (all you have to do is click another "Yes" if you want this done via Steem Keychain, and the browser extension is installed on your browser).
Every vote matters, even if you have 1 SP. About a month ago I wrote this post. See for yourself how much small votes count and how important it is to update our witness votes.
You don't want to keep an eye on witnesses? Find someone active who keeps the witness votes updated and cares about Steem and set his/her account as a proxy!