EOS voting issues raise centralization concerns with election now run by one block producer
EOS voting to elect block producers begins today
The EOS community is preparing to vote for the inaugural 21 block producers (BPs) that will initially run the network, but there is mounting confusion and concern about how this is being handled.
The original plan after launching the mainnet would be that voting would initially be overseen by the 21 appointed block producers (ABPs). Once the vote was completed, which is determined by when 15% of outstanding tokens have been staked and taken part in the voting, the ABPs hand over to the elected BPs.
However, this system, which had the benefit of random selection of ABPs and a sufficient number to mitigate concerns about centralization and censorship resistance, has been abandoned. Instead, just one block producer has been selected to run the election, which some community members say could undermine trust from the outset. Here’s a screengrab from the conversation on Telegram between lead developer Dan Larimer and others:
It appears that the EOS New York group were charged with the task of facilitating the selection of the ABP that will conduct the election but the criteria for that selection has not been communicated, although it is thought to include a checklist that included the level of technical competency of the BP and its resources.
The selection on the single ABP is confirmed by the video (56:00m) of the live conference call of BPs held yesterday in which David Moss says: “I have selected, um, uh, uh…actually between EOS New York and myself randomly selected an ABP.”
At this point there is no way to independently verify the randomness of that selection or the other criteria used.
The election is scheduled to begin today(10 June) at 13:00 UTC.
How to vote
Besides the actual organisation of the voting, which given a year to prepare is somewhat shambolic and opaque, there is the issue of how to vote.
As we reported yesterday there are a number of voting portals springing up, but token holders have no way of totally verifying their trustworthiness. That matters immensely because to vote requires token holders providing their private key. There is as yet no graphical user interface application for voting and block.one has not indicated that it will provide one anytime soon if ever.
With just one anonymous BP in charge of voting, trust in the voting procedure is being somewhat tarnished. However, there may of course be good reasons for abandoning the original plan to do with getting the blockchain running more quickly and avoiding the danger that some of the original 21 block producers might drop out, which would be a problem for the continuation of the chain.
Ivan from the EOS Sweden group asked about the anonymity issue on the conference call and the replies (in bold) were not encouraging from a business professionalism perspective let alone trustfulness. It is worth reproducing this at length:
The ABP is appointed block producer, basically the community appoints someone to act as a block producer to bootstrap the network, is that correct?
And how will that choice be done?
It has been done already. The appointed block producer was notified yesterday, I think.
So who is it?
So, we don’t know.
Ah, okay. So, but…yeah but someone knows, right? Someone knows…
Yeah exactly, a few people know, a few people know, a few select people will know.
Alright, why is this secrecy?
Um, there are several reasons, several reasons for it. Um…why is Satoshi secret?
Uh huh…yeah I don’t know, security reasons, doesn’t want to touch, uh…so you think it’s the same?
And now the ABP node is very important. The ABP will be the only one producing blocks on this chain until we reach the 15%, which means that EOS, the EOS chain is validated.
With the market cap of EOS at $12 billion and $4 billion raised in the ICO, there is a lot of money at stake. Given the complications and doubts surrounding voting, it is disturbing that no one at block.one has taken the time over the past year to workout how the bootstrapping to get a chain up was likely to work in practice.
Each token has 30 votes but how are token holders to be sure that their votes for their BPs of choice are being counted correctly or votes counted at all? How are smaller token holders to know whether or not the larger holders are colluding to keep a certain set of BPs in the 21?
As the network grows and voting tools improve, this may all turn out to be fuss about nothing, but it again highlights the issue of blockchain governance and the struggle to get it right. The questions around the EOS election process are legitimate questions that are now probably too late to get answers to before the voting begins.
The reason why it worries me so much that they're now planning to do the initial election using just 1 ABP is that 1 ABP provides no censorship resistance. It has full control of deciding whose vote gets counted and whose doesn't. It can simply omit votes to change the result.
EOS is trading down 8% at $13.32 with the rest of the market also in the red with bitcoin off nearly 5% at $7,272 at time of writing.
The command line tool cleos, available from the EOSIO github/wiki, is the recommended way to vote but requires a certain level of technical skill. Here’s a video walkthrough of setting up voting on the eosportal.io portal including installing the Scatter software. Once the block producers have been elected, voting becomes a continuous process updated every three minutes.