Rushed upgrade made 12% of Ethereum clients unusable

Published at: Aug. 25, 2020

An update in the OpenEthereum client, the community successor of the Parity client for Ethereum, made the nodes running on the new version essentially useless.

The bug appears to have been introduced in the 2.7.2 version of OpenEthereum, upon which the subsequent 3.0 update was based as well.

Though the 2.7 release was marked as stable, since June the community started reporting about the client occasionally freezing, which required a manual hard restart for the node. The issue appears randomly “one or three times a month,” and the software fails to notify of its malfunction. Some users have decreed the release as “useless” and “broken for node operators.”

The developers seem to have pinpointed the issue to a subtle bug in thread concurrency, which is used to process tasks in parallel. In this specific case, the software seems to be entering a deadlock — a condition where two threads are forever left waiting for their turn to access some shared data.

OpenEthereum decided to simply scrap the 2.7 release due to this and other “heisenbugs” that are extremely difficult to reproduce and thus fix.

The new 3.0 iteration, based on the last truly stable 2.5 version, is set to be released in mid-September ahead of the Berlin hard fork. 

Until that happens, however, operators who downloaded the new version are left with the extremely disruptive task of downgrading. 

Liam Aharon, a developer at infrastructure developer BlockNative, highlighted on Twitter that downgrading requires a complete resync of the blockchain, “which for some node configurations will take months,” he said.

The bug affects about 50% of current Parity nodes and all nodes branded as OpenEthereum, which sums up to a total of 12% of the entire network, according to Ethernodes data.

The OpenEthereum team is said to be working on a conversion process that would help nodes avoid the costly re-synchronization.

Some criticism was levied at the team for marking a deeply bugged release as “stable,” an error that propagated into all subsequent releases. Others questioned the soundness of the multi-client approach, citing Satoshi’s view that multiple implementations of the same blockchain node would inevitably lead to issues.

Proponents of the multi-client approach believe that this prevents bugs in one implementation from bringing down the network with them, and the OpenEthereum bug appears to be that exact type of scenario.

Tags
Related Posts
Key Short-Term Scalability Feature Still Needs Research, Says Vitalik Buterin
Research into stateless clients for Ethereum is seen as instrumental for the long-term health of the network, but despite all the progress, some fundamental limitations prevent them from being applied in practice for now. At the Unitize conference, Vitalik Buterin, a co-founder of Ethereum, provided an up-to-date picture on the latest progress and problems for the stateless client transition. Stateless clients, in short, are a way to allow nodes to fully participate in validation without having to hold the entire earlier history of the blockchain. The state represents all current balances, smart contracts code and their respective data. Each new …
Technology / July 10, 2020
‘Expensive lesson’: 75 Eth2 validators slashed for introducing potential chain split bug
Staking infrastructure provider Staked said it had learned “an expensive lesson” after 75 of its Eth2 validators were slashed on Feb. 4 from the staking pool as punishment for producing competing blocks. In a statement, Staked took the blame for the “technical issue” and said its customers would be “fully compensated”. The company will pay the penalty of 18 ETH, which is around $29,000 at current prices. An unanticipated reaction to configuration changes caused several nodes managed by Staked to restart in error, leading them to incorrectly sign a second version of a previously-signed block. This introduced the potential for …
Technology / Feb. 5, 2021
Polkadot Aims for Ethereum Ecosystem with Chainlink Integration
Polkadot is gearing up for its upcoming network launch as it revealed an integration with Chainlink (LINK) on Feb. 25. The integration of Chainlink oracles may be crucial for the development of Polkadot decentralized finance (DeFi) and other advanced smart contracts. Chainlink has completed an initial integration on Kusama, a canary network for Polkadot similar to a testnet. Chainlink was previously available on other blockchains through adapters, but this is the first move outside of the Ethereum (ETH) ecosystem in 2020. Polkadot developers will thus be able to access external data by using Chainlink’s oracles. This is crucial to enable …
Technology / Feb. 25, 2020
Ankr partners with Optimism to provide a fast and reliable RPC service for users
Ankr, one of the industry’s fastest RPC providers and web3 developer toolsets, has announced that it will become a remote procedure call provider for Optimism. Optimism is an open-source layer-2 scaling solution for Ethereum that focuses on speed and efficient transactions across the network. It has caught the eyes of many in recent months, including Ethereum co-founder Vitalik Buterin. This is a great example of why I'm so proud of @optimismPBC for adding non-token governance (the Citizen House). Optimism explicitly has goals *other* than just "make OP go up", and the only way to do that long-term is with explicit …
Decentralization / June 15, 2022
What is StrongBlock (STRONG) and how does it work?
The digital financial environment continues to develop almost every second, which is no surprise to those in the crypto sector. Among such technological advancements, a new project called StrongBlock has popularized the concept of the node as a service (NaaS) on the blockchain. NaaS is an alternative to running entire blockchain nodes on your own; it provides developer infrastructure and tools for setting up and managing blockchain nodes. Connected blockchain nodes relay, transmit and store decentralized blockchain data. But, what is a blockchain node? A node, also known as a Full Node, is a device that stores the blockchain's whole …
Adoption / June 25, 2022