Bitfinex Ballot - EOS Block Producer Voting
Over the past several months, our technology team has worked with a group of experienced cryptographers to create a set of open-source tools which we believe to be of great benefit to the wider industry. Dubbed the 'Bitfinex Ballot, these tools can, amongst other capabilities, mathematically demonstrate solvency and custody for a certain cryptocurrency, as well as provide a way for individuals and groups to delegate votes using their balances (holdings) on Bitfinex.
This voting system allows our users to vote on ballots in an anonymous and verifiable manner, using reports generated by account activity and balances. More specifically, the Bitfinex Ballot tool lets users cast EOS Block Producer votes directly on the Bitfinex platform whilst providing you with the tools necessary to tally votes to ensure integrity in how votes have been cast by Bitfinex.
The tool is entirely open-source and can be made use of by other exchanges wishing to demonstrate transparency. The original idea for the voting tool can be found here. Once optimised we can work to extend the system to other currencies as well.
General Information
Vote start
The first snapshot of EOS users net balances was taken at 9PM UTC on June 17, 2018.
Snapshots
Snapshots will be taken every week, once a week, starting from the first snapshot time as outlined above.
Recasting votes
You can use the Bitfinex Ballot tool to recast your Block Producer votes in case of mistakes. Given a weekly snapshot, you will be able to vote once a week. Please note that we will rebalance votes every 3 days.
Margin
Margin and settled balances will be able to vote for EOS Block Producers. Bitfinex will keep 20% of all tokens in the cold storage not staked, allowing withdrawals to always process smoothly.
EOS exchange wallet balances, EOS margin wallet balances, EOS funding wallet balances and EOS in a EOSXXX margin trading long position will qualify you to vote. All EOS votes are corrected pro rata for the amount of unstaked reserves, held to be able to process withdrawals. All EOS votes are corrected pro rata for the amount of EOS in EOSXXX margin trading short positions.
As an example, assume the total amount of EOS held in reserves on Bitfinex at the time of taking the balance snapshot is 50,000,000 EOS. As 20% of all EOS reserves are not staked, a correction of 0.8 will be applied to all votes. Assuming that at the time of taking the balance snapshot, the combined amount of active EOSXXX margin trading short positions is 5,000,000, a correction of (50,000,000 - 5,000,000) / 50,000,000 = 0.9 will to be applied to all votes.
If a user holds a settled balance of 1,000 EOS and he votes using his full EOS balance for 'blockproducer123' his effective votes would be 0.8 * 0.9 * 1000 EOS = 720 votes for 'blockproducer123'.
Bitfinex is currently the only exchange where margin longs are able to vote. In addition to this Bitfinex will allow you to take advantage of EOS lending features to earn interest whilst still preserving your right to vote.
How to vote
For an in-depth guide on how to vote, how to tally results and how to monitor progress, please refer to the following article.
Takeaways
All the tools that we have built for this function are open-source. Everyone can use them and scrutinise them to better understand the underlying concepts.
From a security perspective, the Bitfinex Ballot acts as the most secure way for EOS holders to vote, aside from setting up a standalone EOS node or running a proxy. The keys we offer do not attempt to access your balances and are simply used as a method of vote delegation. We periodically regenerate voting keys so that, in the case of theft, keys will expire and you will regain control.
All the tools we have built for the purpose of the Bitfinex Ballot System are open-source and we appreciate any feedback or suggestions you may have. We are committed to investing in open-source development to prove our commitment to our users, and to deliver the transparency and openness that this movement is built on.