Some people are still confused as to what a witness is. There's a lot of mixed information on Steemit as to what a witness does, and how much they earn.
I'm here to clear this up with a thorough post, with simple explanations where possible.
What is a witness?
A witness plays a crucial part in how the STEEM network functions. Some people might not be aware of this, but Steemit is just a fancy web interface on top of a large network called STEEM, which operates remotely similar to Bitcoin.
Simple Definition:
A STEEM witness is a person whom operates a witness server (which produces blocks), and publishes a price feed of STEEM/USD to the network.
Witnesses have many tasks. The first and foremost is to produce blocks (thus process transactions), the second most important is to produce a price feed, which is how STEEM Dollars are always worth 1 US Dollar in STEEM (using the 7 day exchange).
You may have heard of the term 51% attack before. Unlike Bitcoin, miners don't matter much to the STEEM network, instead, that is a witnesses job:
A hard fork happens when 67% of the top witnesses are all running a certain version of STEEM, which means the top 19 witnesses can pick and choose whether to agree with a fork or not. (e.g. Hard Fork 13 and 14 were both postponed for a week, and re-designed because witnesses refused to update)
Tl;Dr
- They're the main producer of blocks (not miners)
- They maintain a price feed, which is how SBD functions
- They play the role of consensus (decide whether to hard fork or not)
- Many witnesses, such as myself, @riverhead, @roadscape @jesta and @arhag work on important things to help the STEEM network function and grow
- Some witnesses don't produce any content, or work on anything STEEM related, e.g. @gtg - however, they are sometimes highly focused witnesses, who are very reliable (gtg has only missed 2 blocks after running for months)
Why should I care?
A witness is paid proportionally to how high they are in the witness ranks, excluding the top 19 witnesses (who get 1 block every ~63 seconds).
But how do they get to those ranks? They get voted in, by people like YOU. It's just like an election, if you don't vote, other people may vote in witnesses who are malicious or simply unreliable.
@thecryptofiend has came up with a questionnaire for witnesses, which may help people decide on who to vote for: https://steemit.com/steemit/@thecryptofiend/witness-questionnaire-a-solution-for-voter-confusion
You can see the witness ranks, and vote for witnesses at https://steemit.com/~witnesses
How are blocks created/scheduled?
It's not a very even mixture as you would hope. Blocks are produced in "rounds", which are 21 blocks long, and blocks are created every 3 seconds.
During each 21 block round, the blocks are distributed as such:
- 19 blocks go to the top 19 voted witnesses (who are slightly shuffled to avoid witnesses purposely skipping blocks)
- 1 block goes to a Proof-of-Work miner, who becomes a witness for just 1 block.
- 1 semi-random witness outside of the top 19, which is influenced by their ranking
You can read more about the witness scheduling (it's very complicated!) in this article by Steemit CTO @dantheman :
https://steemit.com/steem/@dantheman/steem-witness-scheduling-algorithm
How often do they get blocks (how much do they earn)?
As mentioned in the previous section, witnesses are paid proportional to their rank in the system. A witness at rank 30 can produce as many as 4 blocks/hour, compared to a witness at rank 50, which may produce less than 1 block/hour.
A STEEM block is worth 1 STEEM Power (not STEEM, or SBD), which means all rewards for miners/witnesses are trickle-paid for 2 years.
In my current position, 39, I create between 2 to 3 blocks per hour. (2 * 24) * 31 = 1488
- that's approximately 1,500 STEEM Power per month at rank 39.
But what about the top 19? What do they get?
The top 19 witnesses get 1 block each, per 21 block round. This means they get approximately 1 block per 63 seconds.
Per day they get roughly 1400 SP
(60 * 60 * 24) / 63 = 1,371.42
Per month they get roughly 42,500 SP
(60 * 60 * 24 * 31) / 63 = 42,514.28
And per year they get roughly 510,000 SP
(60 * 60 * 24 * 31 * 12) / 63 = 510,171.42
Can anyone become a witness?
The short answer is: Yes.
Becoming a witness requires several things:
- A powerful (and reliable) server to run a witness server on
- A second powerful server, with good bandwidth - to operate a Steem Seed (similar to a Bitcoin full node, distributes blocks)
- Creating a signing key, and then broadcasting your intent to become a witness from
cli_wallet
- An accurate price feed of STEEM/USD which is updated at least once per day
- Technical capabilities - you should understand most STEEM concepts, and be able to deal with server problems quickly
- Trust from the community that you would be a good candidate for a witness
Some of these steps are optional (e.g. the seed), while others might not matter until you approach the top 19 (the price feed) however, they're all very strongly recommended if you want to succeed as a witness.
I will be posting an in-depth tutorial on setting up a witness soon, as many of the existing articles lack important details. Until then, if you want to set up a witness, I recommend joining #witness
on STEEMIT.CHAT and asking for up to date guidance.
Short and consumable write-up, hopefully it'll get people starting to think about witnesses and who they should vote for. One comment:
The price feed really isn't an optional step for the top 19, it's more of a requirement. It's "optional" for those outside of the 19, but not running one may prevent whales from casting a witness vote for a candidate.
Updated to clarify that. Thanks for the suggestion!
@jesta K hope you can simplify witness is for newbie like me too. So complex a term is but interesting
If I understand correctly, Steem data (posts, images, ...) are stocked on the witness servers or am I wrong ? Witnesses mean decentralization ? Thank you very much for your explanation. Best regards,
As far as i know the posts are stored on the STEEM blockchain and the images are in the IPFS with only links to those stored on the blockchain.
Thank you for your answer. Take care.
Nice, I had not known that about witnesses outside the top 19 getting blocks. Unfortunately, @dantheman's explanation of the scheduling algo in that post you linked to is really awful. :)
Do you produce blocks regularly, or is it at random intervals? I mean is it every 2.6 hours exactly or on average? (some 2, some 3, some 5)
You can try reading my post on the witness scheduling algorithm. It is more up-to-date than @dantheman's old post (although my post will also become slightly out-of-date after hardfork 14). Particularly look at the "How witness scheduling was intended to work" and the "The new witness scheduling algorithm" sections.
But I think a more approachable way of understanding the witness scheduling algorithm (my post still goes into the technical details which may be undesirable to some) would be through the following analogy:
Thanks. So the racecar analogy seems to be saying that the next running witness is selected deterministcally. Correct?
Yes.
There's some randomness to it. There's also the fact I fluctuate in rank a lot. Last week I went from 47 to 51, and was stuck there for days. Now I'm at rank 39, after rising from 44 a few days ago.
Dan describes it as a "virtual racetrack", where your ranking adds a certain amount of points to how close you are to the finish. When you reach that virtual finish line, that's when you're allowed to produce a block. Thus people in higher rankings move up faster on that virtual racetrack.
Thank you very much for this.
I am already following you and voted for you as a witness, which is an achievement as i have only voted for 5 witnesses so far.
Can you explain what happens when i only vote for a few witnesses vs many? I don't quite understand how the voting works other than it is based upon SP.
That is a very good question.
The only thing you need to know is that you're allowed to vote for up to 30 witnesses (then if you want to vote for more, you gotta remove some of your existing votes). I believe they all get an equal amount of STEEM power from your vote, but it could also be similar to voting power, where it gets split between witnesses. I'm not entirely sure.
Thirty votes ever or in a time frame? I’m still quite lost. I thought I was doing well to understand what blockchain is and this is a completely new thing for me.
Your last sentence made me willing to consider anything you have to say.
This is a good post
I do have a few questions , is a miner and witness the same thing? If you were buying all new equipment to do this what equiptment would you buy? What kind of electric bill is envolved in those top witness numbers, or yours? I mean it looks like you would be losing money running your witness unless you are one of the top 19.
Lets take your 1488 sp a month. Lets say it is worth $.80 that would be $1190 with out knowing what electric is it wont be accurate, but I used to mine bitcoin and litecoin and my electric bill was $800 a month, so i am going to use that number.
1488 sp x .80 = $1190
$1190 - 800 electric = $390 a month
Now lets look at equiptment I spent $22,000 on mining eqiuptment and the difficulty level quickly put me out of mining bitcoin and litecoin unless I bought more equipment.
So my question is, does the difficulty level stay the same or rise on steem?
Now lets say the equiptment is $10,000 And you are only making $390 a month it would take 2 years to pay off that equiptment, not including buying new equipment to keep producing the same number of blocks because of difficulty level rising. Thats not including if the price of steem keeps going down, and i honestly dont see a reason why it would go up. Supply and demand, and steem has a never ending supply doubling every year with very little demand. The only way it will go up is if every body would always power up and and never power down, even then they are probably producing way more then they are paying out. Even though total accounts are going up , active accounts are going down that is not a good thing. I have seen a lot of alt coins and they almost always go to basicly nothing.
Witnesses aren't like miners. They don't "mine". They get scheduled for a block, and when the time comes, they just broadcast the block with their signing key, and the rest of the network goes "oh it's someguy123, he was supposed to broadcast this block just now so let's take it".
Because of this, witnesses don't need "mining equipment". Any run of the mill dedicated server or VPS is perfectly fine. You're mostly looking at network connectivity. You want a provider with DDoS protection (so if you, or anyone else on the host gets attacked, then your witness shouldn't be affected), and a large network. OVH and Hetzner both fill those gaps these days. DigitalOcean is also pretty good, but expensive.
You also have to be aware that miners and witnesses get paid in STEEM Power. Even though I'm currently getting 1500 SP per month, my ranking changes a lot, and my current total of 5000 SP / 104 weeks = just 50 STEEM per week, it's not that profitable until I rise up some more.
I can't tell you much about the mining system in STEEM, but it's very different from Bitcoin. Instead of mining blocks, you mine account private keys (ECDSA instead of SHA256), and if you successfully mine the key, you become a witness for 1 block, allowing you to get 1. a new account of your choice (that's why badger has like 100 badger[1-9] names), and 2. 1 SP from the block. (I'm not 100% certain of these, someone correct me if I'm wrong)
Thank you for replying, Just one more question. What kind of expenses do you have and how much?
The server my witness operates on costs about £30/mo (thats $40 in US Dollars). That server runs several other things (but all isolated on different networks within VMs), but the witness is still fine.
Thank you for posting this! I am clueless.
Voted for you and @jesta as witnesses because I like what you're doing. I'm considering to become witness too, so look forward seeing a detailed guide.
Wow, thank you so much for this. As someguy123 as my witness I fear no evil :) Witness vote engaged!
Oh cool! Thanks for this post. I am a total noob so been wondering what the deal is with whales, witnesses and all. Looks like I still have a lot to learn about steemit.
Being a witness sounds like a full time pain in the ass job.
You have answered the questions we should be asking. Thank you for your well written article.
Let's vote for those witnesses that will add some more value to the community
If i run wintness node... how much can i earn? any rough estimate?
Depends on your position in the witness list, as mentioned in the article.
Below 50 could be less than a block every 2 days if not per week. 50 gets 1 block a day, while 30 can get up to 4 blocks per day.
I'm getting more and more motivated to apply for witness!
nice, been looking for this kind of article, thanks
waiting for the setting up witness tutorial
Good post! Follow you and vote for witness
Interesting stuff. I'd heard about witnesses, but didn't really understand what it involved before. It sounds like a fair bit of work, so it's understandable that they get rewarded. I do plan to get more involved in Steemit, but I may be a way off applying to be a witness.
Fantastic post. I think this is the easiest to understand description I have seen. Thanks for link to the questionnaire too:)
This is a good post , upvoted followed and voted for you as witness.
💋 @halo 💋😇
I am missing now 'favourite' or 'bookmarks' in Steemit. This post should be somewhere there. And 'Witnesses' menu entry should be renamed to 'Vote for a Witness'. Me and I guess a lot of people do not click there as I thought that this is just a static list and I have no influence on it.
Hi @someguy123, I'm just stopping back to let you know you were one of my favourite reads today. You can see what I had to say about you here
Thanks, it does somewhat clear it up for me, although its still a little beyond my comprehension lol
That was clear enough to understand and Ill leave that job to the more experienced members, to much hard work lol
This post has been linked to from another place on Steem.
Sept. 15 -- Steemit Ramble -- Notes on My Favourite Reads by @shadowspub
Spread the Love , please Everybody just hear me out! For the sake of the Steemit Community by @ethbull
Learn more about linkback bot v0.4. Upvote if you want the bot to continue posting linkbacks for your posts. Flag if otherwise.
Built by @ontofractal
Looking forward to your witness tutorial. I've been thinking about switching one of my mining servers to a witness now that mining Steem is all but dead. From what I can see setting up a witness and setting up a miner are somewhat similar, but I'd like to see your tutorial before making any decisions.
Clouds of misunderstanding disappeared
Thanks much for the explanation.
@someguy123, just arrived here from @reggaemuffin's blog. I am just a week old here and still learning the ropes. This blog is good and gives me a better foothold in the steem world. One step at a time, my learning continues. Thanks for the blog.
And I voted @reggaemuffin for witness..
This is a little bit (a lot really) out of my knowledge area. I am learning with help from great new friends like you! Thanks @someguy123
out of many I read about witnesses, your explanation is spot on!
This has been really helpful. Someone requested me to vote him as witness, but I didn't know what it was! I'm new to the community XD
Nice post to make us understand how things work ...... Lets all support steem and become a witness.... :D
This was important for me. Thanks
@someguy123 still confused with this witness thing but thanks for the information I will keep reading on post about this
Whoa, okay. Now i know!
Thanks for this - trying to get my head around the various components of steemit. This was quite informative, cheers. @positiveninja
One thing I've been wondering lately is how accessible Witnesses would be. Are any of them on Wire? (I know that Steemit has a chat site --- and would be keen for alternatives...more secure ones)
This was an informative article.Timely and very well written.
Do any witnesses rent server space or do they all own their own servers?
Finally, I was looking for something like this post for days. Glad to found it. Nice post, now I know what is a witness. Thanks.
Thanks for the info i was wondering what a witness server was. it was bothering me because one of my favorite dtubers is setting up one so i wanted to know.
I'm disabled and have a ridiculous amount of free time these days. Am fascinated with becoming a witness and being a "good" witness, but fear that I don't have the technical knowledge (or horsepower) to fully participate. I don't have dedicated servers and whatnot. Just a laptop and a mobile phone, sadly. Thanks for taking the time to write this post, it's helped me better understand the purpose of a witness.
A very detail explanation, thank you very much.
"Ahh'm givin' ye an up-vote fur yer efforts! But guid Laird matie! who coods ever make heed nur tails of thes tangled web?! Mair importantly, who woods want tae?! Blye me!" 😵-Keptin
I know I'm a little late, but thanks a lot for this post. It made me understand much more all the current Steem situation which caused the shut down earlier today.
Thanks for that. Follow over here. I'm a quick learner, and this sounds actually like I might be interested in it. I've got a lot of server power being underutilized at the moment, so maybe I could lend a hand once I learn more? Can the dedicated server be a virtual machine? that's how the rest of my infrastructure is set up.