Impatto Economico, Differenze dal Codice Tradizionale, Vulnerabilità e Misure di Sicurezza
Introduzione
Gli smart contract stanno rivoluzionando il mondo della finanza decentralizzata (DeFi), ma come ogni nuova tecnologia, portano con sé nuove sfide in termini di sicurezza. Questo articolo esplora l’impatto economico delle vulnerabilità degli smart contract, le loro differenze rispetto al codice tradizionale, le vulnerabilità più pericolose e le misure di sicurezza necessarie per mitigare i rischi.
Numeri e impatto economico delle vulnerabilità degli smart contract
Secondo il sito specializzato DefiLlama il total value locked dei protocolli di finanza decentralizzata è stabilmente sopra i $ 40B, valore tra l’altro relativamente basso rispetto ai picchi di oltre $ 160B raggiunti prima degli eventi catastrofici di Terra/Luna e del crack dell’exchange FTX.
Contemporaneamente, abbiamo assistito a una serie di attacchi agli smart contract che hanno portato alla perdita di milioni di dollari. Sempre secondo il sito DefiLlama il totale cumulato di tali perdite ammonta ad oltre $ 6B.
Ad esempio, nel Luglio 2023, un attacco a Multichain ha compromesso 126 milioni di dollari a causa di una chiave privata compromessa.
Il mese di Luglio 2023, momento in cui viene redatto questo articolo, è stato particolarmente prolifico, questa è la lista degli hack dei soli primi 10 giorni del mese:
- Arcadia: Il 10 luglio 2023, si è verificato un attacco di reentrancy tramite flashloan, che ha causato perdite per $ 0.46 milioni.
- Multichain: Il 7 luglio 2023, $ 126 milioni sono stati compromessi a causa di una chiave privata compromessa attraverso un metodo sconosciuto.
- RodeoFinance: Il 4 luglio 2023, un exploit della logica delle riserve ha portato a una perdita di $ 0.09 milioni.
- AzukiDAO: Il 3 luglio 2023, un replay attack ha causato una perdita di $ 0.068 milioni.
- PolyNetwork: Il 2 luglio 2023, $5 milioni sono stati compromessi a causa di una chiave privata compromessa attraverso un metodo sconosciuto.
- Questi incidenti evidenziano l’importanza della sicurezza nello sviluppo e nell’implementazione degli smart contract.
In cosa sono diversi gli smart contract dal codice tradizionale
Gli smart contract differiscono dal software tradizionale in vari modi. Mentre il software tradizionale viene eseguito su un computer fidato e svolge compiti basati su istruzioni che gli utenti non possono verificare, gli smart contract offrono un livello superiore di sicurezza, autonomia e trasparenza. Il codice di uno smart contract è generalmente visibile e verificabile, e i dati forniti come input a uno smart contract possono essere verificati in qualsiasi momento e non possono essere alterati durante la trasmissione dal computer dell’utente alla rete blockchain.

Le vulnerabilità più pericolose e gli exploit ricorrenti
Le vulnerabilità negli smart contract possono avere conseguenze devastanti.
Un esempio è l’attacco a TheDao nel 2016, dovuto a un bug di reentrancy, che ha portato alla perdita di milioni di dollari. Altri attacchi comuni includono exploit di logica del protocollo, attacchi al prezzo fornito dagli oracoli tramite flashloan e la compromissione di chiavi private dotate di ruoli privilegiati nel contratto.
Le misure di sicurezza e gli audit
Per mitigare i rischi associati agli smart contract, è essenziale adottare misure di sicurezza adeguate. Queste includono la scrittura sicura del codice, senza backdoor, l’uso minimo di ruoli privilegiati, e la limitazione degli aggiornamenti a regole predefinite e specifiche. Inoltre, è fondamentale eseguire test esaustivi e ispezioni manuali ed automatiche del codice sia interne al team di sviluppo che attraverso l’assistenza di team esterni al progetto.
Nonostante queste misure siano ormai indispensabili, è importante ricordare che nessun codice è sicuro al 100% e nemmeno le ispezioni del codice o gli audit esterni possono escludere completamente la possibilità di un malfunzionamento.
Come dice il vecchio adagio dell’informatica:
“Il testing dimostra la presenza di malfunzionamenti, non la loro assenza”.
In conclusione, gli smart contract rappresentano una tecnologia rivoluzionaria con un enorme potenziale, ma è fondamentale affrontare le sfide di sicurezza che presentano.
E’ compito delle istituzioni tenere alto il livello di attenzione ma ancora più importante è costruire la consapevolezza dal basso, dalle community di appassionati e sviluppatori, attraverso la condivisione di best practice. A tale scopo siamo impegnati con la rete Smart Contract Tips Italia a promuovere la cultura della sicurezza nell’ambito degli smart contract.
Attraverso la comprensione delle vulnerabilità, l’implementazione di misure di sicurezza adeguate e l’esecuzione di audit regolari, possiamo sfruttare al meglio le opportunità offerte dagli smart contract minimizzando i rischi.
Links:
DefiLlama – https://defillama.com
Smart Contract Tips Italia – https://smartcontract.tips










