Repository
https://github.com/steemit/steem
Introduction
After the pretty unpleasant transition to HF20, nearly everyone got his Voting Power/Mana reduced to very low values. Lots of accounts stopped voting for a few days, and now we feel this because everyone's vote value is increasing a lot. This Post is aiming to show why and how this increase in vote value happens.
Outline
- Scope
- Introduction to reward calculations
- Results
- Small Time Frame
- Medium Time Frame
- Large Time Frame
- Conclusion
- Relevant Links and Resources
Scope
This analysis takes nearly all of the snapshots of the reward funds snapshots that are available on https://steemdb.com/api/funds. Luckily @jesta has made these snapshots, otherwise this would've not been possible. A snapshot gets takes every day optimally but there are some free spaces where data is missing. All of the analysis is done with python
. For Steem related interactions, beem
was used. matplotlib
was used for all graphs. I used the data until the data of 450 days ago. All graphs have been created on the 7th October 2018. For getting the Steem price at a certain date, I used the @coingecko API.
Introduction to reward calculations
To understand the following parts of the contribution, you need to understand how the reward calculations work in detail. Whenever a vote gets cast, a certain amount of rshares get calculated. These rshares depend on the vests the voting account has, its voting power, and the vote weight used. These rshares then get added to the recent_claims, the sum of all currently active rshares. Then, there's another important number. The reward_balance. It is usually referred to as reward pool. It contains about 80k Steem normally. For calculating the value of a specific vote, you first need to check how big of a part of the recent_claims the vote is. For explanatory purposes let's say, the vote has one 10th of the recent_claims. That means, that one 10th of the reward_balance belongs to this vote. That would be around 8k Steem. These Steem now get converted to SBD (or STU - however you want to refer to it) using the witness price feeds. Now you got the value of a vote you want. Look here for the steemit tutorial for coders on the above.
Results
The Graphs in this contribution often have to different scales. Pay attention that you don't misread the Graphs
Small Time Frame
To start seeing the impact HF20 had on the reward distribution, I built a graph showing the Steem price, the recent claims, and the upvote value of an account with 10k SP over the last 7/14 days.
It is clearly visible that from about a week ago there is a strong downwards trend on the recent_claims. This is pretty certainly caused by the Voting Mana drop that happened with HF20. Before the downtrend, things were rather stable with only small changes. With the drop, the vote value has gone up a lot, and the Steem price went up a bit with it as well.
This makes very much sense, that a single rshare is worth more, if there are way less recent_claims. But that still doesn't add up. In the 14 day graph, the rshares went from ~5.2e17 to ~4.0e17. That is a bit more than a fifth of the rshares that are "missing". But the Upvote Value has gone up a lot more, from a little above 0.5 STU up to a bit over 0.9 STU. That nearly doubled, but the Recent Claims haven't gone down that much. That means that another factor also changed quite a bit, since the steem price hasn't undergone much change. So let's look at a graph of the Recent Claims and the Reward Balance in the last 7/14 days.
Wow! The Reward Balance skyrocketed. While the Recent Claims went down, the Reward Balance went up a lot. Now the vote value changes make some sense. The combination of Recent Claims, Steem Price and Reward Balanced nearly doubled the value of a vote. But how big are these changes really? Let's look at them in a bigger time frame of one/three months.
Medium Time Frame
In the 30/90 day Graphs you can see something, while logical, still interesting. The Recent Claims had an almost constant increase before it dropped with HF20. What really wonders me, is that the Recent Claims aren't recovering yet. Maybe this is due to people voting less, or it is because of Voting Mana. There are a lot of accounts having a constant power down after all, and the SP you currently power down, has no effect on your votes anymore, so that might be part of the reason we will have less Recent Claims even after equilibrium has been reached.
Also, on the 90 day graph, it is very clear. The drop is very extreme. The Recent Claims really plummeted. I'm happy this is not the Steem price ;-) Another thing you can read out of the above image is that there are some vote value spikes as well, when the Steem price spiked.
Apparently, the Reward Balance and the Recent Claims movements are close to symmetrical. Almost always when one goes up, the other one goes down. Also, once again you can see how big the change actually is. But how do the developments look if make the date range even bigger? Let's try it with 150/450 (short after implementation of linear reward curve) days.
Large Time Frame
Actually you can see that the vote value was very low in September. On the 16th of September 2018 we actually hit the lowest point of the last 450 days with an upvote value of about 43 cents per 10k SP! This increase is badly needed :-P Also, in the history of this reward distribution system, there apparently never was such a drop before. This is the first time this happens on that scale. To call it that way, we got thrown back to the start of February with the HF. Additionally you can see that the vote value has been moving along with the price all the time and there has been barely any movement not depending on the price. For completion, let's add the 150/450 day graph as well.
It seems like we hit an all time high there as well. Reward Balance was never that high anytime before! What a time to be steemin' ;-)
Conclusion
Hard Fork 20 cause quite a lot of trouble, and a quite few equilibriums had and still have to be reached. Due to the Voting Power to Voting Mana transition bug, the Recent Claims plummeted, and the vote value has risen a lot. Another factor in the vote value change is the Reward Balance that has been rising a lot while Recent Claims fell down. Also, the sum of active vests got reduced, since the vests that will be powered down on an account after 7 days aren't active anymore, and don't count towards the rshares in the calculation. All these factors together made the upvote value nearly double. All values will probably go closer to what they were before the Hard Fork.
Proof of Authorship
All code is at my GitHub