• bitcoinBitcoin$64,290.00-4.13%
  • ethereumEthereum$3,153.61-3.61%
  • elrond-erd-2MultiversX$41.55-7.83%

Perché Un Minimo Errore È Costato A Compound Finance Perdite Per 80 Milioni Di Dollari

Compound Finance ha lanciato mercoledì l’aggiornamento Proposal #62 per implementare “Dynamic COMP reward distribution” e riparare un certo numero di bug minori.

Eppure, poco dopo il lancio dell’upgrade, Compound Labs ha documentato un’attività insolita che ha permesso ad alcuni utenti di riscattare più token $COMP di quelli realmente disponibili.

Controllando attentamente il contratto, l’auditor dello smart contract Kurt Barry ha detto che il bug è stato causato dal più infinitesimale degli errori. Ga aggiunto che questo piccolo difetto è costato a Compound Labs decine di milioni.

Solidity è il linguaggio di programmazione su Ethereum di tipo object-orientated, significa che organizza il design intorno agli oggetti e ai dati. Al contrario di come fanno i linguaggi basati su funzione e logica.

Ha alcuni punti in comune con C e C++ quindi è piuttosto semplice da imparare. Fato che un certo numero di programmatori si trova già a proprio agio con C e C++, la transizione verso Solidity non richiede molto sforzo.

Eppure questo approccio di tipo imperativo comporta rischi per i programmatori che devono scrivere il codice in modo che sia ben chiaro cosa fare durante ogni passaggio, anche una minima omissione lascia lo smart contract esposto a vulnerabilità.

“With an imperative approach, a developer writes code that specifies the steps that the computer must take to accomplish the goal. This is sometimes referred to as algorithmic programming. In contrast, a functional approach involves composing the problem as a set of functions to be executed”.

In questo caso, l’indagine di Barry ha evidenziato che l’errore nella Proposal #62 di Compound dipendeva dalla mancanza del simbolo “=” in due posizioni.

“Smart contracts are unforgiving of the tiniest errors…COMP bug is a tragic case of “>” instead of “>=” (in two code locations). Two characters, tens of millions of value lost”

I critici hanno evidenziato che la fase di audit e test di Compound avrebbe dovuto essere più accurata. Di fatto questo è un altro esempio del tipo di criticità che caratterizza Solidity, che appare ancora più evidente quando in ballo ci sono rischi di perdite milionarie.

ARTICOLO PRECEDENTEARTICOLO SUCCESSIVO

Leave a Reply

Your email address will not be published. Required fields are marked *