Ethereum, The DAO e la mancanza di governance

Sulla blockchain Ethereum è possibile scrivere degli smart contract, ossia dei veri e propri programmi che, una volta compilati e caricati sulla blockchain diventano autonomi e non possono essere modificati o fermati.
Una delle forme previste per questi smart contract è la DAO (Decentralized Autonomous Organization), programma che svolge i compiti di un’organizzazione istituzionale e quindi ne implementa funzioni tipiche, quali ad esempio le votazioni.

Meno di un mese fa è stato lanciato The DAO, uno smart contract che realizza le funzioni di un fondo d’investimento distribuito. Chi ha voluto partecipare a tale fondo d’investimento ha acquistato i token DAO in una fase precedente al lancio e ha così ottenuto delle quote del fondo e il diritto di voto necessario per accettare o meno le proposte di progetto da finanziare. Tale raccolta fondi è andata molto bene, raggiungendo un totale di circa 180M di dollari.

Circa una settimana fa c’è stato un grosso problema nel sistema. Semplificando:

  • esiste un bug (e quindi non risolvibile perché ormai nessuno può modificarne il codice) nel contratto di The DAO, in una funzionalità che permette di crearne copie

  • qualcuno ha usato questo bug per avviare un loop che trasferiva token DAO verso un unico conto, che è quindi una copia dello stesso The DAO, e in poco tempo erano già stati trasferiti una quantità enorme di token, pari a circa 60M di dollari

  • gli staff di Ethereum e The DAO insieme hanno utilizzato un’altra funzionalità di The DAO per bloccare temporaneamente il conto ricevente

  • dopo qualche giorno hanno utilizzato lo stesso bug per spostare tutti i fondi rimasti su The DAO verso un nuovo contratto di cui detengono le chiavi e metterli così al sicuro

  • i token DAO valgono 11% di tutto Ethereum, quindi sfortunatamente si sono portati dietro il valore dell’Ether, sceso da 19 a 10 euro in un paio d’ore e stabilizzatosi a quel valore

Lo staff di Ethereum, soccorrendo quello di The DAO, ha sbagliato molte cose nell’approcciare il problema:

  • c’era un problema con un singolo contratto, un bug che è stato usato per depredarlo, e che potesse succedere prima o poi era cosa abbastanza ovvia, ma era The DAO e sono andati nel panico decidendo di salvarlo

  • hanno bloccato temporaneamente il conto/contratto beneficiario

  • hanno proposto un soft fork per introdurre una blacklist dei conti/contratti ed inserire quindi la possibilità di bloccare definitivamente i conti e modificare i contratti in generale

  • propongono anche un hard fork dell’intera blockchain per introdurre un possibile annullamento delle transazioni, inserendo così una forma di “censura” e quindi di controllo

 

The DAO

 

L’account dell’hacker è bloccato per 27 giorni perché nel codice di The DAO c’era questo tempo di attesa prima di poter usare i soldi inseriti in un childDAO. Ancora non è stato effettuato nessun soft fork o hard sork, sono stati proposti e implementati nei client di Ethereum, ma devono essere abilitati dai miners per avere effetto.

Credo che abbia sbagliato chi ha pensato che la piattaforma Ethereum è neutrale. Ethereum è una piattaforma gestita dai miners con un algoritmo di consenso e maggioranza, che democraticamente possono scegliere cosa fare. Ovviamente più è grande Ethereum e più i miners sono eterogenei e quindi è difficile che si facciano gli interessi di pochi. Oggi Ethereum ancora non è a questo livello, ma ci arriverà (…in ogni caso…) la piattaforma funziona perfettamente, non ha bug.

(…)

In conclusione tutto ciò che è successo serve per maturare, e comprendere che scrivere Smart Contracts è qualcosa di serio, che richiede test, verifiche ai massimi livelli. Credo alla fine questa vicenda farà bene alla community.

nota di Francisco Spadafora (NTT Data)

 

C’è stato inoltre un problema di comunicazione, chi ha lanciato The DAO ha lasciato intendere (sin dal nome scelto) che fosse totalmente autonomo e indipendente. Una forma di marketing così enfatica è stata molto efficace, Wired ha definito The DAO come “The Biggest Crowdfunding Project Ever“, ma molti non hanno le capacità di valutare nel dettaglio un progetto sperimentale di questa portata e hanno investito denaro basandosi solo su quella presentazione.

Cosa succederà ora?
Se si faranno i fork si creerà un precedente “politico” per il quale chiunque scriva uno smart contract buggato potrà richiedere alla comunità di far fronte ai suoi danni.
Se non si faranno, molte persone avranno perso un investimento. Investimento sicuramente fatto con leggerezza e senza verificare il codice sorgente dello smart contract. Ma quanti ne sono capaci?
In ogni caso, ha perso denaro anche chi ha investito in Ether e non ha voluto investire in DAO. Sarebbe giusto risarcire i secondi dimenticandosi dei primi?

Anche se la blockchain Ethereum è stabile, questo è un brutto colpo per la credibilità dell’intero sistema, abbiamo la dimostrazione di come la fiducia nel progetto possa essere messa in crisi da un singolo contratto scritto male.

Il problema di fondo è una mancanza di governance, il classico errore dato dal fatto di essere troppo fiduciosi nel fatto che la soluzione sia nella tecnologia e non nella gestione.

other posts

Posted by webStation | 7 July 2018
Programmiamo la Blockchain
Strumenti e tecniche per programmare sulla Blockchain Si è tenuto Mercoledì, 11 Luglio - ore 18.00 - presso il Talent Garden Cosenza, il workshop "Programmiamo la Blockchain" in collaborazione con...
Posted by Cinzia Lattari | 15 May 2018
CONVEGNO/ Blockchain e Bitcoin
Si è svolto Martedì, 22 Maggio 2018, presso Odcec - Ordine dei Dottori Commercialisti e degli Esperti Contabili - Milano, il convegno "Blockchain e Bitcoin" .   22 MAGGIO 2018...
Posted by webStation | 14 May 2018
Criptovalute e ICO
Si è svolto Lunedì, 21 Maggio 2018, presso il Centro Congressi (Aula Magna) dell'Università della Calabria, il seminario "Criptovalute e ICO" organizzato nell'ambito del Progetto Ricerca e Sviluppo IoT&B. In...
NEWS