警告:您可能成为了企图假冒本网站内容的目标。 我们检测到该网站被IFRAME包裹,这意味着与EOS Canada无关的人试图向您展示他们的内容与我们的内容相关,可能为了让您相信他们与EOS Canada有关。 我们与任何试图这样做的组织都没有联系,它也没有受到我们的认可



WARNING: you may have been the target of an attempt to misrepresent the content of this site. We detected that the site was wrapped in an IFRAME, which means that someone else, not associated with EOS Canada, attempted to show you their content combined in some way with ours, possibly to make you believe they are associated with EOS Canada. We are not associated with, and do not endorse, any organization attempting to do this.
background-flotant-top-right-01

Blog: EOS Block Producer Tips & News

background-flotant-top-left-01

How Is Your Vote Strength Calculated On EOS?

September 11, 2018 / by Josh Kauffman

It cannot be stressed enough how important your vote is on the EOS blockchain. But an often misunderstood part of voting is the relative decay in strength of a vote over time. To help prevent Block Producer votes from getting out-of-date and stale, a user’s vote will lose its relative strength over time.

Why Do Votes Decay?

On the previous project from Dan Larimer (Steem) there are many votes that were cast in the past, but that are no longer relevant. This is abundantly clear when a Steem Witness (their name for a Block Producer) is no longer active, but it is still receiving votes.

According to Steemian.info, at the time of writing of this article, to determine who the top 100 Witnesses are, you have to go through the top 117 voted Witnesses. This is due to 17 having declared themselves no longer active or not participating within the latest hard fork, yet still receiving enough votes to be considered a top Witness.

To combat this, Block.one introduced the idea of vote decay when they released Dawn 4.0 at the beginning of May 2018: “In order to maintain maximum voting influence each voter will have to re-assert their vote every week. Voting influence decays with a half-life of 1 year for those who do not keep their votes up to date.”

What is the Math Behind Vote Decay?

When you dig into the code controlling how the vote decay is calculated, you’ll notice that votes don’t actually decay. Rather, it’s that all new votes have a stronger vote strength than old votes, which is a clever and efficient way of obtaining the same effect. Let’s go through the formula together to understand. (For those unaware, the word ‘double’ in the math is part of the coding language, and is not meant for doubling of anything)

 

It should be noted that for `block_timestamp_epoch`, the EOS.IO software uses seconds since January 1, 2000, and that the standard Unix timestamp counts seconds since 1970. If we translate this formula into pseudo-English, it would look more like this: 

Then the value of `weight` is used in:

 By taking the integer part in the first equation, it is effectively saying that your vote strength can be increased weekly, but not more often. If a user wanted to keep their vote at peak strength, they would want to vote each week at 00:00:01 UTC on Saturday.

Every week, by revoting, a user increases the relative strength of their vote by approximately 1.34%. While this is not a massive amount, spread out over thousands of accounts, this amount can have an effect on which Block Producers make it into the Top 21, as well as the Vote-based payout that each paid Producer receives.

Walking Through a Calculation of Vote Weight

To help understand the math, we’ll walk through a calculation together. We’ll paste in screenshots to help you follow along.

The first step is to grab the information on the account from the blockchain. To do this, We used `eosc` and entered the command `eosc get account [ACCOUNT NAME] --json` which returned this at the end of the JSON (the “owner” and “proxy” accounts have been removed from this photo):

Screen Shot 2018-09-02 at 9.05.21 PM

This account is showing no Block Producers listed next to “producers” as it is using a proxy for its vote. We can see it’s staked amount of 4176500 (which is equivalent to 417.6500 EOS, as the system disregards the decimal, and there are 4 decimal places in an EOS.IO blockchain). We can also see the target for our calculation next to “last_vote_weight”.

We then went to eosq to find the time of the last voting action, where this account re-cast its vote for its chosen proxy.

 

From there, we can plug that time into a unix time converter making sure to translate the time into the UTC timezone.

While at the unix time converter, you can grab the time for January 1, 2000, at 00:00:00 UTC as that is what the blockchain uses for the “block_timestamp_epoch”. This number, for reference is 946684800. You will now have all of the data needed to perform the calculation.

 What About if I Proxy My Vote on EOS?

If a user has chosen to proxy their vote, they will still need to recast their proxy vote if they want to maintain the strongest vote strength that they can. This will also help to ensure that a user confirms that the proxy that they have chosen is still active and is still maintaining their voting standards as they claimed they would.

If the account that you have chosen to proxy to does not recast their vote, this will not affect your vote strength. Only their own staked amount will not be increased to the current maximum.

How Does This Affect the Results?

If you’d like to see how vote decay is currently affecting the vote results of EOS Block Producers, you can go through EOS Authority’s Voting Decay Analysis which tracks the decay of vote strength on the network.

If you want to view your current loss of voting strength, you can look up your account on eosq. By going to the “Votes” tab, you can find the last time you voted, as well as the current relative strength of your vote. It’s a quick and simple way to easily view the amount of strength your vote stands to gain by simply revoting. 

How Do I Cast My Vote?

While there are many voting tools available to you, EOS Canada recommends our multi-functional tool `eosc`. Once you’ve got it set up for your account, you can enter the command `eosc vote producers [YOUR ACCOUNT NAME] [LIST OF PRODUCERS]` and it’s as simple as that.

Hopefully, this will give you the information you need to keep your vote strength up to the strongest amount possible, while also showing you why this is a useful feature to have on the EOS mainnet. Your vote is important; make sure that it retains the strength it deserves.

Topics: Stake, How to Vote, proxy, Education, EOS Vote

Josh Kauffman

Written by Josh Kauffman

Josh wants to educate those around him. Since learning of cryptocurrency, he’s become a missionary -- urging those around him to understand this technology that will underpin tomorrow’s world. His latest passion is the crypto space, looking to be part of those who lead the drive towards Web 3.0.

cubes-solid

ABCs of EOS

A glossary of terms that every EOS user should know.

MORE

Apply to Access Our Newsletter

Get exclusive insights into EOS blockchain technology