Mathematics of Voting Power: Part 1 - the value of votes - technical stuff

in mathematics •  3 months ago

I will write a couple of mathematics posts about deriving an optimal strategy for maximising your voting value since I could not find a solid post with proofs. This post was sparked by a question of @iamstan.


On steemit you use voting power (VP) to vote. Luckily it is an infinte resource since it regenerates over time. The amount you can reward and the speed at which VP is replenished follows specific formulas. You can find an overview of them over here. In this post I will derive a formula for the VP you have left after a single vote. From this we will then derive an easy formula for the amount of VP left after n-votes at equally spaced times. Your vote value is equal to VP x Constant where the constant depends on a number of account specific properties. So using these formulas we can derive the value of casting n-votes. In a later post we can then optimise the total value of the votes cast in relation to voting value.

The intermediate calculations require some basic calculus, but you can also skip these if you are yet uninitiated to the calculus cult.

Assumptions and notations

I will just be looking at votes cast at 100% weight. Also I will be assuming that all votes are cast at equally spaced times.

vn is VP rate at the n-th vote and Δt is the time interval in minutes between two votes

VP is generated at fixed amount per time interval. I will just be working with minutes. So denote by

R the VP generated per minute

v1 and v2 : VP at the first two votes

So the first vote you cast is equal to your starting VP so v1 . So that's easy. After you voted your VP will be reduced by a value determined by your previous vote which is c 1(v1 + c 0) where c0 , c1 are two positive constants. In the time between your first vote and your second vote you regenerate VP equal to R Δt . Observe that the time between votes could be so big that our VP has already been fully replenished. So the VP directly after you cast your second vote is equal to


vn +1 : VP at the n+1-th vote

The cost of a vote on your VP is determined by your previous VP. Making it a recursive relation. After you cast your n+1-th vote your VP will be reduced by a value determined by your previous vote which is c 1(vn + c 0) where c0 , c1 are the two same positive constants as mentioned earlier. In the time between your n-th vote and your (n+1)-th vote you regenerate VP equal to R Δt . Then the equation we end up with is


Now assume that fk ≤ 1 for all k ≤ n+1. This means that there is no time interval where our VP is 1. Note that under this assumption the VP rate can equal 1 at the exact time we vote. Then, with some calculus, we obtain this cool formula for the VP after n+1-votes:


vtot : the sum of VP

Recall that the value of a vote is equal to VP x constant. So the total value of N-votes is determined by


times a constant. Let us assume that fk ≤ 1 for all k ≤ N . Then, yet again with the magic of calculus we can show that


That is all for now, all the opimisation stuff postponed to the next post.

Sources: Rewards: formulas from steemit . Top image from Pixabay - Geralt - CC0 creative commons. All equations made using quicklatex it is free. :D

Merchandise :D

2018-06-07 (2).png
There is a MathOwl shop which sells my artsy fartsy stuff. If you got some spare money head over there. You can learn about the colors of pi over here here. I also have really cheap stuff available like these stickers They are an absolute hoot.

Join #steemSTEM

#steemSTEM is a community project with the goal to promote and support Science, Technology, Engineering and Mathematics related content and activities on the STEEM blockchain. If you wish to support the #steemSTEM project you can: Contribute STEM content using the #steemstem tag | Support steemstem authors | Join our curation trail | Join our Discord community | Delegate SP to steemstem

Convenient Delegation Links:

50 SP | 100SP | 500SP | 1000SP | 5000SP | 10000SP | 50000SP

Image courtesy: Me ;)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

As a follower of @followforupvotes this post has been randomly selected and upvoted! Enjoy your upvote and have a great day!

Thanks @mathowl for taking the time to do the real math behind knowing the facts behind voting properly.
Now if we can just get everyone to understand this math and why it is important to vote properly to gain your share of the reward pool. Its another example of delayed gratification that I think needs to be considered to be a POB person.

You know that is another factor in this equation that has to be considered is the size or the reward pool and if that is a constant number or if it is growing or getting smaller every day?


According to this If you vote 30 min after a blog-entry gets posted then the curation reward (25 % of the total reward) will purely depend on the rshare value before and the rshare value after you vote. If you vote before 30 min then part of the curation reward will be received by the author. This follows some linear relation such that if you vote at the exact time that something gets posted then the curation reward will be entirely received by the author.


Now with HF20 coming that will be changing. it will be interesting to see how it all plays out after the fork is done.
Sometimes I vote right at 29 minutes to get in before the big votes come but on some post they come quickly. On most of my friends post I just vote when I know they have a post. Not really about the rewards but letting them know I read it. Thanks again I will be happy to read the next installment on this subject.

Just to sanity check here, the value of the vote should be proportional to the power used, not the power at the time of vote right? Finding the formulas here to be rather unfamiliar hmmm.


Maybe I am using wrong terminology.

So I am only considering votes at max weight. So in terms of the formulas from here -> we have that

so the w the weight is 100 % and V_p is the voting power

p_u is the power used. So there is a linear relation between V_p (voting power) and the power used.

The vote value is then given by

(I am assuming that Sp x g= constant)

So since I am considering max weight the vote is proportional to the V_p at the time of the vote

btw thanks for the dustvotes gift :)


Ah yes okay I thought that the voting power used formula was more complicated but I'm on board now.

One other thing I'm noticing now is that the time deltas have dependence on n. I suppose you make the assumption that they are constant for now and tweak it later?


Good job in noticing that. Yup, so Δt = c2 / N where N now corresponds to the votes cast within a certain time interval and c2 is some positive constant. So if N is fixed then Δt is contant. I will start using this N-expression for Δt in the next post :)

Congratulations @mathowl! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by mathowl from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.