Cosa sono gli Smart Contract? Come funzionano? una riflessione personale
Sicuramente hai sentito parlare di Smart Contracts.
Curioso, perché è un altro di quei termini che finiscono per essere conosciuti con il nome in inglese, invece di usare lo spagnolo, che sarebbe «Smart Contracts» o potrebbe anche essere «Elegant Contracts», anche se penso sia meglio rimanere con la prima opzione.
Ebbene, di cosa trattano gli Smart Contract?
Cosa li rende intelligenti?
Sappiamo tutti cos’è un contratto, ma smart deve avere qualche spiegazione.
Cercherò di spiegare perché sono intelligenti.
Cosa sono gli Smart Contract?
Gli smart contract sono quei contratti che consentono scambi di ogni tipo senza la necessità di un intermediario, ovvero un agente, broker o dealer.
Questo di per sé è un vantaggio impressionante, giusto?
Un altro modo per vedere cos’è uno Smart Contract è questo:
Sarebbe un programma che utilizza l’infrastruttura blockchain e come programma ha un codice e alcuni dati, oltre a un indirizzo specifico.
Quindi possiamo vedere che abbiamo a che fare con un lavoro di programmazione. Per coloro che non conoscono l’argomento, può suonare «cinese», la verità, ma l’importante qui è avere un’idea generale.
Come funzionano gli Smart Contract?
In gran parte del web, questo termine è associato alla criptovaluta Ethereum, che è ciò che presumibilmente facilita il funzionamento di questi contratti.
Da questo punto di vista, gli Smart Contract entrerebbero in funzione grazie all’Ether, che sarebbe come una sorta di input di energia affinché questi contratti possano essere eseguiti.
Tuttavia, ciò non significa che l’uso di questi contratti sia possibile solo in Ethereum, poiché per questo possono essere utilizzate anche altre applicazioni blockchain.
Per vedere come funziona uno di questi contratti, è meglio vedere un esempio.
Esempio di Smart ContractPedro vuole comprare un’auto che ha Juan. Nel caso 1, o nella vita reale, Pedro e Juan potrebbero scambiare l’auto privatamente, senza l’aiuto di concessionari o concessionari. Questo si avvicinerebbe a quello che sarebbe uno Smart Contract. In questo caso Pedro paga Juan e quest’ultimo gli consegna le chiavi. Ma qui non è chiaro cosa sia lo Smart Contract, perché il contratto di cui parliamo viene elaborato virtualmente, nella blockchain. Nel caso 2, vorremmo che Juan lasci l’auto a un concessionario e Pedro la compri da detto agente, con il quale Juan deve far guadagnare al precedente una commissione per la transazione, e con questo generare il contratto scritto che dà origine a allo stesso. Il caso 2 sarebbe quello che gli Smart Contract “vogliono eliminare”. Nel caso 3, nel mondo Blockchain, Pedro invia il denaro all’applicazione che gestisce il contratto, quindi Juan invia una sorta di «codice» necessario per guidare l’auto, e quindi avviene la transazione: uno riceve l’auto e l’altro il codice che ti permette di avviare l’auto. Ma come assicurarsi che Pedro ottenga la vera macchina? Perché potrebbe succedere che Juan lasci il codice, sì, ma che non lasci la macchina, cosa che la blockchain o lo Smart Contract non potrebbero facilmente verificare. |
Vedi?
Cercando di fare un esempio, possiamo trovare difficoltà tecniche.
Cosa mi dice questo?
Che il modello degli Smart Contract, fin dall’inizio, funzioni molto meglio per il mondo virtuale, dove la transazione può essere verificata automaticamente scambiando «denaro» con «token», indipendentemente dal fatto che questo token sia un bene digitale di qualsiasi tipo. Cioè, quando il token viene fornito e il contratto viene eseguito, il token, ovvero la proprietà digitale, passa nelle mani dell’acquirente.
Che vantaggio ha questo rispetto all’esempio della vita reale di Giovanni e Pietro?
Ebbene, ci mostra che è un modello di lavoro perfetto per un’economia virtuale, che non ha limiti né confini, e che consente ai cittadini di qualsiasi parte del mondo di acquistare e vendere token senza bisogno di agenti.
Pertanto, se Juan è in Messico e Pedro in Spagna, entrambi possono scambiare quella proprietà digitale in modo sicuro, trasparente ed efficiente attraverso un contratto intelligente.
Perfetto.
Ci sono però dei dubbi che sorgono, e per questo andremo a vedere l’esempio dato in molte potenti pagine della rete, come la stessa Ethereum.org, dove ci parlano dell’esempio del «vending machine» come il meglio spiegare come funzionano questi contratti intelligenti.
Origine degli Smart Contract
Per continuare a parlare di questo problema dei «distributori automatici», quale modo migliore per andare che andare alla storia iniziale di questo concetto.
L’idea è venuta da Nick Szabo, che nel 1994 ha avuto l’idea che un sistema decentralizzato fosse la cosa migliore da utilizzare per poter eseguire contratti intelligenti o contratti autoeseguibili tramite codice informatico.
Nel 1997 ha scritto un articolo intitolato “Idea Smart Contracts”. In esso parlava dell’esempio del «distributore automatico».
Com’è la metafora del distributore automatico?
In sostanza, questa metafora ci dice che la macchina sarebbe il «libro contabile» o Smart Contract, e che un individuo A potrebbe ottenere un servizio B(ad esempio una barretta di cioccolato), semplicemente mettendo soldi nella macchina. In questo modo, lo smart contract verrebbe eseguito con la spedizione dell’oggetto.
In questo modo, in teoria, non ci sarebbe bisogno di quell’agente intermediario così necessario fino ad oggi per la maggior parte delle transazioni nel mondo fisico o reale.
La macchina si occuperebbe di eliminare “l’uomo nel mezzo”.
Ma è vero?
In teoria sì, ma all’inizio sorge una domanda.
Il distributore ha un proprietario.
Chi possiede lo Smart Contract?
Questo ci porta ad altre domande come Chi possiede l’ecosistema Ethereum?
Molti diranno che questi elementi non hanno proprietario; che appartengono a tutti e a nessuno allo stesso tempo.
Il dubbio però continua ad assalirmi, perché subito vedo che l’esempio del «distributore automatico» ha quel difetto. Questa macchina ha un proprietario, ovvero l’azienda che possiede quelle macchine. Pensa che non debba essere per forza una società ma che possa essere anche lo Stato.
Questo mi porta a interrogarmi sulla sicurezza di questi contratti.
Gli Smart Contract sono sicuri?
In teoria sì, dovrebbero essere elaborati in modo tale da non poter essere interrotti senza che tutti i partecipanti al sistema se ne accorgano.
Tuttavia, in pratica la questione non è così semplice.
Ben noti sono gli episodi di hack in passato in cui erano presenti punti deboli del sistema per eccellenza degli smart contract: Ethereum. Ad esempio, l’ episodio di luglio 2017, in cui è stata rubata una quantità significativa di Ethereum. Ci sono più hack se iniziamo a cercare.
Se poi leggiamo diverse fonti interessanti sull’argomento, come un brutale articolo di Blockgeeks, dove in una delle sue sezioni si dice qualcosa del genere:
I voti protetti da Libros avrebbero bisogno di essere decifrati e ciò richiederebbe un’enorme potenza di calcolo. Nessuno ha così tante capacità, quindi ci vorrebbe Dio per hackerare il sistema.
Bene, questa affermazione lascia cadere due cose:
- È molto difficile hackerare uno Smart Contract ben realizzato
- Con abbastanza abilità puoi hackerare
In altre parole, anche se lo fanno in modo esagerato(con «Dio»), stanno riconoscendo che il sistema può fallire.
Inoltre, se iniziamo a indagare, vedremo molta «letteratura» sulla necessità di creare contratti seguendo schemi specifici per la sicurezza, cosa che mostra anche che prima di questi schemi c’erano molti problemi di ingerenza e furto.
Ogni criptovaluta utilizzata per questo tipo di contratto ha una serie di raccomandazioni diverse, che si tratti di Ethereum, NEO o EOS.
Cosa si può fare per evitare problemi di sicurezza?
Ci sono alcuni passaggi da fare, come ad esempio:
- Segui i consigli delle community di ciascuna criptovaluta
- Fai dei test completi prima che il contratto vada sul mercato
- Applica controlli continui per cercare bug ed errori
Sfortunatamente, la natura stessa tecnologica di questi Smart Contract renderà impossibile la loro sicurezza al 100%.
Attenzione, non sto dicendo che non verranno implementati o che sono molto insicuri, ma che non potranno mai essere implementati in totale sicurezza.
È un fatto di cui dobbiamo tenere conto.
Quindi, ciò che rimane è il duro lavoro di creare questi contratti con le migliori pratiche di sicurezza e sviluppare un sistema di sorveglianza per prevenire possibili attacchi.
Quindi qui c’è ancora un bel po’ di terreno da coprire, il che è normale considerando che siamo agli «bambini» di questo mondo di contratti virtuali.
Il futuro degli Smart Contract
Vedendo com’è il panorama nel mondo, mi sembra che questo tipo di contratto aumenterà come schiuma nei prossimi anni. Lo sta già facendo, infatti.
La grande ascesa delle criptovalute, con Bitcoin ed Ethereum in testa, ci fornisce l’indizio necessario per capire che l’adozione delle realtà virtuali è già un dato di fatto e, soprattutto, che questa adozione sembra avere un andamento esponenziale.
Al ritmo che stiamo andando, non credo che ci vorrà molto per raggiungere un’economia virtuale in cui il denaro fisico è scomparso e la principale attività economica è stata trasferita quasi interamente nel mondo virtuale.
È qui che il concetto di Smart Contract avrà la precedenza sulla maggior parte delle attività economiche.
Tuttavia, questo ha cause e conseguenze.
Le cause di questa adozione derivano dalla spinta globale verso un’economia(presumibilmente) più virtuale e sostenibile vista l’emergenza posta dai Cambiamenti Climatici e dalla pandemia. Questa adozione non potrebbe essere spiegata così facilmente senza questa massiccia spinta che i governi mondiali stanno portando avanti.
Questo è fondamentale per capire.
Quello che voglio dire è che l’adozione di questo tipo di contratto è accelerata a causa del massiccio interventismo statale, un interventismo che monopolizza sempre più rami dell’economia e della società che abbiamo conosciuto fino ad ora.
Come ho detto nella prima parte dell’articolo, questi contratti sono particolarmente efficienti per una realtà virtuale, ma non necessariamente così efficienti per una realtà fisica; non almeno con il paradigma del governo di controllo che abbiamo oggi.
Voglio dire, l’idea è ottima.
Con uno smart contract posso comprare casa senza bisogno di un avvocato, di un notaio e nemmeno di un banchiere, ma questo non può essere in una realtà in cui lo Stato ha questo processo controllato al massimo e costringe i privati a contrarre questi servizi.
In questo senso, la cosa più importante è la regolamentazione statale, e penso sia facile capire che controlla l’attività fisica o reale. Non puoi sottrarti, né con lo smart contract né senza di essa.
Ciò che lo Smart Contract ha è una struttura innata per facilitare le transazioni virtuali. L’unica cosa che interesserà lo Stato qui è che tu dichiari i tuoi guadagni. Se hai guadagnato X soldi vendendo token e li hai portati nell’economia reale, lo Stato vuole la sua parte di quei soldi.
Ricordiamo come sarebbero i vecchi contratti:
- prima la parola
- Poi sono arrivati gli atti di avvocati privati
- Terzi con notai e atti di proprietà
Questi tipi di contratti presentano un evidente svantaggio in un mondo virtuale dove non ci sono confini.
Questo, e il fatto che gli stati controlleranno sempre di più l’economia fisica, farà sì che l’attività vada nel mondo virtuale, ed è qui che gli Smart Contract prenderanno la guida di quel mondo, in teoria, decentralizzato.
Tuttavia, questa domanda rimane nella mia mente:
Chi possiede la piegatrice?