Avalanche paralizzata da un bug innescato da un volume insolitamente alto

Avalanche paralizzata da un bug innescato da un volume insolitamente alto - 46167729142 9987c26a63 k 1200x628 1In un post sul Sunday Medium, l’ingegnere blockchain Patrick O’Grady del team di Ava Labs ha scritto che l’aumento della congestione sulla rete Avalanche ha innescato un “bug non deterministico” relativo al modo in cui la blockchain proof-of-stake e high-throughput tiene traccia delle transazioni. I fondi non sono mai stati a rischio, osserva O’Grady, sebbene il significativo passo falso abbia lasciato una lezione preziosa al settore blockchain.

Cos’è Avalanche

Avalanche è una blockchain lanciata a settembre 2020 con la promessa di elaborare 4.500 transazioni al secondo. È supportata da importanti aziende di criptovaluta tra cui Galaxy Digital, Bitmain e Initialized Capital di Mike Novogratz.

Ha anche un’approvazione accademica, essendo stata progettata da Emin Gün Sirer, professore di informatica alla Cornell University. La blockchain è solitamente associata ad altri cosiddetti “Ethereum killer”, o blockchain progettate per risolvere i problemi di scalabilità che hanno afflitto la seconda blockchain più grande sin dall’inizio.

Sebbene nata per rubare quote di mercato da Ethereum, Avalanche è stato anche pubblicizzato come un modo per completare e connettersi, piuttosto che competere strettamente, con il suo predecessore. Avalanche ha tre “default chain”, inclusa la cosiddetta “contract chain” che supporta la macchina virtuale Ethereum (qui la quotazione in tempo reale) e il suo linguaggio di codifica Solidity. Ed è qui che è emerso il problema.

Il bug

In breve, al fine di aumentare il throughput delle transazioni, le tre catene di Avalanche rimangono separate e distinte l’una dall’altra, ognuna delle quali opera all’interno di una serie di tipi di transazione, fino al momento in cui una risorsa deve passare a un’altra catena.

Quel processo è stato messo a dura prova, in seguito al lancio di un nuovo mercato monetario decentralizzato chiamato Pangolin. Una quantità atipica di utenti e volume ha creato un altrettanto atipica quantità di blocchi da elaborare.

Questo, osserva O’Grady, ha innescato un bug che creava falsi “conio” cross-chain. Come ha detto O’Grady: “Ciò ha indotto alcuni validatori ad accettare alcune transazioni di conio non valide, mentre il resto della rete si è rifiutato di processare queste transazioni e ha bloccato la contract chain.” È importante sottolineare che non si sono verificate doppie spese e che il bug non ha influenzato le regolari attività della rete, ha scritto O’Grady.

Problema risolto

Sebbene il bug sia stato preso in carico nel giro di poche ore, trovare una soluzione non è stato così semplice. Alla fine, gli sviluppatori hanno risolto il problema attraverso la distribuzione incrementale di una patch, fondamentalmente il modo in cui viene aggiornato qualsiasi software.

Le blockchain sono infrastrutture complesse, costruite da esseri umani, ma gestite da macchine. Un problema sufficientemente piccolo da poter passare inosservato durante un’analisi iniziale può moltiplicarsi man mano che una rete cresce.

Nel caso di Avalanche, il bug non ha causato l’interruzione della rete, ma è comunque stato una doccia ghiacciata per chi vantava la capacità della rete di gestire un throughput elevato prima del lancio. AVAX, il token della blockchain, è scambiato a circa 41,20 $, in calo rispetto ai 53 $ dell’11 febbraio quando si è verificato il problema.