L’art. 8-ter del cd. Decreto Semplificazioni (D.l. n. 135/2018, convertito in l. n. 12/2019) introduce per la prima volta nel nostro ordinamento una definizione di smart contract, da intendersi quale “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 delle stesse”.
La norma in esame statuisce inoltre che gli smart contract soddisfano il requisito della forma scritta qualora l’identificazione dei contraenti avvenga attraverso un processo avente i requisiti previsti dall’Agenzia per l’Italia digitale, emanati, ai sensi dell’art. 71 del Codice dell’amministrazione digitale (C.A.D.), con le linee guida del 7 maggio 2020.
Ciò premesso, la peculiarità che caratterizza gli smart contract deve individuarsi nell’utilizzo della tecnologia a registri distribuiti(distributed ledger technology), quale la blockchain, che rappresenta un sistema caratterizzato dal fatto che, una volta inserita ciascuna transazione nel singolo database, il relativo registro non può essere in alcun modo modificato, e ciò perché è strettamente legato alla precedente transazione.
La “catena di blocchi”, in altre parole, garantisce che ogni transazione sia ordinata cronologicamente e, soprattutto, permanente, sfruttando una rete informatica di “nodi” che permette di gestire un registro contenente informazioni in maniera condivisa, senza che sia necessaria la presenza di un’autorità preposta alla verifica e al controllo.
Gli smart contract rappresentano quindi un software che consente, mediante un sistema di validazione diffusa, di porre in essere un processo negoziale in grado di eseguirsi automaticamente senza l’intervento di alcun soggetto, al verificarsi di determinati presupposti.
Trattasi, in particolare, di event-driven software relativi ad obbligazioni contrattuali basati su una logica computazionale (o deterministica), che garantisce sia l’autoesecuzione del contratto, che rimedi automatizzati nell’ipotesi di suo inadempimento, in forza delle funzioni “if/then”.
Proprio l’autoesecuzione – insieme all’immodificabilità – rappresenta la caratteristica che rende gli smart contract un futuribile strumento di fondamentale importanza nell’ambito degli scambi commerciali, in quanto ben si prestano ad automatizzare le più svariate tipologie di transazioni.
A titolo esemplificativo, qualora prevista dalle parti una scadenza entro il quale dev’essere fatto un pagamento, quest’ultimo viene effettuato in automatico, ovverosia, lo smart contract si autoesegue.
Infine, si precisa che l’esecuzione di uno smart contract può dipendere anche dal verificarsi di variabili esterne al medesimo: in tale ipotesi, è necessario che intervenga un elemento esterno alla blockchain, definito in gergo “oracolo”.
L’oracolo è una fonte certificata che permette la verifica del soddisfacimento delle condizioni esterne sottese al rapporto negoziale; esistono oracoli software (collegati a fonti di informazioni online quali pagine web, server, database) e oracoli hardware (relativi, invece, a fonti di tipo fisico quali scanner di codici a barre).
Concludendo, l’utilizzo di smart contract basati su tecnologia blockchain permette non soltanto di velocizzare sensibilmente l’esecuzione di un contratto, ma, si badi bene, di ridurre in modo drastico l’eventuale verificarsi di controversie tra i contraenti, stante il sistema automatizzato su cui si fondano.
Nondimeno, gli smart contract non necessitano dell’intervento di soggetti terzi (eccezion fatta nell’ipotesi in cui dipendano anche da variabili esterne, a titolo esemplificativo, un tasso di interesse o il prezzo di una materia prima), con conseguente sensibile riduzione dei costi.