A hot topic issue that has been getting a lot of attention in the EOS ecosystem is exchanges voting for Block Producers, and the very hypothetical case that a malicious exchange could use their users’ tokens without their consent. At EOS Canada, we wanted to give some insight into this topic.
Can Exchanges Vote on EOS?
To answer this question, we should look at what the rules of voting are. If we read through the Ricardian Contract for the `voteproducer` contract, we’ll find this line, “If I am not the beneficial owner of these shares I stipulate I have proof that I’ve been authorized to vote these shares by their beneficial owner(s).”
While there isn’t a clear penalty laid out for our offending exchange, we see that they would be violating the rules if we have determined with verifiable evidence that they are not voting with consent of their token holders.
What Is Needed for Exchanges to Not Break the Rules of EOS?
The exchange would need to have a cryptographically signed message from the user(s) whose tokens they are using to vote, including a list of the Block Producers for whom they wish to vote. Bitfinex created a tool for receiving this information from their customers.
Exchanges can also operate as proxies. If people trust an exchange enough to keep their tokens on their platform, it’s not a stretch to assume that users trust that exchange to make an informed vote. So if we saw an exchange voting for Block Producers, it is worth looking if they are acting as a proxy as well.
How Can We Tell Who Exchanges Are Voting For?
How can we tell if they are keeping a Block Producer in power? Since we are on a blockchain, everything is visible. If you go to any block explorer, you can find who any account is voting for. So there is no hiding these facts from anyone. You can also visit a tool that displays votes in a more easily readable and grouped way, like this one developed by EOS Titan.
What Should We Do About An Exchange Acting in Bad Faith?
The first course of action should be to alert the community to present any and all evidence people have collected. EOS is built on reputation, and anyone acting against our agreed upon rules should be given the chance to rectify their behaviour first and foremost.
If they don’t respond to this, we can bring a case to arbitration. We would have to demonstrate how they are violating the rules set out in the `voteproducer` contract. An arbitrator would then provide a ruling on the matter to rectify it, if needed.
What Do We Do If an Exchange Is Keeping a Non-Performing Block Producer in the Top 21?
Other than encouraging users to direct their votes away from non-performing Block Producers, the constitution allows an extreme measure that could be taken by the other Block Producer members of the Top 21.
It's possible for Block Producers to temporarily remove an offending Block Producer if there is strong enough reason to do so by having 15 of the Top 21 sign a transaction to effect this action. Those ‘good reasons’ could be constant missed block creation, not upholding the agreed upon commitments under the Block Producer agreement, or some other malicious behaviour.
“I hereby acknowledge that 2/3+ other elected producers may vote to disqualify in the event is unable to produce blocks or is unable to be reached, according to criteria agreed to among producers.”
The benefit of a blockchain like EOS is the power of the transparency that puts pressure on the whole community to work for the best interest of the network. Finally, we have to keep in mind the reputation of an exchange is too important to jeopardize with bad behavior and short-term benefits. A blockchain is a tool that makes the past visible. It’s hard to hide malicious behaviour when every move you make is public and verifiable.
This article was inspired by a conversation I had with Tom Norwood of Trybe.one - a tokenized knowledge sharing platform for the crypto community built on EOS.