Le criptovalute, per quanto tecnologiche ed innovative, non sono state esenti da errori di programmazione che hanno portato danni molto rilevanti al pubblico che aveva investito nei token o depositati i soldi in exchange e wallet.
Read this article in the English version here.
Purtroppo, nessuna tecnologia è priva di rischi e la scelta degli strumenti tecnici a cui affidarsi deve essere fatta sempre con la massima attenzione.
Facciamo un breve riepilogo dei più gravi errori di programmazione nella blockchain e delle loro conseguenze:
- Ethereum ed il caos del Parity Wallet.
Immaginate di essere uno sviluppatore dilettante e di scoprire un bug in un wallet, in questo caso il Parity Multisig, con oltre 580 utenti per un valore in ETH del momento di circa 300 milioni.
Scoprite che si sono dimenticati di indicare il proprietario del Library Wallet, cioè, del codice del wallet.
Cosa fareste voi? Se foste disonesti prendereste il controllo dei wallet ed andreste a comprare una Lamborghini.
Invece lo sviluppatore Devops199, dopo aver preso il controllo della libreria, ebbe la splendida idea di cancellarla, salvo poi postare in issue in cui chiedeva “Ma è una cosa seria?”. No, hai solo bruciato 300 milioni.
- I 92 milioni di bitcoin.
L’8 agosto 2010 lo sviluppatore Jeff Garzik, analizzando i blocchi di Bitcoin, si rese conto che c’era un problema: il numero di BTC totale risultante dai blocchi era pari a 92 milioni, non a 21, come previsto da Satoshi Nakamoto.
L’errore era talmente grave che la comunità decise di riscrivere i blocchi che contenevano l’errore anche se questo significa cancellare le transazioni contenute nei blocchi. Questo incidente fu definito dallo sviluppatore Wladimir Van der Laan come il peggiore nella storia di Bitcoin.
- L’incidente del Rex.
La piattaforma Rex, lanciata nel 2017 vuole portare i vantaggi della blockchain al settore immobiliare, attraverso un sistema decentralizzato per la gestione delle inserzioni immobiliari.
Un’ottima idea, se non fosse che la ICO del 2017 venne segnata da numerosi errori, tra cui uno che fece perdere agli investitori 1,3 milioni di dollari in token per un errore in una riga di programmazione nello smart contract. Per fortuna, i manager di Rex avevano già raccolto 13 milioni di dollari con i venture capitalist, per cui furono in grado di rimborsare le perdite.
- Il DAO.
L’idea del DAO, Decentralized Autonomous Organization, sembrava la più geniale per Ethereum, perché si presentava come una sorta di venture capital guidato da smart contract.
Chi depositava 1 ETH otteneva 100 DAO nel più grande token launch visto sino ad allora. Tutto bene, peccato che ci fosse un errore nella programmazione del token che permetteva prelievi multipli di ETH prima che il saldo di ETH in DAO fosse aggiornato. Il problema non era della blockchain di Ethereum, ma di una cattiva programmazione degli smart contract di DAO: Ad un certo punto l’hacker che aveva scoperto il bug smise di prelevare anche se, in teoria, avrebbe potuto prosciugare il DAO.
- Gli aggiornamenti di Bitcoin.
Come tutti i software, Bitcoin necessita di upgrade periodici per permettergli di funzionare correttamente. Se qualcosa va male negli upgrade allora si può sfiorare la catastrofe. Nel 2013 si passò dalla versione 0.7 alla 0.8 con un aumento nella dimensione dei blocchi. Una volta aggiornato, iniziarono i problemi: infatti la nuova versione era incompatibile con la precedente e quindi si era realizzata una hard fork involontaria. Gli utenti si resero conto del problema e ne avvisarono gli sviluppatori, ma l’unica soluzione fu tornare alla versione 0.7.
- Binance sospende gli scambi.
Un errore di programmazione può essere devastante per un exchange. Nel febbraio 2018, Binance ha sospeso gli scambi per due giorni a causa di un un errore di programmazione.
Il problema doveva essere risolto in un solo giorno, ma la chiusura venne prolungata per dei problemi imprevisti. Un colpo duro per la fiducia negli exchange.