Worried about centralization? Interpretation of why Ethereum delayed the Berlin hard fork
Editor's Note: This article comes fromGolden Finance, Author: Jason, reproduced by Odaily with authorization.
Editor's Note: This article comes from
Golden Finance
Golden Finance
, Author: Jason, reproduced by Odaily with authorization.
At present, the number of users relying on the Ethereum client Geth is so large that as long as there is a vulnerability in the client, it is possible to temporarily freeze the Ethereum network—and this seems to conflict with the core idea of blockchain decentralization . In view of this, the Ethereum core developers decided last Friday (June 27) to postpone the development of the "Berlin" hard fork until at least August. Ends have the opportunity to increase their network share.
According to Ether Nodes, the Geth client is only one of 11 canonical clients under Ethereum, but it turns out that 79% of Ethereum nodes run on this client. Since December 2019, Geth clients have grown by 5% in the number of clients within the Ethereum network. In this regard, developers have begun to worry that once a serious vulnerability occurs in the Geth client, it is very likely to destroy the entire Ethereum—especially before the Ethereum network plans to transition to the Proof of Stake (PoS) consensus algorithm under Eth 2.0. Eth 1.x is rolling updates.
On Friday (June 27), Geth team leader Péter Szilágyi said on the Ethereum core developer group conference call:
"Most people on the Ethereum network use the Geth client, and there's nothing wrong with doing so, but it's critical that we can't afford to be incorrect."
secondary title
Ethereum programming language
There is no doubt that having a diverse set of clients is beneficial to the Ethereum network. Ethereum allows different projects to join the developer community, from the smallest startups to the largest corporations like JPMorgan Chase. Launched in 2015, Ethereum supported eight programming languages at various levels of completeness a year later. The Ethereum Foundation currently develops clients in five programming languages, including Go, Solidity, Java, JavaScript, and Python.
However, like human languages, every programming language has its nuances and thus flaws in client implementation. These nuances can turn into nasty bugs when Ethereum developers make updates.
"The main reason (for the postponement of the Berlin hard fork upgrade) is that the Ethereum community wants to reduce its dependence on the Geth client. The ultimate goal is to ensure that even if there is a problem with the Geth client, it will not destroy the entire Ethereum network. Due to ensuring It’s very important that the client side is running correctly, so the workload on ethereum developers has become very heavy at the moment, and they need to do most of the work to make sure everything works.”
With Parity Technologies announcing in December 2019 that the Ethereum network will deprecate the Parity Ethereum client, Ethereum's reliance on the Geth client seems to be getting worse. At that time, the Parity team wrote in its official blog post:
"The Parity client has been unable to obtain the required resources, not only cannot be invested in subsequent development, but even simple maintenance work is unsustainable."
The code base for the Parity ethereum client project has now been handed over to a decentralized autonomous organization (DAO) funded by ConsenSys spin-off company Gnosis. Today, the project runs under the name Open Ethereum. The client has lost nearly 60 percent of its nodes since December 2019, according to data from Web Archive. (Warning: Geth clients have also lost about 14% of their nodes since December 2019.)
secondary title
Diverse Ethereum clients
Gnosis founder Martin Köppelmann said in a private message:
Regardless of Martin Copperman's enthusiasm for an open ethereum client, Geth team lead Pat Siraj's concerns are still worth paying attention to. Due to the huge market share, it is very difficult for individual users, enterprises, or exchanges to delete the Geth Ethereum client. However, once the Geth client has technical problems, this heavy dependence will lead to fatal problems.
So, why does the Ethereum network expose such a heavy reliance on the Geth client? The answer is that Eth 2.0 is too slow to start. Once a hard fork encounters one or more problems, Eth 2.0 researchers agree to delay the upgrade each time, and then meet with various client developers to discuss the problem in order to prevent any client from having problems after the upgrade.
In contrast, Bitcoin and most other cryptocurrencies can be upgraded much more efficiently, at least not as much as Ethereum needs to communicate and coordinate with so many clients. It has to be said that Ethereum has indeed encountered some constraints: if it wants to run 100% normally, it needs to depend on the complexity of its projects, but at the same time they need to carry out a hard fork every six to twelve months.
In contrast, Bitcoin and most other cryptocurrencies are not used very often or run in a small number of applications. Ethereum faces some constraints: 100% uptime depends on its project load, but rolling hard forks every 6 to 12 months.
secondary title
Is the problem stemming from the Geth client being too slack, maybe not?
It should be noted that how to attract Ethereum users to use other clients to weaken the market leadership of Geth client seems to be an open question.
Attracting ethereum users to other clients has become a business problem that is unlikely to be resolved through developer initiatives, ethereum developer Greg Colvin said in a developer call. In fact, projects can choose to cooperate with clients with a small market share, because they have urgent needs that Geth clients cannot solve, such as codes that are not open source and so on. Having said that, according to Greg Colvin, the Geth client has been trying to recruit more employees, and the purpose is likely to further consolidate the "dominance" of the market.


