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.
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)
- 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 :
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
- 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.