Smart contract: il mito del contratto che si auto-esegue in ogni singola clausola

A seguito dell’interesse sviluppatosi attorno al fenomeno delle criptovalute ed in particolare al Bitcoin, l’attenzione sembra essersi spostata sulla tecnologia che ne rappresenta la base operativa: la blockchain. Se però proprio con riguardo al Bitcoin si è registrata una posizione piuttosto attendista da parte delle istituzioni, il fenomeno “blockchain”, nelle sue più svariate potenzialità applicative, ha già ottenuto il riscontro non solo dei privati, ma anche di diverse autorità istituzionali. Paradigmatico, in tal senso, è il caso dell’Unione Europea che nell’ambito del mercato unico digitale ha lanciato l’Osservatorio e Forum Europeo sulla Blockchain e prevede lo stanziamento, nei prossimi cinque anni, di fondi per 320 milioni di Euro nell’ambito di progetti incentrati su tale tecnologia.

La blockchain (letteralmente: “catena di blocchi”) è un registro decentralizzato e crittograficamente sicuro composto di blocchi di dati riferiti a transazioni. Ogni dato o blocco, prima di essere inserito nella catena, è sottoposto ad un processo di validazione. Le transazioni validate sono correlate da un time-stamp (marcatore temporale). Ciascun blocco include un hash che identifica il singolo blocco in modo univoco e ne permette il collegamento con il blocco precedente.

Potenzialmente la blockchain si è candidata ad essere impiegata in un elevatissimo numero di settori tra loro anche molto diversi. Infatti, si parla già moltissimo dell’utilizzazione di tale tecnologia con riguardo alla proprietà immobiliare, ai diritti di proprietà intellettuale ed industriale, al settore bancario, a quello finanziario e a quello dei trasporti. Eppure, una delle potenzialità di maggiore interesse attiene forse proprio al settore dei servizi legali, ed in particolare alla contrattualistica. Proprio in tale ambito si registra infatti ormai un altissimo livello di attenzione attorno al c.d. “smart contract”.

Pur non essendo possibile risalire ad una definizione ufficiale o generalmente condivisa, lo smart contract, secondo una definizione diffusa in letteratura, consiste nella trasposizione delle clausole di un contratto in un codice informatico eseguito tramite un software. L’applicazione della tecnologia blockchain a tale concetto dovrebbe invece permettere l’eliminazione della necessità di qualsiasi intermediario permettendo così al contratto di auto-eseguirsi, in ogni sua clausola, in maniera del tutto automatica.

I più scettici si staranno certamente domandando se lo smart contract sia qualcosa di realistico o se diversamente si tratti solo di una affascinante suggestione, eppure gli smart contract esistono già da alcuni anni. E’ il caso, ad esempio, dell’applicazione DAO sulla piattaforma Ethereum che permetteva la realizzazione di operazioni di investimento già in funzione nel 2016. In pratica, acquistando un determinato ammontare di criptovaluta (c.d. “Ether”) sulla piattaforma Ethereum si poteva destinarla ad un determinato progetto ricevendo in cambio un token che avrebbe dato diritto a beni o servizi da parte del soggetto finanziato. Purtroppo, DAO è passato alla storia per un bug che ha determinato il fallimento dell’iniziativa, piuttosto che per la notevole capacità innovativa.

Dalla descrizione del funzionamento dello smart contract nel caso DAO emerge un’operazione conformata su una struttura piuttosto semplice. Dalla summenzionata definizione di smart contract emerge invece la rappresentazione di un concetto dalla portata molto più ampia. In altri termini, non solo il software sarebbe in grado di compiere le prestazioni principali di un contratto (nel caso DAO: corresponsione di un importo a titolo di investimento contro l’invio del token rappresentativo del diritto alla controprestazione), ma dovrebbe permettere l’esecuzione del contratto in ogni sua clausola. Il concetto da ultimo evidenziato rivela alcune non trascurabili criticità.

In particolare, deve sottolinearsi che il linguaggio di cui si compongono i codici dei software è invece di estrema semplicità e viene generalmente espresso secondo lo schema di carattere binario IFTTT ovvero “if this than that” (letteralmente: “se questo allora quello”). Secondo tale schema, al verificarsi di un determinata evento il software riconnette l’esecuzione di un’azione specifica. E’ proprio l’estrema semplicità della struttura del codice, che oltretutto sembrerebbe idonea a conferire maggiore certezza in fase di esecuzione del rapporto, a rendere lo smart contract particolarmente appetibile per le parti.

Non può tuttavia evitare di osservarsi come proprio la riferita semplicità rappresenti altresì il limite forse più significativo degli smart contract. In tal senso, proprio la struttura binaria del codice sembrerebbe frapporsi alla trasposizione in digitale di quei concetti che, o perché parte del diritto dei contratti, o per scelta delle parti in fase di formulazione delle clausole, non possono che avere un contenuto di grande respiro. In tal senso, può pensarsi al concetto di forza maggiore che, proprio in virtù della molteplicità di eventi di cui si compone, viene spesso definito attraverso una clausola che è generalmente composta da una definizione di carattere generale, che viene poi completata da una elencazione aperta di eventi specifici. Orbene, un concetto di tale portata si pone necessariamente al di fuori del linguaggio binario poiché il ventaglio di eventi idonei a rappresentare cause di forza maggiore non è suscettibile di ricevere determinazione compiuta a priori.

Inoltre, con riferimento al contenuto del regolamento contrattuale, deve osservarsi che, diversamente da quanto generalmente avviene negli ordinamenti di Common Law, negli ordinamenti di Civil Law, come quello italiano, il regolamento contrattuale va ben oltre quanto pattuito tra le parti, potendovi partecipare anche fonti esterne e diverse dalla volontà delle parti. In tal senso, l’art. 1374 del codice civile dispone che: “il contratto obbliga le parti non solo a quanto nel medesimo è espresso, ma anche a tutte le conseguenze che ne derivano secondo la legge, o, in mancanza, secondo gli usi e l’equità.”. Le norme derogabili (o suppletive), come pure gli usi normativi (c.d. consuetudini) e gli usi contrattuali (c.d. clausole d’uso), in mancanza di patto contrario vanno ad integrare le pattuizioni delle parti, integrando il regolamento contrattuale tra le stesse convenuto.

Peraltro, anche nel caso in cui non possa ravvisarsi alcuna lacuna nel regolamento contrattuale come predisposto dalle parti, è possibile che le medesime vi abbiano incluso clausole contrarie a norme di carattere imperativo (c.d. norme imperative o inderogabili). In tale ipotesi si verificherà l’integrazione c.d. cogente attraverso la quale la norma imperativa sostituisce automaticamente la disposizione contrattuale di senso difforme.

Da quanto sinora esposto emerge con evidenza la difficoltà di trasporre l’integralità del regolamento contrattuale all’interno di un codice. Il che sembrerebbe comportare un primo ostacolo con riguardo a quella definizione di smart contract riferita in apertura e che, per quanto non ufficiale, è assolutamente invalsa nella letteratura al momento reperibile. In altri termini, il contratto non potrebbe auto-eseguirsi in ogni sua parte in ragione del fatto che alcune sue disposizioni nella maggior parte dei casi non potranno essere note a priori.

Ulteriori problematiche emergono poi con riferimento all’interpretazione del contratto, posto che tale operazione si pone come necessario presupposto logico dell’esecuzione, operazione, quest’ultima, cui il software dovrebbe provvedere automaticamente.

Il codice civile italiano prescrive una serie di criteri (Libro IV, Capo V, artt. 1362- 1371) cui conformarsi nell’interpretazione del contratto. E’ prassi distinguere tra criteri di interpretazione soggettiva (e.g. artt. 1362 e 1363) e criteri di interpretazione oggettiva (artt. 1366 e 1367). Risultano di tutta evidenza problematiche di tipo applicativo con riguardo a canoni di carattere soggettivo. Si pensi all'interpretazione del contratto secondo la comune intenzione delle parti o secondo il comportamento complessivo delle stesse. Infatti, se nel primo caso si richiede di procedere all'accertamento di un elemento la cui stessa esistenza potrebbe peraltro pure discutersi, nel secondo è richiesta la considerazione di elementi che debbono necessariamente porsi al di fuori del testo contrattuale. Entrambe le ipotesi richiedono comunque il compimento di operazioni che allo stato attuale non sembrano essere eseguibili in via del tutto automatica da parte di un software. Ma neppure le regole rientranti tra i criteri oggettivi, quali ad esempio l'interpretazione secondo buona fede (art. 1366) ed il principio conservativo (art. 1367) o dell'interpretazione contra stipulatorem (art. 1370), sembrano, in ragione della complessità delle operazioni di valutazioni richieste, potersi eseguire da un software in totale autonomia.

Oltretutto, non ci si può esimere dal notare che la portata del già menzionato canone di buona fede non si limita alla fase interpretativa, ma attiene anche la fase esecutiva del contratto. Infatti, l'art. 1375 del codice civile dispone che: "il contratto deve essere eseguito secondo buona fede". Da tale disposizione, la cui portata è tutt'altro che immediata, la giurisprudenza ha fatto discendere, in via interpretativa, una serie di obblighi (di collaborazione, di comunicazione e di protezione) la cui portata precettiva può anche differire anche di molto in considerazione della struttura e delle particolarità del rapporto contrattuale considerato. Demandare il compimento di operazioni di tale natura ad un software appare soluzione poco verosimile oltreché difficile, ove non addirittura impossibile, da percorrere.

Sulla scorta delle argomentazioni svolte sino ad ora sembra che, ad oggi, l'ipotesi di un contratto che si esegue automaticamente in ogni sua parte non sia altro che un'affascinante suggestione. Eppure, come si è già avuto modo di sottolineare gli smart contract esistono già da diversi anni e l’applicazione DAO ne rappresenta forse l’esempio maggiormente noto.  Nondimeno, come risulta del tutto evidente dalla strutturazione di tale applicazione, il software non contiene né esegue il regolamento contrattuale nella sua integralità, limitandosi semmai all’esecuzione di solo alcune tra le prestazioni dedotte in contratto. Infatti, i limiti alla realizzazione di un contratto che si auto-esegue nella sua integralità sono di ordine duplice. Da un lato, un primo limite va riscontrato nell’incapacità del codice binario di fornire rappresentazione compiuta dei numerosissimi concetti di ampia portata presenti nel diritto dei contratti. Dall’altro, proprio in ragione delle osservazioni di cui sopra e relative ad interpretazione, integrazione ed esecuzione del contatto, è più che lecito ritenere che trasporre il regolamento contrattuale nella sua interezza sarebbe non solo un’operazione di eccezionale complessità, ma persino del tutto impossibile.

Per tali ragioni, deve concludersi che la definizione secondo cui lo smart contract è un contratto capace di auto-eseguirsi in ogni sua clausola non è corretta. Lo smart contract dovrà definirsi piuttosto come la parziale rappresentazione digitale di un contratto, identificabile dunque solamente con alcune delle clausole o prestazioni dedotte nello stesso ed alla cui esecuzione provvede in maniera automatica un software.

di Donato Silvano Lorusso, Nicolino Gentile e Iacopo De Totero