EOSIO, the blockchain protocol created by Block.one, saw its popularity skyrocket in the past year. The network is facing problems of increased geographical centralization—which could be problematic for the protocol’s security and trustworthiness.
How does EOS work?
Launched on June 14, 2017, EOS is a young but popular blockchain protocol designed to host decentralized applications (dApps) and decentralized autonomous corporations (DACs). It was created by Block.one, a Cayman Island-based company headed by two veterans of the crypto industry, Brendan Blumer and Dan Larimer.
The platform is built on a delegated proof-of-stage (DPoS) consensus algorithm, which uses “token-holder voting” to govern the EOS network. EOSIO uses a system called approval voting, in which only the top 21 block producer candidates are allowed to produce blocks. The top BPs (Block Producers) are elected by EOS token holders, who can cast their vote for up to 30 candidates.
To be eligible to vote, token holders must stake their EOS for three days. The users then lend the total voting power of their staked tokens to each candidate they vote for.
The 21 candidates with the most votes form the core group of block producers, while the others become backup block producers. This method has made EOS popular with those searching for platforms that offer the most democratic means of governance, as well as those looking for more decentralized smart contract platforms.
The centralization problem
However, it seems that the very thing that has pushed EOS into the forefront of the crypto industry is not only malfunctioning but also threatening to undermine the network.
Redditor ItsFlashtime recently detailed the problems he found in the network in a lengthy Reddit post, saying the system is vulnerable to voter collusion.
The user, who has reportedly been very active in the EOS community even prior to the launch of its mainnet, said that the top 30 block producers have become “concerningly” centralized. Following the launch of the EOS mainnet, the top 21 BPs were geographically very diverse, he noted. However, as time progressed, things began to worsen.
A large number of BPs who “haven’t given anything back” neither to the EOS network nor to its community have been voted into the top 21 and top 30 producers. Apart from that, the current top 21 BPs are all geographically centralized.
According to data from Blocks.io, nine out of the top 21 block producers, or 43 percent, are based in China, including one based in Hong Kong. Zooming out a bit shows that 14 out of the top 21 BPs are based in Asia. Apart from the nine in China, others are divided between Singapore and Japan.
The geographical closeness of such a large number of BPs raised many red flags in the EOS community. According to EOSForce, it could lead to the formation of BP interest groups that keep each other in power by trading votes.
While there has been limited hard evidence of collusion, a chart showing vote correlation among the top BPs is suggestive of anti-competitive behavior.
Eoshuobi pool, the largest block producer by total vote size, has a vote correlation that is 72 percent similar to zbeosbp11111, 71 percent to cochainworld, 66 percent to eosbeijingbp, 64 percent to eossv12eossv, 63 percent to eosflytomars, and 62 percent to eos.fish.
Every single one of these block producers is based in China, with the exception of eos.fish, which is based in Thailand.
Concerning voting statistics
According to data from EOS Authority, the top 5 BPs sorted by total vote size are eoshuobipool, starteosiobp, eoslaomaocom, zbeosbp11111, and eosiomeetone. However, the BPs with the biggest vote size had a suspiciously low number of unique voters.
When sorted by the number of voters, the top BP list looked a lot different. The adjusted ranking showed that the BPs with the largest number of votes are eosauthority, eosnewyorkio, eoscanadacom, eosdacserver, eos42freedom.
“The gap between the corresponding number of voters to the total votes is very concerning,” the user wrote.
He explained that the eosnewyorkio BP had 28,712 unique voters, but has barely made it into the top 20. On the other hand, eoshuobipool, which had 15,500 unique voters, is currently the first on the list.
Another way of comparing the data is through the average vote size. Whales have a tendency to vote for a very specific selection of BPs, which can leave the remaining voting power of the community more or less useless.
This is best illustrated through the example of the eosnewyorkio and eoshuobipool. The average vote size for eosnewyorkio is 4,247, but it ranks 20th on the BP list. The average vote size of eoshuobipool, which is currently the first BP producer on the list, is 9,851.
An even better proof of targeted whale voting is the cochainworld BP, which has an average vote size of 19,271 votes. However, the number of unique voters for the same BP is only 6,627.
Solving the problem of increased centralization among block producers won’t happen overnight. While many members of the EOS community are furious that the top block producers reap many of the rewards of the system while supposedly contributing “almost nothing” to the network, few have offered concrete solutions.
Some Reddit users suggested creating a summary of each BP’s contributions to the EOS ecosystem. Not only could such a resource help users decide on who to vote for, but it could also act as an audit of the entire EOS ecosystem.
Others have suggested introducing a one token one vote system, which could, in theory, end the voting collusion problem in one sense. However, this solution is the least realistic one, as it would most likely be vetoed by the top block producers and would be easy to circumvent without a proper identification system.
Introducing geographic restrictions has also been suggested. Limiting the number of block producers per country or even per continent could, again, in theory, prevent collusion.
Any decision on how to tackle these issues will have to come from Block.one, which is yet to comment. At this rate, potential collusion will continue unabated.