EOS Governance: Could Vote Buying lead to capitalism without conscience?

Source

Lately, there have been a lot of discussions around vote buying and cartel formation within EOS community. Brendan Blumar tweet regarding the same kick-started conversation within wider EOS community, few are backing open market for vote-buying and few are strongly against it.

I wrote an article a few days back expressing my opinions around vote buying, there have been few updates since then with Brendan Blumer advocating for different voting methodologies and introducing an open market for vote buying/rebates. There are few pros and cons of voting methodology which the community is currently discussing, this article aims to bring the arguments and discussion for the wider community.

As referendums are live and we may soon have proposals published, I hope this article help in making community members informed decision and choose what they think is best for the network.

The Basics

What is vote buying?
In simple terms, the incentives shared by the community to vote in a particular way is called vote buying. The incentives may be direct or indirect (like rewarding the voters by a Block Producer if they proxy their votes to them).

Could marketing/development of tools be taken as vote buying?
In the real world, we see democratic parties campaigning to gain votes from the masses and marketing themselves using advertisement, the development they have bring may or may not persuade the citizens to vote for them. Similarly, there are no direct incentives involved which push the voters to vote in a particular way when some BPs develops a wallet/tool for the wider community. They are free to use and open source for the community members.

Is REX a form of vote buying? 
REX only incentives community members to vote (they need to vote for at least 21 Block Producers to earn REX) but it doesn’t incentivize voters to vote in a particular way. The voters may proxy their votes or vote for any Block Producer (although there are more chances of top 21 BPs getting more votes as REX may lead to donkey voting).


The Problem

On EOS, a stakeholder (EOS token holder) could vote for 30 Block Producers with voting weight equal to tokens one have staked. i.e if Alice has 500 tokens, she may vote for NY, 42, Metal (max 30) with an equal weight of 500. It was deduced that ‘1 token:30 votes’ minimizes the chances of cartel formation on the network. (You may go through the stats here — credits Todor[worbli.io] and Leo[EOSNodeOne]).

In spite of the measures taken at the time of network launch, we currently are facing issues of vote buying and vote trading by few of the producing nodes. Vote trading is incentivizing cartel formation which may affect the health of the network.

How self-serving whales are gaming the system?

In order to earn a dividend, whales vote for partnered Block Producer and use other 29 voting slots to either vote trade with other BP(with proxies/partners whales) or vote in sock puppet Block Producers(strategically along with others). The dynamics have resulted in many top-ranked BPs openly buying votes. As vote trading is getting rampant many honest and independent nodes(without any connection with large stakeholders) are losing votes rapidly to sockpuppet BPs( BPs without any social presence/efforts for running the network).

One of top producing nodes StartEOS announced to share rewards with voters if they proxy their votes to them, also they have set up one more node Games.EOS to collect and share the rewards by voting them in with the same proxy.

As it’s hard to find proof for such backdoor deals, the option of filing a claim with an arbitration forum (ECAF) becomes obsolete. Even if a claim gets filled with ECAF and forums renders an award against BPs in the top ranks, they are dependent on same stakeholders who vote for them and influential BPs in for every other claim.

Why is it bad?

There are concerns that vote-buying will act as a catalyst to make EOS centralised with few top Block Producers controlling the chain. Also in quest of sharing maximum rewards with the voters, BPs may end up running more than one node(Start.eos running game.eos). Vote buying also triggers vote trading and collusion i.e BPs partnering with other BPs to vote them in and maintain high ranks (Cooperative game theory)

As vote buying incentives BPs to run multiple nodes, there is also a concern that it may interrupt with BFT(Byzantine Fault Tolerance), where one malicious actor could temper or change the information carried in a block. In case there is a breach by a block producer, they need to be voted out by stakeholders.

Looking at the voting pattern, one may say that either stakeholder doesn’t care much about the governance aspect of the chain as ongoing discussions around StartEOS/ECAF doesn’t reflect anything on the votes or majority agrees with the current dynamics.

Few solutions and the ideas against vote buying shared by the community.

1. ECAF

Article IV of current constitution (interim- not elected by the wider community) states that “No Member shall offer nor accept anything of value in exchange for a vote of any type, nor shall any Member unduly influence the vote of another.”. StartEOS and Huobi clearly violate the clause and a claim has been filed against them with ECAF**.

**ECAF authority is still being questioned as the forums is yet to be elected by the community.

Is it a long term solution?
I would say no, with time it would be very hard to detect and enforce vote buying. Whales will start partnering with BPs and start accepting privacy tokens or use other back door methods.

2. Self Policing

If we remove base layer arbitration and clear rules representing the values of BlockProducers, the community gets dependent on self-policing. The primary concern with self-policing is lack of opposition from paid Block Producers, paid BPs are afraid to lose the votes of influential whales partnered with BPs in the top 21. As 550 wallets hold around 81% of the tokens, any change could affect the business of standbys Block Producers if they try to suggest anything against top nodes. The opposition comes from the non-paid producers as they don’t have anything to lose.

Self-policing is dependent on strong opposition, or it would just be opinions from few non-paid standbys producers and few TG chat/criticism by others without any actions.

3. EOS42 : Reimagining Reproducer

EOS42 have put a nice proposal which empowers a set of paid standby block producer to unite and take action against non-compliant BPs sitting in the top ranks. It tries to shift the dynamics of execution from the 2/3+1 majority to quorums of 33% in case Regproducer agreement is violated.

The proposed solution could work with limited scope arbitration or direct enforcement by Block Producers. It solves the execution part which is now only dependent on stakeholders voting top 21.

4. EOSVibes: EUA + Regproducer

EOSVibes have tried to put some additions to {regproducer} agreement part of EOS User Agreement (EOSNewYork). Kyles (Founder EOSVibes/HireVibes) have laid down clear rules/clauses which helps to make judgment faster like disclosure reports and running not more than one node. The enforcement and judgement are dependent on the active Block Producers.

OpenMarket for Vote Buying

Many community members along with Brendan Blumer are openly supporting vote buying. 
Reasons being- 
a) Vote buying rules are not enforceable. 
b) Unenforceable rules only hurt the honest and compliant. 
c) An open market would help to level the field for all stakeholders — Currently, only whales/BP partners are incentivised to vote (gain profits)on the other hand many small stakeholders don’t care to vote as there are no incentives involved.

Rebates/ Rewards shared by Block Producers.

Brendan suggested an idea of rebates sharing to level the field for voters. By rebate sharing, he meant any Block Producer could campaign to do the work (produce blocks) for much less and distribute the collected rewards equally to voters voting for them.

The idea behind the proposal is too equally incentivise voters (much like BP partners) and let the BP only compete on the work they have undertaken. He put an argument that if they are not made to compete on a cost basis than they would try to find other values to share with voters.

Brendan also proposed a change in voting method to 1 token:1 vote*** which minimizes the chances of whales running more than a single node.

***1 token:1 vote. i.e If Alice has 500 votes and she votes for 5 block producers, her vote values 100 for each block producer.

1 token:1 vote will put an end to vote trading hence cartel formation, as it introduces a cost to vote for more than 1 Block Producers. 1 token:1 vote along with rebates from paid standby may as well disrupt the sock puppets BPs business and increases voters turnout.

He also suggested increasing the inflation rate to 2–2.5% as Block Producers and recommended increase staking period from 3 days to more. The block producing entities may use the rewards to carry operations at promised salaries and reward the remaining to their voters. Such a model would help independent BPs attracting “pseudo” partnership of stakeholders and competing with whales partnered nodes.

(B1 may vote for Block Producers once we have higher turnout)

Arguments against 1 token:1 vote

The intent behind introducing 1 token:30 vote was to provide stability to the network, 1 token:30 votes helps funding alternative producing nodes with enough money to maintain infrastructure for the network. In case a producing node in top 21 commits some wrongdoing, the network could rely on standby producers by voting them in.

Race to the bottom — With 1 EOS:1 people would just vote for their favourite BPs and a large number of votes would get centralised to few BPs on the top. Also, as standbys need to attract voters with maximum rebates, the quality of infrastructure and productivity would degrade. Entities would start shifting to low-cost jurisdiction to share maximum rewards, we may end up with centralised jurisdiction (maybe China/India/Romania) for nodes.

The current situation isn’t any good, we have many teams like eosplay, shizutop, moonxwitheos, rapidprod, eosmatrix, eosvolga and many others with silent teams and almost no active contribution filling good ranks while active and good teams like Detroit, UK, AcroEOS etc have been voted out of pay zones.

Exchanges running sockpuppets-1 token: 1 vote will reduce the barrier to get in paid zones(currently 22 million votes). As exchanges hold the major chunk of tokens, they will strategically vote few nodes in lower ranks and collect block rewards.

Collaborative Development will take a back seat- Currently, block producers try to collaborate for developing and marketing various tools for the wider community. With 1 token:1 vote there are chances that it would diminish. Also, rebates competition will shift the focus from tools development to maximum rewards sharing.

Though Brendan suggested that REX limitation of voting 21 BPs should be changed to any numbers with 1 token:1 vote, many community members thinks it should stay as it may help diluting the stake of whales. Brendan argument was, any rule/limit would incentivize the formation of cartels where whales will get together and vote in their partners much like 1 token: 30 votes.

Conclusion

It’s up to the stakeholders to do their best and vote out BPs and cartels. If stakeholders are corrupt the network would suffer be it 1 token:1 vote or 1 token:30 votes. There are few advantages of 1 token:1 vote over 1 token:30 votes, if stakeholders get corrupt we may reach a point where development will take a plunge and network end up with poor infrastructure.

Even with 1 token: 30 votes the structure is racing to the bottom and getting centralised geographically. We have 8–9 nodes in the top 21 and 14 out of the top 30 nodes based in China. In lower ranks, many hard working independent Block Producers are struggling to get paid, still, many sock puppets are getting paid with no active contribution to the network, they may be running the cheapest infrastructure available. Voters turnout and education may help to improve the health of the network, so maybe incentivizing all token holders to vote is a good idea. If they don’t make decisions with conscience and vote in not technically competent BPs or centralised to one location just to feed their greed, dApplication and businesses will migrate to non-corrupt parallel chains like TLOS.