Quando si è iniziato a parlare di Smart Contract o di contratti intelligenti il primo pensiero e la prima semplificazione è stata quella di considerarli come una minaccia al lavoro di avvocati e notai. Ma non è affatto vero che la Blockchain o meglio, una delle dimensioni della Blockchain come gli Smart Contract sia destinata a mettere in discussione il lavoro degli studi legali o notarili. Certamente, come tutte le trasformazioni, imporrà un cambiamento, e certamente a queste figure professionali verrà chiesto di rivedere il proprio ruolo nella realizzazione di forme contrattuali fortemente innovative.
Ma per capire che tipo di cambiamento arriverà o sta arrivando con gli Smart Contract e quali settori saranno prima di altri interessati è importante capire di cosa si tratta.
Smart Contract e Blockchain
Gli Smart Contracts innanzitutto non sono una novità da associare necessariamente alla Blockchain. In effetti sono stati oggetto di sperimentazione già negli Anni ’90 e sono stati ideati ben prima, e hanno una loro specifica dimensione a prescindere dalla Blockchain. Certamente il fenomeno Blockchain ha permesso e sta permettendo di avere quelle garanzie di Trust, Fiducia, affidabilità e sicurezza che nel passato erano necessariamente delegate a una figura “terza”. Diciamo, come ultima premessa prima di entrare nel merito, che nello sviluppo e nella gestione di progetti Smart Contract appaiono oggi avvantaggi quelle realtà professionali che sanno coniugare una competenza sul profilo legale con solide competenze tecniche e di sviluppo.
Abbiamo detto che negli Anni ’90 le tecnologie hanno permesso di attuare forme di sperimentazione di Smart Contract, ma l’idea di contratto intelligente risale in realtà alla metà degli Anni ’70. Il termine adottato all’epoca non era quello di Smart Contract, ma il concetto era sostanzialmente quello che ha portato ai contratti intelligenti. All’epoca l’esigenza era molto semplice e atteneva alla necessità di gestire la attivazione o disattivazione di una licenza software in funzione di alcune condizioni molto semplici. La licenza di determinati software venne di fatto gestita da una chiave digitale che permetteva il funzionamento del software se il cliente aveva pagato la licenza e ne cessava il funzionamento alla data di scadenza del contratto. Semplicemente, in modo molto basico, era uno Smart Contract.
Dall’IoT i dati per gli Smart Contract
Uno Smart Contract è la “traduzione” o “trasposizione” in codice di un contratto in modo da verificare in automatico l’avverarsi di determinate condizioni (controllo di dati di base del contratto) e di autoeseguire in automatico azioni (o dare disposizione affinché si possano eseguire determinate azioni) nel momento in cui le condizioni determinate tra le parti sono raggiunte e verificate. In altre parole lo Smart Contract è basato su un codice che “legge” sia le clausole che sono state concordate sia la condizioni operative nelle quali devono verificarsi le condizioni concordate e si autoesegue automaticamente nel momento in cui i dati riferiti alle situazioni reali corrispondono ai dati riferiti alle condizioni e alle clausole concordate.
Semplificando lo Smart Contract ha bisogno di un supporto legale per la sua stesura, ma non ne ha bisogno per la sua verifica e per la sua attivazione. Eppure lo Smart Contract fa riferimento a degli standard di comportamento e di accesso a determinati servizi e viene messo a disposizione, accettato e implementato come forma di sviluppo di servizi tradizionali e senza che sia necessariamente espresso che si tratta di Smart Contract.
Il premio nobel in scienze economiche 2016 Oliver Hart sugli Smart Contract
Assicurazioni: l’IoT sulle vetture dialoga con gli Smart Contract
Un esempio viene dal mondo delle assicurazioni per autoveicoli che sulla base di dati rilevati grazie ad apparecchiature Internet of Things a bordo delle vetture sono in grado di fornire dati sul comportamento del conducente che possono influire e creare determinate condizioni che attivano o disattivano clausole di vantaggio o svantaggio. Ad esempio il superamento di limiti di velocità determinati dal contratto possono essere lette come condizioni di maggior pericolo e determinare un cambiamento contrattuale delle condizioni applicate ad esempio nel valore del premio assicurativo.
Un altro esempio arriva dal mondo dei media dove con i Digital Rights Management viene gestita la erogazione e l’accesso a determinati servizi multimediali. Anche qui semplificando il concetto: si può ascoltare un determinato brano musicale o leggere un libro o assistere a uno spettacolo solo se la scelta effettuate corrisponde al valore collegato al servizio acquistato. Laddove si abbia scelto un servizio a tempo se ci sono le condizioni contrattuali stabilite. Ma se si cerca di ascoltare il brano quando il tempo è scaduto è uno smart contract che impedisce l’accesso ed è sempre uno smart contract che propone magari un nuovo smart contract a condizioni di particolare favore purché la scelta venga effettuata entro un certo tempo o magari da uno specifico device. O magari, ancora, se si “porta” un amico. Tutte condizioni che sono verificate, eseguite e implementate da uno smart contract senza intervento umano.
Big Data e Data Science per Smart Contract
E proprio perché l’assenza di un intervento umano corrisponde anche all’assenza di un contributo interpretativo lo Smart Contract deve essere basato su descrizioni estremamente precise per tutte le circostanze, tutte le condizioni e tutte le situazioni che devono essere considerate. Ecco che la gestione dei dati e dei Big Data in particolare diventa un fattore critico essenziale per stabilire la qualità dello Smart Contract.
Nello stesso tempo per gli Smart Contract è fondamentale definire in modo estremante preciso le fonti di dati alle quali il contratto è chiamati ad attenersi. Gli Smart Contract sono chiamati a ricevere dati e informazioni da soggetti che vengono definite e certificate dalle parti nel contratto stesso e che devono essere individuate, controllate lette e interpretate dallo Smart Contract sulla base di precise regole che a loro volta rappresentano una delle parti più rilevanti e strategiche del contratto che determinano ovviamente l’output finale.
E qui viene il punto più rilevante relativo alle differenze sostanziali tra contratto tradizionale e Smart Contract. Lo Smart Contract è di fatto “figlio” dell’esecuzione di un codice da parte di un computer. E’ un programma che elabora in modo deterministico (con identici risultati a fronte di identiche condizioni) le informazioni che vengono raccolte. In altre parole se gli input sono gli stessi i risultati saranno identici. Questo punto è estremamente rilevante perché se da una parte rappresenta una certezza e una sicurezza in quanto garantisce alle parti una assoluta “certezza di giudizio oggettivo” escludendo qualsiasi forma di interpretazione, dall’altra sposta sul codice, sulla programmazione, sullo sviluppo il peso e la responsabilità o anche il potere di decidere.
Ai contraenti spetta il compito di definire condizioni e clausole e modalità e regole di controllo e azione, ma una volta che il loro contratto è diventato codice e dunque uno smart contract e i contraenti lo accettano ecco che gli effetti non dipendono più dalla loro volontà.
Guarda il video su come funzionano gli Smart Contract
Per portare fiducia negli Smart Contract serve la Blockchain
Ed ecco che il tema della fiducia si sposta, esce dallo studio legale per entrare nel terreno dello sviluppatore. Se lo Smart Contract è chiamato a fare bene il suo lavoro, deve fornire una serie di garanzie a tutte le parti coinvolte e primariamente a questo punto della nostra analisi lo Smart Contract deve garantire che il codice con cui è stato scritto non possa essere modificato, che le fonti di dati che determinano le condizioni di applicazione siano certificati e affidabili, che le modalità di lettura e controllo di queste fonti sia a sua volta certificato.
La licenza Cloud per le applicazioni destinate al pagamento delle fatture di una azienda non può essere disabilitata per un errore nella quantità di transazioni oggetto del contratto o nella data di scadenza del servizio o ancora perché non è arrivata la conferma di avvenuto pagamento presso la banca.
In altre parole lo Smart Contract deve essere preciso sia nella sua stesura sia nella gestione delle regole che ne determinano l’applicazione e delle regole che devono governarne le eventuali anomalie.
E si arriva, con questo passaggio al tema della fiducia. Nei contratti tradizionali il valore della fiducia viene corrisposto e garantito da una figura terza, tipicamente un avvocato o un notaio. Si tratta di figure che continuano ad essere coinvolte, anche se in modalità diverse. Resta sempre necessaria la figura di un intermediario che dialoga con le parti e che naturalmente viene retribuito per i suoi servizi. Anche per questo ruolo sono state individuate delle soluzioni alternative al ruolo delle persone fisiche.
Ad esempio all’interno di situazioni chiaramente definite come possono essere le filiere produttive costituite da diverse imprese sono stati sperimentati e sono oggi attivi Smart Contracts la cui stesura e la cui implementazione attengono alle regole organizzative definite tra le imprese. In questi contesti in particolare il ruolo della “terza parte” intesa come fiduciario viene reinterpretata dall’utilizzo della Blockchain. Nell’Industria 4.0, nella Smart Agrifood, nei progetti di Smart Logistics basati sulla diffusione di apparati Internet of Things, il controllo sul conferimento di determinate materie prime, sulla loro qualità e quantità viene già oggi gestito con Smart Contracts che hanno anche il compito di attuare, in automatico, nel rispetto delle logiche Industry 4.0, delle azioni corrispondenti.
Agli albori: contratti intelligenti alla ricerca di IoT e Big Data
Tornando alla storia degli Smart Contract va ricordato che uno dei primi a effettuare sperimentazioni e a coniare il nome stesso fu Nick Szabo, un esperto di crittografia americano di origine ungheresi che grazie alla passione per la Data Science iniziò a ipotizzare già nel 1993, quando ancora non si parlava di Internet of Things e di Big Data che determinati oggetti potevano essere gestiti in modo digitale in funzione di determinate condizioni. Un sistema di produzione in una impresa poteva modificare il proprio comportamento in funzione degli ordinativi presenti da mandare in lavorazione. Il codice alla base di quell’idea di Smart Contract leggeva le condizioni legate agli ordinativi e attivava le macchine necessarie per sostenere la produzione. Nick Szabo volle anche spiegare e divulgare le sue teorie e le sue idee in merito con “Smart Contracts: Building Blocks for Digital Free Markets” una pubblicazione che vide la luce nel 1996 e che in qualche modo ha rappresentato una delle basi “logiche” del moderno commercio elettronico.
Dal contratto automatico di Nick Szabo al contratto semantico
Lo Smart Contract inizialmente era vissuto e concepito come una sorta di contratto dotato di automatismi, ovvero come un contratto automatico ed è un concetto questo che arriva da lontano. Stiamo parlando un’epoca ancora lontana dalla blockchain di Satoshi Nakamoto e siamo infatti agli anni intorno al 1994 quando, come abbiamo visto precedentemente Nick Szabo iniziò ad applicare i principi dell’automazione alle funzioni contrattuali. Gli Smart Contract così come li conosciamo oggi hanno bisogno di modelli di sviluppo che permettano a questo strumenti di “automatizzare le relazioni tra diverse parti impegnate in transazioni” e per farlo in modo sempre più preciso la nuova frontiera è quella che prevede di aumentare la capacità di conoscenza dei significati per ridurre sempre di più i rischi di errore e di “interpretazione”.
Arriva in soccorso alla ricerca la integrazione tra il mondo delle reti blockchain e quello della semantica proprio per aiutare i sistemi alla comprensione dei “significati” delle parole.
Smart Contracts come sintesi tra blockchain Intelligenza Artificiale e semantica
Portare la competenza sulla semantica applicata agli smart contract permette di definire in modo sempre più preciso il comportamento degli smart contract e consente di aumentare la precisione nella interpretazione dei significati e nelle azioni che gli Smart Contracts sono chiamati a gestire. In questo modo si passa dal concetto di “contratto automatico” concepito come un automatismo intelligente al concetto di contratto semantico, ovvero a una sorta di automatismo intelligente che è progettato per apprendere e per modificare il proprio comportamento in funzione delle nozioni acquisite.
Aumentare la conoscenza per cambiare il modo in cui vengono scritti gli Smart Contracts
Con questo tipo di approccio i prossimi Smart Contract basati sulla semantica potranno ridurre i rischi di errore e potranno aumentare il livello di conoscenza dei contenuti da parte dei sistemi e con questo modificare il modo in cui vengono preparati e scritti i contratti per arrivare a nuove forme automatizzate di scrittura basate proprio sui principi di apprendimento semantico.
Guarda il video con la storia degli Smart Contract
Articolo aggiornato da Mauro Bellini il 27 Dicembre 2018