In the Ethereum core developers' 90th meeting held on Friday last week, the issue of client nodes diversity ruled the talk.
Geth client, which dominates the number of nodes running the Ethereum, puts the blockchain in strict security and operational position in case the client temporarily freezes or shuts down.
The Client Diversification Dilemma
In 2016, Ethereum had several clients competing for nodes, including Parity, Geth, Nethermind, Multigeth, etc. Ensuring the Ethereum network didn't have a single point of failure –a common occurrence when only one client is available.
However, over the years, the fast-tracked development on the Geth client caused a disproportionate balance in the share of nodes. Currently, the percentage of nodes allocated to the Geth client has risen to over 77% of the total Ethereum nodes.
The moderator of the meeting, Alexey Akhunov, called on the developers to halt the overproduction of new upgrades and hard forks till the Ethereum network's clients are diversified citing security and operational issues facing the system. He said:
“The main reason [to postpone Berlin] would be to reduce dependency on Geth and allow it to fail without bringing down the whole network.”
While the growth of the Geth client is a welcome site to Péter Szilágyi, Geth's team leader, he agrees that client diversification is needed. The consensus across the meeting was the need for more clients to take up nodes from Geth, reducing the responsibility honored to its developers.
“And the Geth team must never strive to be the biggest, and the super-majority client…that's not what we want. We want there to be client diversity so that if we f*ck up and there's some denial of service, then the entire Ethereum network does not go down,” said Martin Köppelmann, Gnosis founder.
How to go About it?
Marketing the switch to other client nodes will be a hard task to do if Geth still suites the user's needs. To split up Geth's market, education to the masses on how to run different clients, a complete freeze on Geth's developments (to allow others to catch up), and direst selling of clients to miners are all in the hat to solve the centralization problem.
Alex Vlasov, a core developer on Ethereum, differs on the issue of client diversity, stating:
“I don't think client diversity will ever happen because the users will always run to the best client to run their node.”
Geth Development Team Burnout
The lack of client diversity causes a secondary effect by burning out the Geth team members, Alexey stated. Given the massive responsibility of guarding the Ethereum network, the Geth team most often than not, work extra hours to keep the network alive. This guarding causes developer burnout and could sometimes cause delays in releasing products.
Currently, the Geth team is holding on to an “acceleration structure code” for over six months due to fear of possible failure of the whole Ethereum network if a bug is found on the code.
“We have built an acceleration structure for Geth that should make a lot of the processes and nodes faster, but it is super consensus critical.”