Avalanche crippled by bug Triggered by unusually high volume, says engineer
An Ava Labs engineer gave an overview of the small code bug that crippled the Avalanche blockchain last week.
In a Sunday Medium post, blockchain engineer Patrick O'Grady wrote that increasing network congestion triggered a "nondeterministic error" related to how high-throughput and evidence-of-use blockchain tracks transactions.
Funds have never been at risk, according to O'Grady, although the high profile misstep is a valuable lesson for the blockchain industry.
The avalanche, which started in September 2020, could 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 Ethereum's virtual machine and its Solidity coding language. This chain was part of this week's issue.
You can read a full statement of the problem you encountered here. In short, 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 process. This, according to O'Grady, triggered a bug that resulted in 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 blocked the [contract] chain."
It is important that there are no double issues. “The error 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 finished 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 through the gradual deployment of a patch – basically the way software is updated.
Blockchains are complex things that are built by humans but operated by machines. A problem small enough to be bypassed on an initial inspection can lead to snowballs as a network grows. In the case of Avalanche, the failure did not freeze the network, but 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 issue arose.