***
Cosa sono gli smart contract
Gli smart contract sono stati teorizzati per la prima volta nel 1994 da Nick Szabo, informatico con competenze nel settore giuridico. Nel lavoro dal titolo “Smart Contracts”, egli offre la seguente definizione: “A smart contract is a computerized transaction protocol that executes the terms of a contract.”
Nel successivo lavoro del 1995 “Smart Contracts Glossary”, Nick Szabo propone una nuova definizione: “A set of promises, including protocols within which the parties perform on the other promises. The protocols are usually implemented with programs on a computer network, or in other forms of digital electronics, thus these contracts are "smarter" than their paper-based ancestors.”
Infine, nel lavoro “Smart Contracts: Building Blocks for Digital Markets” del 1996, Nick Szabo formula una terza definizione: “A smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises”.
Gli smart contract, dunque, nascono come software per automatizzare l’esecuzione di obbligazioni contrattuali. Sono, in sostanza, automatismi informatici sviluppati con apposito linguaggio di programmazione su un protocollo informatico che ne permette il funzionamento. Più in particolare, sono event-driven software che esprimono obbligazioni contrattuali in logica computazionale (ossia secondo il flusso if… then… else…) al fine di garantirne l’autoesecuzione (self-execution) e incorporare rimedi automatizzati (self-enforcement) in caso di inadempimento.
In tale accezione, non vi sono legami con la tecnologia blockchain.
Tuttavia, con l’avvento di Ethereum di Vitalik Buterin, piattaforma blockchain progettata espressamente per sviluppare ed eseguire smart contract decentralizzati, quanto teorizzato da Nick Szabo si è indissolubilmente legato alla tecnologia inventata da Satoshi Nakamoto.
Oggi, dunque, quando si parla di smart contract, si fa implicitamente riferimento solo a quelli eseguiti sui nodi di una blockchain.
La normativa italiana
L’art. 8-ter, comma secondo, del decreto legge 14 dicembre 2018 n. 135 convertito con legge 11 febbraio 2019 n. 12 ha introdotto nel panorama giuridico italiano il concetto di smart contract con la seguente definizione: “Si definisce "smart contract" un programma per elaboratore che opera su tecnologie basate su registri distribuiti e la cui esecuzione vincola automaticamente due o più parti sulla base di effetti predefiniti dalle stesse. Gli smart contract soddisfano il requisito della forma scritta previa identificazione informatica delle parti interessate, attraverso un processo avente i requisiti fissati dall'Agenzia per l'Italia digitale con linee guida da adottare entro novanta giorni dalla data di entrata in vigore della legge di conversione del presente decreto”.
Dopo Malta, l'Italia è il secondo Paese dell’Unione Europea a riconoscere lo stato giuridico degli smart contract. E la definizione normativa italiana, come quella di altri Paesi, rimanda espressamente alla tecnologia a registro distribuito secondo il sopra menzionato binomio smart contract / blockchain.
La norma si propone di fornire una cornice regolatoria per favorire l’adozione di questo innovativo strumento da parte delle imprese. Tralasciando alcune considerazioni critiche già espresse in altra sede, si segnala che, a oggi, le Linee Guida dell’Agenzia per l’Italia Digitale non sono ancora disponibili.
Ma questo non significa che non si possano adottare smart contract nella propria attività di impresa.
Il Regolamento eIDAS e il CAD
Infatti, al netto della citata norma ad hoc, esistono altre previsioni nel cui ambito si collocano gli smart contract.
In primo luogo, gli smart contract rientrano nel concetto di “documento elettronico” definito nell’art. 3, punto 35, del Regolamento UE 910/2014 (Regolamento eIDAS) ossia “qualsiasi contenuto conservato in forma elettronica, in particolare testo o registrazione sonora, visiva o audiovisiva” la cui validità giuridica è riconosciuta dall’articolo 46 Regolamento eIDAS nei limiti del libero apprezzamento del giudice.
Inoltre, a livello italiano, gli smart contract rientrano nella definizione di “documento informatico” di cui all’art. 1 let. p) del Codice dell’Amministrazione Digitale (CAD). Questa considerazione è rilevante in quanto l’art. 20 comma 1 bis CAD precisa che un documento informatico “soddisfa il requisito della forma scritta e ha l'efficacia prevista dall'articolo 2702 del Codice civile quando vi è apposta una firma digitale, altro tipo di firma elettronica qualificata o una firma elettronica avanzata” con l’ulteriore previsione di chiusura secondo cui “[i]n tutti gli altri casi, l'idoneità del documento informatico a soddisfare il requisito della forma scritta e il suo valore probatorio sono liberamente valutabili in giudizio, in relazione alle caratteristiche di sicurezza, integrità e immodificabilità.”
In altre parole, uno smart contract su blockchain, acquisendo le relative caratteristiche di decentralizzazione, immutabilità e integrità, può soddisfare i requisiti minimi di legge appena richiamati.
Smart contract e smart legal contract
La vera sfida degli smart contract è quella di poter assumere piena validità legale diventando “smart legal contract”.
Qualora uno smart contract soddisfi i requisiti minimi contrattuali previsti dal codice civile, infatti, potrebbe essere considerato contratto ex artt. 1321 e 1325 c.c. Se si considera che gli smart contract possono contenere, oltre al linguaggio di programmazione, anche contenuti in linguaggio naturale, non sembra impossibile realizzare degli smart legal contract con piena applicazione (teorica e ferme restando le difficoltà di applicazione pratica) delle norme in ambito di obbligazioni e contratti.
Di certo, gli smart contract possono essere strumento di automazione di clausole contrattuali incluse in contratti tradizionali purché esprimibili in logica computazionale (if… then… else...) in modo da renderli più efficienti, efficaci e sicuri. In tal caso, è opportuno che le parti, nel contratto tradizionale, disciplinino l’utilizzo dello strumento smart contract precisando la piattaforma di riferimento e individuano lo sviluppatore incaricato delineando altresì rimedi in caso i errori di programmazione o esecuzione del software.
Il problema degli oracoli
Come detto, gli smart contract sono event-driven software ossia necessitano di un evento (o informazione) che li metta in esecuzione.
Qualora tale evento sia al di fuori di una blockchain, serve l’intervento di una fonte di informazione esterna. Tale fonte, in gergo, è chiamata oracolo, ossia l’entità che raccoglie un’informazione offchain e la trasmette onchain.
Gli oracoli possono essere soggetti terzi persone fisiche o giuridiche, o macchinari (come i sensori).
In tale contesto, gli oracoli assurgono a un ruolo delicato che richiede attenta valutazione circa:
- scelta di un oracolo affidabile (istituto di primaria importanza, società di certificazione, sensori certificati);
- adozione di più di un oracolo (p.e. l’informazione si considererà vera solo se due oracoli su tre sono concordi);
- profili di responsabilità in caso di errore da parte dell’oracolo;
- attribuzione del rischio di errore dell’oracolo.
Bisogna infatti ricordarsi che lo smart contract, essendo su blockchain, non potrà essere fermato ed esprimerà un risultato non modificabile.
Conclusioni
Gli smart contract sono realtà che già vede applicazioni concrete, sia sperimentali sia consolidate. Il settore assicurativo, finanziario, immobiliare, artistico e della proprietà intellettuale ne sono gli esempi principali.
I prossimi saranno i settori commerciali e industriali, soprattutto con la convergenza degli smart contract con altre tecnologie tipiche dell’Industria 4.0 quali cloud computing, sensoristica e Internet delle Cse, intelligenza artificiale e machine-to-machine economy.