The Ethereum blockchain has recently been unable to finalize blocks for two short periods of time. It was a volatile and undesirable event that poses a risk to blockchain security, but it is not an imminent crisis.
There has been a lot of confusion about how the delay in “finality” has affected the functionality of the Ethereum blockchain, sparking discussions about security concerns. It’s worth looking back at what happened.
Related article: Ethereum unable to complete transactions for 25 minutes
cause is under investigation
While the cause of the temporary loss of block finality is still under investigation, Prysm, the client software used to run nodes on the Ethereum blockchain, has released a new version. It was described as “the first full release following recent mainnet issues” and includes “very important fixes”.
If the data block is not completed, there will be no disruption or change in the end-user experience. However, loss of finality can lead to security issues such as reorgs.
A reorg occurs when the blockchain creates two or more blocks at the same time. The cause is usually a bug or an attack. In other words, the validator node will temporarily create a new version of the blockchain, and the old version will continue to exist in parallel. This makes it difficult to verify that the transaction was processed properly.
The cascading effects of this event also extended to end users. Decentralized exchange (DEX) giant dYdX has temporarily suspended deposits. This is because there was a delay in depositing even with Polygon’s zkEVM.
How finalization works
In the case of a proof-of-stake (PoS) blockchain like Ethereum, validators first have to propose blocks containing transactions. Once a block is proposed, it is approved by other validators and permanently added to the blockchain, which takes about 15 minutes. A block becomes valid when it is approved by two-thirds of the validators.
Finality is the point at which transactions on the blockchain are considered immutable. Finality is thought to ensure that transactions within a block cannot be changed.
If finality cannot be guaranteed, the blockchain enters an emergency known as an “inactivity leak” and validators are penalized for failing to complete transactions. This state acts as an incentive for the blockchain to resume completing transactions. The events of last week triggered an inactivity leak for the first time in Ethereum history.
The Ethereum community admits that it is currently taking too long to complete a block.
“Any delay from block proposal to completion also creates opportunities for reorgs that attackers can use to censor specific blocks or extract MEV (maximum extractable value),” Ethereum said on its website. pointed out.
Seven years ago, Ethereum co-founder Vitalik Buterin spoke out on the issue of finality, underscoring the importance of the issue.
When finality was lost for the first time on May 11th, the developers immediately shared the information on Twitter. He said he would use his help to find out what was going on. After 25 minutes, the issue was resolved and the chain resumed finalizing transactions.
About 24 hours later, Ethereum again stopped finalizing transactions for about an hour. It caused service outages for some infrastructure providers.
In the past, a bug in the client software used to operate the Ethereum blockchain has temporarily halted the finalization of transactions. In case of software flaws, Ethereum employs multiple client software to allow activity on the blockchain to continue.
The Ethereum Foundation’s head of protocol support, Tim Beiko, said the incident was “definitely significant, but it does not compromise or put the security and integrity of Ethereum at risk.” rice field.
“The situation was rectified within a short period of time, and within a day or two, we released a patch for the client software to prevent the problem from reoccurring,” Beiko said.
The developers are still investigating what caused finalization to pause, and will discuss the postmortem report at an upcoming Consensus Layer meeting.
According to Beiko, the issue didn’t go “to the point where we started testing very extreme fallbacks in the protocol to address it.”
However, multiple applications running on the Ethereum blockchain were affected.
Jordi Baylina, head of technology at Polygon, said the finality outage delayed Polygon’s deposit into zkEVM, and infrastructure provider Infura, whose services were temporarily suspended due to the finality outage. The impact on individuals who used zkEVM was made more severe because they were using zkEVM.
“Layer 2 deposits have to wait for layer 1 finality,” Baylina said. She “cannot use[the chain]until finality is restored, creating the risk of double spending at Layer 2,” she explained.
dYdX also suspended deposits and said it would “continue to monitor and investigate the matter.”
Still, Ethereum developers insist that the network did not go down.
“This incident has been a great exercise. It seems like a couple of issues piled up (as is often the case). I found another problem,” Ethereum Foundation developer Marius Van Der Wijden tweeted.
｜Translation and editing: Akiko Yamaguchi, Takayuki Masuda
｜Original: Ethereum Briefly Stopped Finalizing Transactions. What Happened?