Once again, some witnesses have angered Pai Mei.
Reliable Price Feed
The STEEM whitepaper describes the importance of the price feed, in the Steem Dollars (SBD) section on pages 9-12.
Steem Dollars are referred to with the symbol SBD, an acronym for Steem Blockchain Dollars. Creating SBD requires a combination of a reliable price feed, and rules to prevent abuse. Providing a reliable price feed involves three factors: minimizing the impact of an incorrect feed, maximizing the cost of producing an incorrect feed, and minimizing the importance of timing.
Witness Duties
All witnesses are required to do a few things:
1- Run a stable witness node 24/7, with backups if needed, and avoid missing blocks.
2- Run a seed node (optional, but highly recommended).
2- Publish a price feed at least once daily.
The first and second tasks are the biggest challenge. They require some linux admin skills and financial input. The importance of the servers cannot be stressed enough, but that's not the topic of this post.
Last, but not least, the third task. It is the easiest thing to do in a witness setup and doesn't require additional costs. The price feed can be even ran from your own computer, all operating systems included. Currently, 33 out of the 111 active witnesses (30%) are in the red, i.e. not publishing a price feed or their price feed is older than 24h.
Price Feed Importance
The price feed is calculated from the median average of the top 20 witnesses from the last 3.5 days + the backup. It's true, the backup witnesses don't have much impact, given their constant rotation on the schedule. For argument's sake, let's say all the top 20 are publishing a 1$/STEEM price feed, even if all the backup witnesses published a $100/STEEM feed, it still wouldn't change the median value of $1, let alone over the course of 3.5 days. In other words, their influence is transient and negligible. However, that's not a reason to be negligent.
The price feed is needed by the network to convert SBD to USD via STEEM's price, therefore it is used for:
- SBD to STEEM conversion
- Calculation of the debt ratio
- Calculation of the reward payouts
Imagine if the majority of the top 20 witnesses go down for some extraordinary reason (datacenters outages, desisting from witnessing, blind whale voting, hostile takeover, whatever), and that the backup witnesses are publishing wrong feeds, old feeds or none at all. Suddenly, the backup witnesses' feeds become more relevant. So what happens? The median price feed gets corrupted of course, the conversion and the reward distribution go haywire. If the price feed is too high, the users will get more SBD and less STEEM. Vice versa, if the price feed is too low, users will get less SBD and more STEEM. Naturally, the vote's value in SBD is also affected since it is directly proportional to the price feed. Therefore, an accurate price feed is required to give the users the fairest amount of STEEM rewards, in relation to the market price.
| Price Feed | SBD Reward | STEEM Reward | Vote Value in SBD |
|---|---|---|---|
| Too High | ↗ | ↘ | ↗ |
| Too Low | ↘ | ↗ | ↘ |
I urge every Steemian (witnesses and voters) to often consult https://steemian.info/witnesses to see what's going on, not only with the price feed, but with the overall parameters. If you are witness and something is amiss, give yourself a kick in the butt and fix it. If it's your neighbor, give him a nudge. If they don't care to fix it, unvote them, that might catch their attention.
Running the Price Feed
Conductor and Steemfeed-JS are two popular packages that allow the automation of the price feed publishing. There are many other scripts, pick your flavor, and stay in the green. The price feed can break easily for various reasons. Because the price feed is based usually based on an average from multiple exchanges, if one exchange goes down or is unreachable, your script may stall. Also, if the RPC node you're using is down, the script will freeze. We saw that happen recently with the decommissioned steemd.steemit.com node, I wrote a post about that: Steemfeed-JS RPC Node Update.
So please make sure you're monitoring your server of any symptoms. https://steemian.info/witnesses is a good place to check, or if you have your own fail-safe mechanisms. Whatever works.
Closing Thoughts
I'd like to quote those excerpts from the white paper:
SP holders elect individuals, called witnesses, to publish price feeds. The elected witnesses are presumably trusted by those who have a vested interest in the quality of the feed. By paying those who are elected, Steem creates market competition to earn the right to produce feeds. The more the feed producers are paid the more they have to lose by publishing false information.
Thus, if the community is rewarding witnesses (in SP) to provide stability, why would the community elect and pay for those who don't care or take their duty seriously?
In the event the feed does get corrupted, network participants will have an opportunity to vote-out corrupt feed producers before the corrupted feed can impact the actual conversion price. Perhaps more importantly, it gives feed producers an opportunity to detect and correct issues before their feeds start impacting the price. With a three and a half day window, community members have approximately one and a half days to respond to any issues that come up.
And that's exactly what I did. I have written many times about keeping the network healthy. Alas, the message seems to fall on some deaf ears. So, as a Steemian and a witness, I have pulled my votes for witnesses who have been neglecting their price feed repeatedly. If I take my witness job seriously and if I care about the network, so should you. There's no reason whatsoever NOT to publish a correct price feed. We are elected to provide a stable network, we should be looking after it, not coasting, taking our ranks for granted and collecting rewards.
Those who have been publishing an accurate price feed, or in the process of fixing it (and keeping an eye on it), Pai Mei is very pleased.
Those who aren't updating their price feed regularly... what are you waiting for?
Recommended readings
Here are some in-depth links that discuss the importance and usage of the price feed.
- Steemit white paper
- How to Calculate the Value of a Vote by
- How to Calculate the worth of Any Steemit Vote – Steemit Business Intelligence by
- SBD Conversion: The 7 Day Median Average Price by
Available & Reliable. I am your Witness. I want to represent You.
🗳 If you like what I do, consider voting for me 🗳
If you never voted before, I wrote a detailed guide about Voting for Witnesses.
Go to https://steemit.com/~witnesses. My name is listed in the Top 50. Click once.
Alternative voting methods
https://v2.steemconnect.com/sign/account-witness-vote?witness=drakos&approve=1
cli_wallet: vote_for_witness "YOURACCOUNT" "drakos" true true
steem-python: steempy approvewitness drakos --account YOURACCOUNT