Fantastic Witnesses And How To Find Them
One of the most important tasks every Steem account should take seriously is voting for witnesses. This is especially important the more Steempower an account has.
However, doing so takes some level of knowledge, otherwise, witnesses might be voted purely on subjective matters. "Oh, he's so nice in his videos." And in the past, this didn't always work out.
But why is this important and what exactly are witnesses?
Now, before I get into these questions: let me first explain what a blockchain is, to make sure we have all a similar basic level of understanding (you can skip this part if you want).
What is a blockchain?
First off: Steem is a blockchain, which is (simply explained) an immutable database. What does this mean?
Well, I can't just go to the database record of my account and change my Steempower from 10 to 1000, hence the immutable part.
Steem was created with rules hard-coded into the software and these rules have to be followed; in this sense code is law rings true. Additionally, the rules can't be removed, only changed where new rules are being added. The latter often referred to as blockchain forks, but that is another topic altogether.
In cryptocurrencies, the immutable database is called blockchain because all of its data is saved in blocks, and in Steem a new block is generated every 3 seconds and added to the previous one thus creating a virtual chain.
Take a look at the graphic below.
Taking Steem as an example (block-numbers are random): if you upvote this post, the vote
(which is a transaction) is saved in block 1 and after 3 seconds, the next block, 2, is created.
Technically, the block 1 at that time is not irreversible. But after 30-60 seconds - we would be at block 11 to 21, it is irreversible. Which means: you are not able to change the data ever.
Now, if you wanted to remove the vote, you would create a new vote transaction, with 0% (on Steemit it looks like you unvoted, but what you actually do is making a new vote with 0%). This wouldn't remove your previous vote, but replace the effect on the post with the new one.
So far so good, but since Steem is decentralised, there is no central server that is running Steem to - for example - create these blocks.
And this is where witnesses come in. (you can skip this part if you want).
What is a (Steem) Witness?
Different blockchains have different ways to validate these transactions/blocks. Bitcoin uses proof of work (POW), Ethereum is using a hybrid between POW and proof of stake (POS) but will switch to POS eventually.
And blockchains like Bitshares, EOS and of course Steem - are using something called Delegated Proof of Stake (DPOS)
. Very simply explained it means the following:
Selected individuals by the community (witnesses) validate and sign blocks. This is being done by running a version of steemd (blockchain program) on a server.
This job of securing the network is crucial and sensitive as bad actors, witnesses with bad intentions could jeopardize the whole blockchain - for example through an 51% attack.
Now, there are hundreds of witnesses, but only the TOP 20 are the main witnesses, while the rest are backup-witnesses. Every TOP 20 witness signs a block roughly every 1 minute, while the backup witnesses are rotating. And the more voted stake a backup witness has => the more often he will sign a block.
Take a look at this screenshot of the witness schedule:
On the right site is a complete list of all backup witnesses in the TOP 200 and on the left side is the current witness round with TOP 20 witnesses and 1 backup witness.
Imagine that this is a race and the more voted stake a witness has, the faster he is. That's why some witnesses sign 5 blocks while another witness hasn't even signed one.
TOP 20 Witnesses are also the decision-makers in terms of accepting new hard-forks (new updates to Steem), where 17 or more have to run this new version as only then it's valid.
But how does someone become a TOP 20 witness? And how can you influence it?
That's where voting comes into play.
Voting for Witnesses
The more Steempower you have, the more influence your vote has. This is both true for voting on content and voting for witnesses.
1000 votes of accounts with 10 Steempower is less influential than 1 vote of an account with 11,000 Steempower.
And the more stake a witness is receiving via votes, the more often he is producing blocks and the higher up in the ranking he is.
Now, as I wrote in the beginning, it is very important that you know who you're voting for and why. It's obviously your decision alone, but bad voting decisions can incentivize bad witness behaviours and reduce the security of the network we all care about.
And on the other hand, witnesses are being paid for their work and supporting the right witnesses, can increase the value of Steem indirectly. The best witnesses have projects that bring value to the ecosystem or support initiatives with positive impact too.
How to evaluate Witnesses
As I've written in the beginning, evaluating witnesses requires some basic knowledge, which is what I want to talk about & teach right now.
While there are multiple factors which can influences decisions on who to vote for, there are some very important, fundamental factors, which I personally call Witness Infrastructure.
Witness Infrastructure
As you should know by now, a witness is an individual or team that is running steemd on a server. Without this, we wouldn't have a blockchain.
When Steem was very new, this was done mostly by Steemit Inc themselves, but as Steem grew, external and individual witnesses created their own infrastructure, which is important for a decentralised blockchain.
If we'd have only 1 server, a possible attack would be very simple, but achieving control over the majority from TOP 20 witnesses is a lot more difficult, but only if those TOP 20 Witnesses are good actors and take their Witness Infrastructure serious.
Additionally, if 11 of the TOP 20 Witnesses were to fall out somehow, the next backup witnesses would be used in their place and active ranks would be changed accordingly.
So as you can see, backup witnesses are just as important.
Now, what exactly do I mean with witness infrastructure?
Witness Servers
Every witness has to run at least 1 server with steemd. And depending on how high a witness is ranked, additional backup servers should be available.
In my case, I'm signing a block roughly every 40 minutes, so I have an additional backup-server, which would take over if my primary server were to fail. And a TOP 20 witness, who is signing a block roughly every minute, should think about having a 2nd backup server.
Additionally, the location where the servers are is also crucial:
BAD: if all of these servers are from the same provider and in the same data center.
NOT GOOD: if all of the servers are from the same provider but in different data centres.
GOOD: if the servers are in different data centres and from different providers.
PERFECT: if one or more of the servers are hosted by the witness themselves or with an exclusive partner, meaning physical access is possible.
When I started out as a new backup witness, my servers were from the same provider. However, the more votes a witness gets, the higher the responsibility and especially as a TOP 20 witness, using the same provider for all servers is not acceptable in my view, as it creates a weakness on the infrastructure.
And if you're wondering how you know whether or not a witness is making sure his setup is at least GOOD:
Normally this info should be available in the witness-introduction post and/or in witness-updates and you're not really able to know whether or not the witness is using different providers.
However, when a witness is inactive for more than a day or the ratio of missed blocks in comparison to produced blocks is high, chance is there that he has not the correct setup. Especially in edge-cases, where a data centre is unreliable.
Seed Node
Additionally, a witness should also run a seed node, which is very similar to a normal witness server, it also runs steemd but without witness parameters.
A seed node is required for witnesses to connect to and get their data from. Which means:
No Seed Nodes = No block will be produced = Blockchain halts = Very bad
You can check all the available seed nodes here: https://status.steemnodes.com/
Keep in mind that before servers are listed there, they have to run smoothly for 1-2 months. For example mine is at seed.smartsteem.com:2001, but it's too new that's why it's not listed yet.
RPC Nodes
RPC nodes are similar to witness servers as well, but without witness parameters and with more tools, for example, to get account data from the blockchain. They are also important, however very costly and most of them, are somewhat slow and unreliable.
Nevertheless, if a witness is hosting an RPC node as well, you can be surer that they're taking their job seriously.
Check the lists of RPC nodes here: https://geo.steem.pl/
Witness Stats
For the next point, I'll use the site https://steemian.info/witnesses. I've made a screenshot and highlighted a few key areas.
GREEN: This area is for the witness-names and the ranks. In addition to displaying if a witness is currently disabled (not producing blocks), which can sometimes happen for a few hours to a few days. Now in the case of @jerrybanfield, who has disabled his witness over 2 months ago, this duration should be enough for anybody to revoke their votes.
BLUE: In this area, you're able to see the number of votes a witness has received and how much stake (MV) those included.
ORANGE: This area is also important, but can be a bit misleading. Missed blocks happen when a witness is scheduled to sign a block but isn't doing it (e.g. if the server crashed), then a missed block is added. Now, the longer somebody is a witness, the higher the chance of missing a block. Especially for TOP 20 witnesses, as those are signing one block roughly every minute in comparison to backup-witnesses who are producing one block every 20 minutes to every 1-2 days, depending on the ranking. So this number has to be taken into consideration very carefully when deciding who is a good witness. (You can use the Witness Tool from https://steemworld.org for that)
RED: Now this is very important. As I wrote before, a witness is somebody who is running the steemd program on a server. And this area displays which version of steemd the witness is running. Generally, if the number is grey AND lower than other numbers, it normally means that the witness is running an old version, which is not good. While there can be reasons why a witness chooses to do so, in most cases it's important to run the newest version. You can always find the newest releases here: https://github.com/steemit/steem/releases/
YELLOW: Another task of a witness is to run a price feed based on multiple exchange values, which is very important as this value is taken for multiple essential calculations (How much your vote is worth, how much Steem you're getting paid out as rewards, etc.)
Experience
Now, last but not least, another important factor is the competence and technical experience as a witness. If sh't hits the fan and Steem is being attacked through an exploit or maybe even halted (which already happened), you need witnesses that know what to do.
Who is able to build steemd from source (manually), without relying on outside help.
Or who are able to code on the blockchain themselves and/or review other changes (for example from Steemit Inc.).
Keep in mind, blockchains are no joke. Steem is worth hundreds of millions of dollars. And for that, you need people or teams who have the right experience.
Obviously, not everybody has to be as experienced as somebody like @gtg, but for example outsourcing the technical aspects of a witness (if it's not within the team) is a no-go in my book, and could spell disaster if an emergency was to arrive.
Other Factors
While the witness infrastructure is the most important factor for me personally, there are other elements we must consider that hold a lot of weight. Many witnesses are very effective at creating and leading initiatives, the most successful ones on STEEM are fundamental for user engagement, retention and of course mass adoption.
This is exactly why it's fair to consider some of these initiatives when we are deciding who to vote for. Witnesses you could say, come in all flavours, with some of them being amazing programmers/developers and others creating communities that have become a core element of the steering experience.
And I'd even say, witnesses that are successful on Steem have fewer incentives to be bad actors.
So with that said, here area few example indicators:
- Active on Steem
- Created/creating projects/communities that bring value to Steem
- Is actively developing software for/on Steem
- Taking a stance on important topics related to Steem
- Witness age as in how long an account is running a witness; the longer, the higher the chance that the witness has more experience, taken part in more hard-forks, etc. (Especially in combination with produced/missed block ratio)
Now there are of course more indicators and I'm interested to get to know some of yours in the comments.
Still not sure?
If you still don't know who you should be voting for that is completely fine. As a matter of fact, there is a very responsible way for you to use your influence and support good witnesses doing their work: You can proxy your witness votes.
When you set up a voting proxy, you are basically having another Steem user decide who you would be casting your vote for. If you are new, you could proxy your vote, delegate this important task, to an experienced user or to a witness that you know and trust.
It's important to know you get 30 votes, and they do not affect your upvote power on content, they are completely independent.
Epilogue
I really hope that this post and knowledge will help many of you to understand better what Witnesses of Steem do, why it's important to choose good ones and most importantly: how to find them.
With that said:
Keep on steeming!
therealwolf
Witness Infrastructure:
Primary Node: 128GB - v0.20.0 | Backup Node: 64GB - v0.19.12 | Seed Node: 64GB - v0.19.12
Projects I've developed on Steem:
Smartsteem.com > Investment & Promotion Service on Steem
Steem Chat-Wallet & Witness Essentials > Github: https://github.com/therealwolf42
If you believe that I'm of value for Steem, then please vote for me as witness. You can also set me as a proxy and I'll vote with your stake.
I removed my vote for you for witness when I saw you upvoting
@chbartist Anyone who upvotes that shit is not someone who shares my vision of what steem should be. Sorry
Read this post
I didn't upvote it normally, but the vote was sold. Post promotion is a tool, which is neither good nor bad. Some people abuse it and they get blacklisted.
And please: if you don't fully read my posts, then don't bother commenting. Especially when you accuse me of wrong facts, without giving me the benefit of the doubt or at least asking me about it.
Hi @therealwolf & @viraldrome !
First, @therealwolf: solid post. It's informative, well-written,and personally I think there should be much more public awareness regarding the importance of witness voting, so well-written content like this post of yours serves that purpose. Do continue, I'd say!
Second, suggesting @viraldrome hasn't fully read your post is not entirely fair; not reading well is something else as not having noticed/read all your posts. (Personally, I read a lot of posts, but it is impossible to read them all.)
Third, I think @viraldrome indeed has a point! The real question he's implicitly addressing is:
Should a top-50 (well-known) witness be allowed to run a top bid bot (sorry: Promotion Service) as well?. And that is quite interesting.
Yes, @therealwolf recently publicly announced to blacklist @chbartist for using the SmartSteem / SmartMarket promotional services. Personally, I think publicly posting about that is wrong, especially being a witness as well. If you wanted to stop promoting @chbartist 's content, you could have done so by notifying him only via DM. Publicly scapegoating somebody - your customer in fact - after you have allowed him to use your service for quite some time, is not really ethical, I think.
Now, many people have outed their opinion already regarding the current Trending Page, which is dominated by Promoted Posts, and not by content quality. This exact post has also risen to the top, and is an exception: this is a high-quality post that people should see and read. But there are many others on trending that surely do not deserve that much visibility (for lack of quality).
And surely the Steem Promotion Service have a huge responsibility on what they allow to be upvoted all the way to trending!
And because so many Promoted ShitPosts dominate the Trending Page, I argue that that places the platform Steem in a bad light: it's quite possible that the Trending Page is being read a lot by not-logged in users, and non-Steemians exploring the platform as well. If they "identify" the Steem platform with "ShitPosts" shown on Trending, chances are they identify Steem itself as "Shit".
And exactly that: how Steem is seen in the eyes of all should be a big concern to top witnesses!
So, I ask you, and everybody reading this: if the witnesses are, or should be to some extent, "responsible" for the "credibility and reputation" of Steem-as-a-Platform, while at the same time the Promotion Services are to a high degree responsible for what is shown on Trending, then is it just that the same person is running both a Promotion Service and is a top-50 witness???
This system is based on anarchic principles and 'free market' design, which means that there is no problem with the situation from a network perspective (albeit that the unenforced terms and conditions of steemit.com prohibit ALL bots).
I see that there are three main problems with the situation:
Bid bots do indeed invalidate 'proof of brain' and replace it with 'proof of wallet', which basically denies and blocks the magic of the Steem concept that draws so many in and who leave rapidly once they realise what is going on.
The platform is sold as being decentralised, yet top witnesses constantly receive large amounts of funds and by selling votes using bid bots, we have a situation where power is centralised among witnesses and bid bot operators (mostly). This is quite a reflection of the way that corporatocracy and crony capitalism has taken over the offline world. A key difference is that people can opt out of the steem network (and find it tougher to do the same in the offline world - except live in whatever jungles remain until the crapitalists destroy them all in their quest to 'win').
When top witnesses get to choose hard forks and those witnesses are engaged in industrial scale vote selling, this is not much different to politicians in our world who operate rigged elections (Which is most of them BTW). The network will gradually descend into one that favours the bot operator's methods and makes it ever more difficult to gain exposure without them. This is obvious to anyone with enough experience in the 'real world' to know how these situations play out over and over again in life.
It would be ideal, from my perspective, if the witnesses and community in general recognised this and took the necessary steps to resolve it.. But so far there is a kind of stand-off with a lot of frustration building up and little being done outwardly. Eventually there will either be a split or a collapse IMO... Unless, responsible change happens ASAP.
One solution has been to say that bot voted posts get moved to the 'promoted' list and/or that users have a button they can press to simply block out all promoted posts. The problem is that people could nefariously pay to upvote someone's post to hide it. So there would have to be a maximum allowable paid upvote amount, below which posts can stay in the trending page.. Maybe $20USD or something like that.
I am all for creativity - but recreating the problems of the offline world in a space that was intended to be truly innovative is not really helping anyone.
You're 100% right brother
I just made a post that explains a new way to resolve the issue of bid bots without overpowering anyone and thus maintaining a balance:
Bid Bots: Steem's Achilles Heel? I present A New Way To Solve The Bid Bot Issues And Reinstate 'Proof Of Brain'.
Here is my take on this:
A top witness shall be able to run a bot promotion service. Why not? It is a free market, if we impose rules on what one can do or not we will dive into another dangerous black or grey region.
I think that @therealwolf is fair game and even if you can buy and sell votes offline on his platform, you still see that the vote is done via his site. He could hide the sold votes via steemconnect and nobody would be able to trace them.
Before the bid promotion bots, there was a huge offline vote selling. No one could tell if a vote was paid for or not. At least with this services we have an incentive for investors to put money into Steem. Real investors look at services where their stake grows without investing to much time in it. The higher and faster the returns, the better. This is basic economics. Most high rollers don't have the time to lose and an bid promoting bot provides them the appeal to buy Steem. I see that most people who complain about the bots are poeple who never bought Steem and are in constant Power Down modus. This ones are the real killers and the ones who put pressure on the Steem price.
Steem is not only a blogging platform, which a lot of people don't udnerstand. The Steem blockchain has many more uses, one of the most important is being the fastest and cheapest blockchain in the world. Compared to BTC, it has 0 fees and can be used as a real world currency. Imagine to pay in BTC at the supermarket and wait 30 minutes so that the payment comes through. Good luck with that.
Before bid promotion bots have been here, the trending was also shit, pardon my French. There have been the same accounts over and over again.
Also taste can't be defined, what for some might be a highlight for the other one might be trash. I see posts that promote drug consumption. A lot of people will cherrish about it, others will say that this shall be banned.
I see a lot of posts with conspiracies, which make me laugh be cause, like the ones about flat earth. I would rather flag them then give them a vote and this is only because my taste is different from others, and this is good so. The truth lies in the eyes of the beholder.
Coming back to the question: Shall a witness be able to run promotional bots on Steem? Of course. There shall not be a limitation in this. Luckily we are in a free world where can decide and have to live with the consequences of our choices.
We have a lot of top50 witnesses that don't post anything, or do anything else than having the server plugged in, they've been here at the start and received the votes. Are this ones better than the guys who build some tools that incentive investors? I don't think so.
Here is another question: What must a witness do? The main purpose of a witness is to secure the good functioning of the network, or am I wrong here?
As a disclosure, together with @catalincernat we run the witness @ro-witness.
I agree. I didn't state a witness can't run a promotional service at the same time! ;-)
I too think @therealwolf is fair game (although I don't agree with scapegoating @chbartist). The way @smartsteem is funded, pretty de-centralized for that matter, with lots and lots of delegators, is really good, as far as I'm concerned.
... Which does not imply one can't ask, nor publicly discuss, about whether a top witness should be "allowed" to also run a promotional service, of course! I'm really interested in what others think about this!
Well, that he banned @chbartist is his own choice. It is like muting. I don't like a lot of people either in here. Some I constantly flag because I think their rewards are to high, even if they are at 1 cent, but as I said it is my choice. Also @therealwolf developed and invested time and resources in his service, he should be able to decide what he does with his stake and service. I know leftist will not be happy with this statement, but who cares, there are over 7 bilion people on the planet, not all need to like me, I can live in peace with that.
Of course we exchange ideas and discuss about it and I put my statement that we are allowed to do what we want on Steem. The only thing is that we support the consequences.
You're 100% right brother - do you have a plan how to eradicate it and what would you do in his place?
I've seen your comments where you defended him, said he was good for Steemit. Why are trying to downvote my comment away? If you are advertising for why people should vote for you for witness, why can't anyone counter that? You made lots of money off the person who is pretty much the face of rewards pool rape, and then defended him. What part of that is not true?
He's an investor and wanting to buy into Steem (STEEM (!) - NOT STEEMIT). That's why he is good for Steem. But I was always clear about the fact that I didn't support his way of promoting and only defended him as a human being, so he is not being bullied off the platform.
You want a higher Steem price? Then you need investors in Steem.
And I can downvote whatever I want. Especially if the comment is based on wrong facts.
Do you know how much time I'm investing in Steem?
It's 4am and I'm still awake, waiting for my witness nodes to be ready so I can active my witness again to secure the blockchain, after dedicating the whole day to make sure I'm ready once a fix for the bug has been released.
You think this is easy?
Do you even know what makes a good witness? You would if you'd have read the post.
But you're focusing on irrelevant details, based on wrong facts.
You don't like me? Fine.
You don't want to vote me? Cool.
But don't expect that I'll allow you taking a shit on me under my own post, that I've spent hours on writing.
How about you add a 6th image of your weed to your next post.
This is fantastic, @therealwolf!
So much to learn from this post, and all of it is so relevant to anyone who actively engages on this blockchain.
It's a great read with my afternoon tea 😀
Cheers,
OFI
Posted using Partiko Android
Hope it was a tasty tea and glad you enjoyed it/found it insightful.
Cheers!
This article is amazing, I wish I had read it when I started out for sure. I suppose it still is good timing now that I am a bit more established and all that. I'll do my best to get to know you guys and support the network 100%
Glad it was useful for you!
Hello, I like to read this type of article, I am interested in the subject, but I do not master it, little by little and reading this kind of publications I have learned something, not much, I thank you continue publishing on this topic for and continue learning from it. Congratulations!
Gracias @therealwolf por explicarnos de manera sencilla como podemos sacarle el máximo provecho a todas las oportunidades que nos ofrece Steemit en especial si llegamos a ser "Witnesses" de la comunidad
A fine article. The need to raise awareness about steam witnesses is why y'all should go follow @witnesspage -- stay up to date on latest developments!
Just Voted you as a witness and reblogged post. Congratulations on taking this initiative.
Thank you for the witness vote!
I did already my part and voted for some of them. I think many newbies arent aware of this or maybe dont understand what it is about. But posts like these will make them understand and guide them to a good decision :)
Enjoy your weekend!
Glad you enjoyed it! Thank you and enjoy your weekend as well!
To listen to the audio version of this article click on the play image.
Brought to you by @tts. If you find it useful please consider upvoting this reply.
thanks.very good and informative post.