Steem Witness

From Bee Wiki (HIVE)
Jump to: navigation, search

A Steem Witness is a person who operates a witness server (which produces blocks), and publishes a price feed of STEEM/USD to the network. Witnesses' computers in the Steem network have a job that is to make 'blocks' and add them to the blockchain and also to store the complete blockchain data. These blocks contain information about posts, comments, votes and currency transfers.[1]

Accordingly the Steemit FAQ the Steem blockchain requires a set of people to create blocks and uses a consensus mechanism called delegated proof of stake, or DPOS. The community elects 'witnesses' to act as the network's block producers and governance body. There are 20 full-time witnesses, producing a block every 63-second round. A 21st position is shared by backup witnesses, who are scheduled proportionally to the amount of stake-weighted community approval they have. Witnesses are compensated with STEEM Power for each block they create.[2]

The witness and creator of this wiki Chris (@someguy123) proposed a 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. The steemian TeamSteem (@teamsteem) explained that Steem witnesses are computers or nodes run by some Steemians. These are running 24/7. They provide the computational power required to process all Steem actions recorded on the Steem blockchain.[3]

The Steemd shows a top 100 Witness live list in the link and explains that the very round of block production begins with the shuffling of 21 witnesses: the top 20 witnesses (by vote), plus one randomly-selected standby witness. Each is given a turn to produce a single block at a fixed rate of one block every 3 seconds. If a witness does not produce a block in their time slot, then that time slot is skipped, and the next witness produces the next block.[4]

Price Feed and Hard Forks

Witnesses have many tasks, Chris (@someguy123) continued, 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).[3]

Acordingly to the @teamsteem, the price feed is use by the Steem blockchain when it calculates how many SBD it owes for its author rewards. It is also the price feed that is used to calculate the worth in $US displayed in the wallet.

The price feed is the median price feed of the last 3.5 days of all the top 20 witnesses price feed. The price feed can be set manually or automatically with a piece of software called a script. Set manually it can be update 2-3 times a day and automatically every hours or so. When set manually witnesses look at the price of Steem in sites like Coinmarketcap or elsewhere and enter this USD price in their witness terminal.

Below is an example of the command line witness must enter to change their price feed:

publish_feed "teamsteem" {"base":"1.167 SBD", "quote":"1.111 STEEM"} true

This is reporting that STEEM is $1.167, with a 10% discount (1/.90 = 1.111) if it did "quote = 0.500 STEEM" that would be a 100% premium.

Price feed scripts do this automatically taking the average price from different exchanges.[4]

Chris (@someguy123) revealed that 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).[3]


The steemians can vote for the witness in the link As told before, the Steemd shows a live top 100 Witness list in the link

The less steemians there is casting their vote for witnesses the bigger their influence on the witness list than if 100% of steemians had voted. A lot of people are currently missing out on the opportunity of supporting some witnesses and maybe in return have some support from those witnesses.

Vote for the witnesses you think have the most positive influence on Steem. This will help them gain more influence/Steem Power and in return they'll have all the reasons to support you back. The bigger your support the bigger your odds are.

Blocks creation and earnings

Accordingly Chris (@someguy123) post, blocks are produced in "rounds", which are 21 blocks long, and blocks are created every 3 seconds. During each 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 semi-random witness outside of the top 19, which is influenced by their ranking
- Before Hard Fork 16, 1 block used to go to a Proof-of-Work miner, who was able to become a witness for just 1 block.

In this post published in August 2016, the co-founder and former Steemit CTO Dan Larimer explained in a more detailed and direct way: Steem Witness scheduling algorithm.[5]

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). 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 witnesses are less liquid.[3]


  1. Steemit FAQ: What are Steem witness? Retrieved in October 7th, 2017
  2. All You Need to Know About Steemit Witnesses Written by @globocop in Steemit in July 18th, 2017.
  3. 3.0 3.1 3.2 3.3 Seriously, what is a STEEM witness? Why should I care? How do I become one? (Answer) Written by Chris (@someguy123) on Steemit in September 2016.
  4. 4.0 4.1 What Are Steem Witnesses And Why You Should Support Them! Written by TeamSteem (@teamsteem) on Steemit in June 2017.
  5. Steem Witness Scheduling Algorithm Written by Dan Larimer (@dantheman) on Steemit in April 23rd, 2016


Related articles

External Links

Help keep this wiki page updated. Register, click in edit, add or modify the text and save.
If you're already a steemian you can be rewarded with STEEM, see how in @steemcenterwiki.