In June 2018, EOS token holders will be able to vote for their favourite Block Producers - like EOS Canada. A recurring question being asked around EOS blockchain forums and chats is “How do I use my tokens to vote?” There are a few solutions that we are pleased to share to help you understand the EOS voting system.
Disclaimer: This article is our best effort to gather accurate information as of writing. We will work to update this article as new information comes to light.
Block.one, the company who built the EOS.IO software, has said that they will only be releasing a command line tool with EOS.IO v1.0 through which a user can vote. This would involve a user grabbing a piece of software from the GitHub repository, and then running it on their local machine. Some community members have taken it upon themselves to create a user-friendly graphic interface through which a user will be able to vote.
What Are We Voting For
If you are unsure what it is that we are voting for, the community is electing a group of 21 Block Producers who will operate the network on our behalf. There will also be a list of Standby Producers who will be able to step in should a Block Producer go offline, or become compromised in some way. This is different from the group of Block Producers who will be appointed to launch the network - that is a step that will have to happen before voting can even begin. Also, as votes change, the list of 21 Block Producers who create blocks will change as well.
On EOS, votes can be cast at any point, and changed at any point. The votes are tallied every 126 seconds, as that is how long a round of block creation takes. Each round consists of each Block Producer creating 12 blocks each, with a block creation time of half a second. This means that a Block Producer election happens every 2 minutes and 6 seconds. Each token can be voted for up to 30 different Candidates. Each of the Candidates that you choose to vote for will receive votes equal to the amount of EOS tokens you have voted with, you do not dilute your own votes based on the number of Producers that you wish to vote for. A user would be able to use any portion of their tokens that they'd wish for the purpose of voting.
If you’d like to learn more about what a Block Producer does, please read our article “What is a Block Producer and Why You Should Care.”
No projects are final and ready for use as of yet, but some will end up creating an interface that can be launched through a website, some will be integrated into a wallet that could also store your EOS tokens, and some will be built into a cryptocurrency exchange.
Bitfinex - one of the top cryptocurrency exchanges by volume, and also a Block Producer Candidate - has said that their team is working on a tool that will integrate with their exchange to allow a user to decide who they would like Bitfinex to vote for with their tokens. They have said that this tool will be open source, so that other exchanges will be able to adopt it to their platforms should they choose.
There is also something called proxy voting. A proxy voter is someone you give the authority to vote on your behalf. Proxy voting would be useful for users who wish to cast a vote, but are unable to do due diligence on all of the Block Producer Candidates.
As of the writing of this article, there are 107 Block Producer Candidates listed on a portal built by EOS Go for use by the community to find more information about Block Producers Candidates. This will help to ensure that we have informed voting on EOS, promoting the health and security of the network.
Votes Fund Block Producers and Standby Producers
It’s worth understanding how Block Producers and Standby Producers will become affected monetarily by your vote.
The supply of EOS tokens will be inflating at 5% per year. This means that one year after launch, we should have 50 million more EOS tokens than on Day 1. Those new tokens will go towards two branches, 20% towards Block Producers/Standby Producers, and 80% towards a Worker Proposal Fund (we’ll discuss this later in the article). Of the 20% that will go towards Producers, 25% gets distributed to all Producers who created blocks (the top 21 vote-getters), and 75% will be distributed according to the votes they all receive.
Another caveat, to ensure that no one just creates a fake Block Producer Candidacy and just votes for themselves to receive rewards, is that a threshold of at least 100 EOS tokens worth of rewards per day must be reached for the reward to be distributed to that Candidate. Once we have the tally of all the votes cast, any votes that went towards Candidates who did not meet the 100 EOS threshold will be discarded and a new total of votes will be calculated. A new percentage of votes can now be tallied, and that will determine the actual allocation of this portion of the rewards.
Within our summary of Thomas Cox’s draft of the EOS constitution, Article 4 says “No Member shall offer nor accept anything of value in exchange for a vote of any type, including for Block Producer candidates, Amendments or Worker Proposals, nor shall any Member unduly influence the vote of another.”
The buying of votes, in any way, will not be tolerated within EOS. The goal is to ensure that every member who chooses to cast a vote, does so on their own accord and without outside pressures. We don’t want a Candidate to be able to buy their way into the list of the Top 21 Block Producers.
Vote Decay and Unlocking Period
When a user chooses to vote, they will have to stake their EOS tokens. When staking, those tokens become locked up; non-transferable and non-exchangeable. For speculative investors, this means that you will not be able to sell your tokens during this period. The lock-up period is 72 hours from the time that a user indicates that they would like to unstake their tokens.
Block.one also wants to ensure that users update their vote often, rather than taking a ‘set it and forget it’ approach. To promote this, they have introduced a year-long decay half-life of a vote’s power. This decay would start one week after a vote is cast. If a user does not re-cast their vote after one week, the strength of that vote will decay. After one year, the vote’s strength would be at 50% of a vote cast recently. If that user recasts their vote, it will immediately jump back up to full strength.
To understand the flow of tokens and how they get used for different resources, Thomas Cox put out this flowchart to help clear this up.
Used with permission from Thomas Cox
As mentioned previously, there will be a Worker Proposal Fund which is funded by 80% of the inflation. Users will be able to create a request for a feature, or for a dApp, or for any non-existing tool that they believe would benefit the community. It could be a code upgrade, it could be a new wallet, it could be a new redesign of a feature that needs a better user experience… The community could then vote on which Proposals they believe should be funded.
The main takeaway that we hope comes through is that voting is an important thing to understand. Your voice matters. This is your blockchain. Make sure that you get from it what you want. While the actual mechanics of voting are still being worked out, we should all do our best to understand why, and for what reason, we are voting on EOS.