The Ethereum Blockchain has just experienced a “Finality” crisis

[gpt3]rewrite

The Ethereum blockchain suffered two brief episodes last week in which blocks did not finalize – an unwanted bout of instability that poses a risk to the blockchain’s security but is not considered serious.

There was much confusion as to what the delay in “finality” meant for the functionality of the blockchain, leading to discussions of security concerns. So it can bear unpacking a bit.

You read The protocolour weekly newsletter that explores the technology behind crypto, one block at a time. sign up here to get it in your inbox every Wednesday.

The reason for the temporary loss of blockchain remains under investigation, although Prysm, a provider of client software used to run a node on the blockchain, just released a new version, describing it as “the first full release after the recent issues with mainnet,” with “critical corrections.”

When blocks of data are not completed, there should be no downtime or difference in the end-user experience. That said, a loss in finality can lead to some security issues such as reorganizations.

Reorgs occur when a blockchain produces more than one block at the same time, usually due to a bug or an attack. This means that a validator node temporarily creates a new version of a blockchain, making it difficult to properly verify whether a transaction has been successful, while the old version of the blockchain continues to exist.

However, snowball effects from this incident led to some end-user shock. DYdX, a leading crypto exchange platform, had to temporarily stop deposits due to one of last week’s incidents, and Polygon’s zkEVM also experienced some delays with deposits.

In a proof-of-stake blockchain like Ethereum’s, validators must first propose a block containing transactions. Once proposed, other validators must sign off the block to permanently add it to the blockchain, which takes about 15 minutes. Once approved, or “attested” by two-thirds of the validators, the block is finally complete.

Thus, finality is the point at which transactions on a blockchain are considered immutable. Finality is intended to guarantee that transactions within a block cannot be changed.

If finality cannot be guaranteed, the blockchain enters an emergency state called the “inactivity leak”, where validators are penalized for not reaching finality. When the state is triggered, it acts as a way to encourage the blockchain to start completing again. The incident last week triggered Ethereum’s first ever inactivity leak.

The Ethereum community has acknowledged that the current timeframe for blocks to complete is too long.

“Having a delay between a block’s proposal and completion also creates an opportunity for short rearrangements that an attacker could use to censor certain blocks or extract MEV,” the Ethereum website shared in a blog.

When the first finality loss occurred on May 11, developers immediately shared it over Twitter, saying they were deploying additional help to figure out what was going on. After 25 minutes, the problem appeared to be resolved and the chain continued to finalize.

In the past, termination has been temporarily halted due to errors in the client software used to run the blockchain. Ethereum has multiple clients in case there is a bug or error in the software, so there are other options and activity on the blockchain can continue to run.

Tim Beiko, protocol support manager at the Ethereum Foundation, told CoinDesk that the incident is “definitely significant, but it’s not something where Ethereum’s security or soundness is at risk or compromised.”

“Within minutes things were fixed and within a day or two clients had software updates to ensure this specific issue did not reoccur,” he said.

The developers are still looking to understand what caused the blockchain to stop finalizing, and are expected to discuss a post-mortem report in their upcoming Consensus Layer call.

Beiko told CoinDesk that the incident didn’t get to the point “where we started testing the very extreme fallbacks in the protocol to deal with these things.”

The incidents affected several applications that run on top of the Ethereum blockchain.

Polygon CTO Jordi Baylina said that the finality halt meant that deposits on the Polygon zkEVM chain were delayed, and since the chain relied on Infura, an infrastructure provider that also had a temporary outage as a result of the finality loss, problems for individuals who using zkEVM composite.

“You have to wait for the finality in Tier 1 deposits to be available in Tier 2,” Balyina said. “So until you don’t have finality, you can’t use [the chain] or you have the risk of double consumption in layer 2.”

DYdX temporarily halted its deposits today due to the lack of Ethereum finality and said it “continues to monitor and investigate this issue.”

Despite this, Ethereum developers emphasize that the network did not go down.

“Today’s incident has been a big fire drill. It looks like two or three problems came together (as is often the case). The chain recovered gracefully and we discovered some other issues that could be improved to make Ethereum more resilient. tweeted Marius van der Wijden, a developer at the Ethereum Foundation.

[gpt3]

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *