Seriously, what is a STEEM witness? Why should I care? How do I become one? (Answer)
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.