Smart Contratc
Nascita e funzionamento degli Smart Contract
L’idea di contratto intelligente risale alla metà degli Anni ’70. Il termine adottato all’epoca non era quello di Smart Contract, ma il concetto era sostanzialmente quello che ha poi 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.
Uno dei primi a effettuare sperimentazioni e a coniare il nome stesso fu Nick Szabo, un esperto di crittografia americano di origini 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.
Szabo portava come esempio addirittura quello di una macchina distributrice di bevande. 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.
Nick Szabo definisce gli smart contract come “protocolli di transazione informatizzati, che eseguono i termini di un contratto”. Più precisamente, Nick Szabo suggerì che traducendo clausole contrattuali in codici e incorporandole in hardware o software in grado di auto applicarle era possibile ridurre al minimo la necessità di intermediari tra le parti e il verificarsi di eccezioni dannose o accidentali.
Tra molti dei principali contributi di Szabo ai contratti smart c’è quello che è avvenuto nel 2002 quando ha creato un linguaggio per l’analisi contrattuale.
Questo linguaggio ha creato un ponte tra le terminologie giuridiche e gli algoritmi
procedurali. Sviluppando questo linguaggio, Szabo è stato in grado di sfruttare la potenza del calcolo senza lasciare le sfumature di tecnicismi legali.
Vitalik Buterin ha dato questa definizione agli smart contract: "un meccanismo che
coinvolge risorse digitali e due o più parti, in cui alcune o tutte le parti inseriscono le risorse e le risorse vengono automaticamente ridistribuite tra quelle parti secondo una formula basata su determinati dati che non sono noti al momento in cui viene avviato il contratto”.
Una altra definizione molto esaustiva è stata data nel 2015 da Massimo Chiriatti che, definisce i contratti intelligenti come “protocolli per computer che facilitano, verificano, o fanno rispettare la negoziazione o l’esecuzione di un contratto, o che evitano il bisogno di una clausola contrattuale.” Accanto, quindi, alla garanzia di un più alto livello di sicurezza, vi è anche la riduzione della componente di costi delle transazioni contrattuali.
Recentemente gli smart contract sono stati oggetto di numerosi dibattiti in materia di
trasformazione digitale per gli svariati contesti in cui possono trovare applicazione ed anche perché rappresentano una delle molteplici dimensioni del crescente fenomeno della blockchain, in effetti per poter essere efficaci devono basarsi sulla tecnologia Blockchain.
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.
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.
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.
Per una comprensione più agevole dei meccanismi che interessano gli smart contract, è possibile scomporre il processo di formazione di questo tipo di contratto in 6 passaggi chiave:
1. Due o più parti identificano un interesse comune.
2. Scrivono insieme uno smart contract ponendo le condizioni e gli effetti desiderati.
3. Inseriscono lo smart contract nella Blockchain prescelta.
4. La stessa Blockchain diventa il garante del contratto.
5. Quando nella rete si ottiene il consenso, il contratto “esegue” le sue condizioni.
6. Dopo che le condizioni sono state eseguite, la Blockchain verrà aggiornata dalla
modifica di stato del sistema.”
I predecessori degli Smart Contract
Gli Smart Contract oggi
Caratteristiche
Le caratteristiche degli smart contract sono:
• L’elaborazione in pochi minuti e in modo deterministico (con identici risultati a fronte di identiche condizioni) delle informazioni che vengono raccolte. In altre parole se gli input sono gli stessi i risultati saranno identici.
• La certezza e sicurezza, 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.
• la garanzia di immodificabilità del codice, 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à. 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.
• non hanno bisogno di depositi in garanzia, sono economici, non necessitano di una
presenza fisica e non è necessario un avvocato. Nei contratti tradizionali purtroppo ci sono variabili che non si possono quantificare: tempo, accordo, deposito di garanzia, hanno costi elevati in quanto necessitano di terze figure.
Come ogni tecnologia, anche gli smart contract hanno pregi e difetti. I meriti dei contratti intelligenti sono:
1. rischi ridotti al minimo; il processo distribuito di esecuzione delle transazioni elimina il rischio di manipolazioni in quanto l’intera reta Blockchain, piuttosto che un singolo nodo, gestisce automaticamente ogni esecuzione;
2. forniscono una registrazione accurata e in tempo reale del commercio; gli smart contract utilizzano algoritmi che automatizzano attività che altrimenti sarebbero eseguite manualmente. In questo modo aumentano la velocità delle operazioni aziendali e sono meno soggetti ad errori manuali;
3. meno intermediari; gli intermediari sono pochi. In alcuni casi, possono eliminare la
dipendenza da società terze che forniscano servizi “fiduciari”, come il deposito fiduciario tra parti;
4. costi bassi, causa assenza di interventi umani;
5. nuovi modelli di business; gli smart contract facilitano nuovi tipi di modelli di business, come l’accesso automatizzato ai veicoli e alle unità di stoccaggio.
È necessario altresì riportare anche alcuni degli svantaggi dei contratti intelligenti:
1. non sono ancora accettati dalla maggior parte delle persone nonostante i vantaggi
che apportano solo un piccolo gruppo di utenti ha accettato i contratti intelligenti come piattaforma digitale per l’applicazione delle clausole contrattuali. Ciò rende difficile dipendere completamente da essi in sede di applicazione delle cause contrattuali;
2. le credenziali possono essere smarrite. Questo può succedere se il disco rigido che
memorizza gli smart contract viene danneggiato o si blocca, in questo caso i dettagli
sono completamente persi;
3. rischi intrinseci alla tecnologia, nel senso che ci sono ancora difetti sconosciuti negli
appalti intelligenti. Inoltre, vi sono alcune cause legali associate all’attuazione degli
smart contract in settori altamente regolamentati come quello dei servizi finanziari, che potrebbero ostacolarne l’adozione;
4. non vi è alcuna forma fisica in quanto siamo abituati ai contratti tradizionali.
L’esecuzione degli smart contract nella sfera pubblica comporta una serie di sfide, come il trasferimento dell’accesso ai prodotti fisici mediante smart contract può richiedere un chip digitale, che ancora non esiste;
5. difficile da far rispettare in un tribunale, poiché gli algoritmi informatici sono responsabili del contratto, è difficile dimostrarne la validità e affidabilità in qualsiasi tribunale.
Ambiti di applicazione
La normativa italiana
L’analisi degli aspetti legali degli Smart Contract non può prescindere, in primo luogo, dalla disamina della normativa vigente sul territorio nazionale.
In Italia la norma di riferimento per la disciplina degli Smart Contract è il Decreto Legge 14 dicembre 2018, n. 135, recante disposizioni urgenti in materia di sostegno e semplificazione per le imprese e per la pubblica amministrazione, convertito in legge n. 12 dell’11 febbraio 2019.
Segnatamente, all’art. 8-ter della legge suddetta troviamo una prima definizione delle
tecnologie basate sui registri distribuiti.
Art. 8-ter (Tecnologie basate su registri distribuiti e smart contract):
1. Si definiscono «tecnologie basate su registri distribuiti» le tecnologie e i protocolli informatici che usano un registro condiviso, distribuito, replicabile, accessibile simultaneamente, architetturalmente decentralizzato su basi crittografiche, tali da consentire la registrazione, la convalida, l’aggiornamento e l’archiviazione di dati sia in chiaro che ulteriormente protetti da crittografia, verificabili da ciascun partecipante, non alterabili e non modificabili.
Il legislatore italiano preferisce utilizzare la dicitura “tecnologie basate su registri distribuiti” al concetto, più ristretto, di “blockchain technology”.
Ne deriva la volontà dello stesso di ricomprendere nell’alveo della definizione appena
citata una categoria piuttosto ampia di tecnologie, cioè quelle che fanno uso dei cc.dd. DLT1.
Fra gli aspetti peculiari delle tecnologie basate su registri distribuiti la normativa italiana elenca:
• il carattere condiviso, distribuito, replicabile, accessibile simultaneamente e architetturalmente decentralizzato su basi crittografiche del registro;
• la proprietà del registro di consentire la registrazione, la convalida, l’aggiornamento e l’archiviazione di dati;
• la verificabilità dei dati da parte di ciascun partecipante;
• la non alterabilità e non modificabilità dei dati inseriti nel registro.
Proseguendo nell’analisi della norma oggetto di studio, al secondo comma dell’art. 8-ter troviamo la definizione di “Smart Contract”:
Art 8-ter:
2. 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.
Quanto agli effetti giuridici della memorizzazione di un documento informatico attraverso l’uso di tecnologie basate su registri distribuiti, il terzo comma dell’articolo succitato chiarisce che:
Art. 8-ter:
3. La memorizzazione di un documento informatico attraverso l'uso di tecnologie basate su registri distribuiti produce gli effetti giuridici della validazione temporale elettronica di cui all'articolo 41 del regolamento (UE) n. 910/2014 del Parlamento europeo e del Consiglio, del 23 luglio 2014.
Vengono, quindi, attribuiti gli stessi effetti giuridici della validazione temporale elettronica di cui all’art. 41 del Regolamento eIDAS2.
Nell’ultimo comma dell’art. 8-ter troviamo, invece, alcune indicazioni sulle tempistiche e le modalità attraverso cui gli effetti giuridici appena menzionati devono essere prodotti:
Art. 8-ter:
4. Entro novanta giorni dalla data di entrata in vigore della legge di conversione del presente decreto, l'Agenzia per l'Italia digitale individua gli standard tecnici che le tecnologie basate su registri distribuiti debbono possedere ai fini della produzione degli effetti di cui al comma 3.
Ad oggi le linee guida dell’Agenzia per l’Italia digitale (AgID) non sono ancora state
pubblicate.
Il Regolamento eIDAS
Il Regolamento eIDAS (Reg. UE del Parlamento e del Consiglio del 23 luglio 2014, n.910) individua tre tipologie di firme elettroniche:
1. firma elettronica;
2. firma elettronica avanzata;
3. firma elettronica qualificata.
1. La definizione di “firma elettronica” viene fornita dall’art. 3, n. 10 del Regolamento
predetto. Segnatamente per essa si intendono:
“Dati in forma elettronica, acclusi oppure connessi tramite associazione logica ad altri dati elettronici ed utilizzati dal firmatario per firmare”.
2. La firma elettronica avanzata, invece, viene definita nel modo seguente dall’art. 3, n.11: “Firma elettronica che soddisfi i requisiti di cui all’articolo 26”.
Analizziamo, quindi, l’art. 26, al fine di individuare quali sono i requisiti che una firma
elettronica deve possedere per essere considerata avanzata.
Art. 26: Requisiti di una firma elettronica avanzata:
“Una firma elettronica avanzata soddisfa i seguenti requisiti:
a) è connessa unicamente al firmatario;
b) è idonea ad identificare il firmatario;
c) è creata mediante dati per la creazione di una firma elettronica che il firmatario può, con un elevato livello di sicurezza, utilizzare sotto il proprio esclusivo controllo;
d) è collegata ai dati sottoscritti in modo da consentire l’identificazione di ogni successiva modifica di tali dati”.
3. Quanto alla terza tipologia di firma elettronica, ossia la firma elettronica qualificata, l’art. 3, n. 12 del Regolamento eIDAS la definisce come segue:
“Firma elettronica avanzata creata da un dispositivo per la creazione di una firma
elettronica qualificata e basata su un certificato qualificato per firme elettroniche”.
In Italia all’elenco summenzionato dobbiamo aggiungere la firma digitale, disciplinata dal D. Lgs. n. 82/2005 e ss. mm., il c.d. CAD (Codice dell’Amministrazione Digitale)3.
In particolare, l’art.1, lett. s) del CAD statuisce che:
“La firma digitale [è] un particolare tipo di firma qualificata basata su un sistema di chiavi crittografiche, una pubblica e una privata, correlate tra loro, che consente al titolare di firma elettronica tramite la chiave privata e a un soggetto terzo tramite la chiave pubblica, rispettivamente, di rendere manifesta e di verificare la provenienza e l'integrità di un documento informatico o di un insieme di documenti informatici”.
Approfondiamo ora l’art. 41 del Regolamento eIDAS, cui rinvia il legislatore italiano nel terzo comma dell’art. 8-ter della Legge n. 12 dell’11 febbraio 2019, relativo agli affetti giuridici della memorizzazione di un documento informatico mediante l’uso di tecnologie basate su registri distribuiti:
Art. 41: Effetti giuridici della validazione temporale elettronica – Regolamento (UE) n.
910/2014:
1. Alla validazione temporale elettronica non possono essere negati gli effetti giuridici e l’ammissibilità come prova in procedimenti giudiziali per il solo motivo della sua forma elettronica o perché non soddisfa i requisiti della validazione temporale elettronica qualificata.
2. Una validazione temporale elettronica qualificata gode della presunzione di accuratezza della data e dell’ora che indica e di integrità dei dati ai quali tale data e ora sono associate.
3. Una validazione temporale elettronica rilasciata in uno Stato membro è riconosciuta quale validazione temporale elettronica qualificata in tutti gli Stati membri.
La normativa internazionale
Anche la normativa internazionale ha provato a definire gli smart contract e a stabilire gli effetti giuridici degli stessi.
Negli USA la normativa di riferimento è l’“Electronic Signatures in Global and National
Commerce Act” (ESIGN).
Anche in Arizona il legislatore, quantomeno in linea di principio, non nega effetti giuridici agli smart contract.
In Tennessee la norma di riferimento è il “Senate Bill 1662”.
Infine, una menzione particolare merita la regolamentazione vigente nello Stato maltese, il cui legislatore ha mostrato sin da subito una grande lungimiranza nel predisporre un pacchetto di norme idoneo a favorire lo sviluppo di progetti basati sulla blockchain technology.