Avalanche Crippled by Bug Triggered by Unusually High Volume, Engineer Says


An Ava Labs engineer gave an overview of the little code bug that crippled the Avalanche blockchain last week.

In a Sunday Medium post, blockchain engineer Patrick O’Grady wrote that increasing network congestion caused a “nondeterministic error” related to how the high-throughput, proof-of-stake blockchain tracks transactions.

According to O’Grady, funds have never been at risk, although the high-profile misstep is a valuable lesson for the blockchain industry.

The avalanche started in September 2020 with the claim to be able to process 4,500 transactions per second. It’s backed by well-known cryptocurrency firms, including Mike Novogratz’s Galaxy Digital, Bitmain, and Initialized Capital. It also has an academic seal of approval designed by Emin Gün Sirer, a computer science professor at Cornell University.

The blockchain is usually grouped with other so-called “Ethereum killers” or blockchains to solve the scalability problems that have plagued the second largest blockchain since its inception. While Avalanche is capable of stealing market share from Ethereum, it has also been billed as a way to complement and connect with its ancestors, rather than strictly competing with them.

Avalanche has three “standard chains” including what is known as the “contract chain” that supports the Ethereum virtual machine and its Solidity coding language. It’s this necklace that was part of this week’s issue.

You can read a full statement of the problem you encountered here. In short, in order to increase transaction throughput, Avalanche’s three chains remain separate and segregated, each operating within a set range of transaction types until an asset needs to move to another chain. This process was put under incredible strain after the introduction of a new decentralized money market called pangolin.

An atypical number of users and volumes created an atypical number of blocks to be processed. O’Grady notes that this introduced a bug that caused the wrong cross-chain “mints”. In O’Grady’s words, “This resulted in some auditors accepting some invalid coin transactions, while the rest of the network refused to honor those transactions and that blocked it [contract]-Chain.”

It is important that there are no double issues. “The bug had no effect on regular transactions, money transfers, money transfers, coin destruction or intelligent contract calls. Avalanche has not allowed any user to successfully send the same money to two recipients, ”wrote O’Grady.

Reading the problem was done just hours after the first problem, although it was more difficult to find a solution. Given the decentralized nature of Avalanche, it would be impossible to get all nodes to collide and roll back problematic transactions.

Instead, as O’Grady writes, a solution was found by deploying a patch in stages – basically the way all software is updated.

Blockchains are complex things that are built by humans but operated by machines. A problem small enough to be circumvented on an initial inspection can lead to snowballs as a network grows. In Avalanche’s case, the bug did not freeze the network, but it poured ice water over some of the features resulting from the network’s ability to handle high throughput prior to launch.

AVAX, the token on the blockchain, is trading hands at around $ 41.20, compared to $ 53 on Feb.11 when the problem arose.