BlockPills 4: Smart Contracts, problemi e soluzioni
Gli Smart Contracts
L’idea di Smart Contract risale in realtà alla metà degli Anni ’70. All’epoca l’esigenza era legata alla necessità di gestire l’ attivazione o disattivazione di una licenza software in funzione di alcune condizioni molto semplici. La licenza di determinati software veniva gestita da un codice segreto che permetteva il funzionamento del software se il cliente aveva pagato la licenza e ne cessava il funzionamento alla data di scadenza del contratto Uno Smart Contract.
Uno Smart Contract è la “traduzione” in un codice di un contratto in modo da disciplinare che: al ricorrere della condizione A, si avvera la condizione B; se eseguirai la tua prestazione ti verrà corrisposto il prezzo. In altre parole lo Smart Contract è basato su un codice che “legge” le clausole che sono state concordate e le condizioni operative nelle quali devono verificarsi e si autoesegue automaticamente nel momento in cui i dati reali corrispondono ai dati delle condizioni e clausole concordate.
L’assenza di un intervento umano nella sua esecuzione, è speculare all’assenza di un contributo interpretativo, per questo uno Smart Contract deve essere basato su descrizioni estremamente precise per tutte le circostanze considerabili
Di pari importanza è definire in modo estremante preciso le fonti di dati alle quali il contratto deve fare riferimento.
Lo Smart Contract è di fatto il risultato dell’esecuzione di un codice da parte di un computer. Di fatto se da una parte rappresenta una certezza assoluta di giudizio oggettivo, dall’altra carica la programmazione e lo sviluppo del codice di grandi responsabilità e poteri determinanti.
I problemi
Dando un’occhiata ai numeri, si potrebbe ipotizzare che il tasso di fallimento del 3% degli Smart Contracts basati su Ethereum sia una percentuale tollerabile, tuttavia, bisogna sempre ricordare che ciascuno di essi, inserito in una Blockchain può rappresentare un valore economico da migliaia di €uro.
Prendiamo ad esempio il Bug di ICON del 2018 che consentiva a qualsiasi utente, a parte il creatore (proprietario) dello Smart Contract, di abilitare e disabilitare liberamente le transazioni. Paralizzare una blockchain da 800 milioni di dollari di per se sarebbe più preoccupante, ma è poco in confronto ai fallimenti del passato.
Ci sono stati innumerevoli errori colossali nel passato ma, tra loro, il peggiore è sicuramente quello della Distributed Autonomous Organization (DAO) nel 2016. Con un hackeraggio da 3,6 milioni di Ether scaricati, il DAO ha costretto i fondatori di Ethereum a prendere misure radicali e creare un fork difficile ma l’unica possibilità di salvare i fondi persi, all’epoca il 15% di tutti gli Ether in circolazione.
Ci vuole tempo per appianare i nodi in qualsiasi nuova tecnologia di zecca e, i contratti intelligenti, non fanno eccezione.
Possibili soluzioni
Tra le prime soluzioni individuate dal mercato sono nate un certo numero di aziende che offrono verifica e auditing degli Smart Contracts ad un costo di certo non accessibile. Queste soluzioni possono essere di impatto caso per caso, ma è ovvio che sarà necessaria una soluzione più economica e più rapida per soddisfare il crescente appetito mondiale per la blockchain.
Esiste anche una società che propone una soluzione ingegnerizzata attraverso un’eminente piattaforma di verifica per tutti i componenti di un ecosistema blockchain, inclusi contratti intelligenti. Laddove i suoi concorrenti si affidano alla verifica manuale e al classico approccio basato sui test, questa società fa notare che il test può solo identificare quando sono presenti bug e non può certificare l’immunità ad essi del sistema. Al contrario, tale piattaforma dimostra matematicamente che tutti gli oggetti sono privi di bug e resistenti agli hacker.
- Posted by MepLaw
- On 1 Ottobre 2019