An Ava Labs engineer gave a rundown of the small code bug that severely crippled the Avalanche blockchain earlier this week.
In a Sunday Medium post, blockchain engineer Patrick O’Grady wrote that increased congestion on the network triggered a “non-deterministic bug” related to how the high-throughput, proof-of-stake blockchain keeps track of transactions.
Funds were never at risk, O’Grady notes, though the high-profile misstep has a valuable lesson for the blockchain industry.
Avalanche launched in September 2020 with the claim it could process 4,500 transactions per second. It’s backed by prominent cryptocurrency firms including Mike Novogratz’s Galaxy Digital, Bitmain and Initialized Capital. It also has an academic stamp of approval, having been 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 designed to solve the scalability problems that have plagued the second-largest blockchain since inception. While positioned to steal market share from Ethereum, Avalanche also has been billed as a way to complement and connect – rather than strictly compete – with its forbear.
Avalanche has three “default chains,” including the so-called “contract chain” that supports the Ethereum Virtual Machine and its Solidity coding language. It’s this chain that was part of this week’s issue.
You can read a full accounting of the problem that arose here. But in short, in order to boost transaction throughput, Avalanche’s three chains remain separate and distinct from each other, each performing within a set range of transaction-types, up until the moment an asset has to hop over to another chain. That process was placed under an incredible strain, following the launch of a new decentralized money market called Pangolin.
An atypical amount of users and volume created an atypical amount of blocks to be processed. This,…