Definizione
Lo smart contract, o “contratto intelligente”, è un contratto (un insieme di clausole, espressione di un accordo tra due o più parti) sottoposto a condizioni strutturate in base ad un codice (accordo automatizzato) ed autoeseguibile, tale che avrà esecuzione automaticamente al verificarsi delle predette condizioni (input, che possono essere interne al codice stesso, ovvero esterne, definite “oracoli”).
L’impulso che determina l’esecuzione delle istruzioni registrate nello smart contract può dipendere da elementi interni allo stesso, ossia dalla successione di avvenimenti già compresi nel codice (come, ad esempio, lo spirare di un termine) ovvero da circostanze esterne (per esempio, un tasso di interesse).
Un esempio tipico è costituito Etherisc: un’assicurazione sui viaggi aerei decentralizzata, che opera sulla piattaforma Ethereum. Lo smart contract interroga le interfacce per la programmazione di applicazioni per avere informazioni sugli orari di partenza e, in caso di ritardo del volo garantito dalla polizza, fa scattare automaticamente il rimborso.
La tecnologia blockchain permette, quindi, la selfenforceability del contratto: vengono cioè eseguiti automaticamente i termini e le condizioni dello stesso al verificarsi degli eventi predeterminati dalle parti e iscritti nel codice. Infatti, dato che il libro mastro di blockchain è immutabile, il codice – e così il contratto al quale esso si riferisce – può solo essere cancellato o modificato seguendo i termini definiti dal codice stesso.
Gli smart contract si basano, come un diagramma di flusso, sulla logica “if this then that”: ossia se si verifica un presupposto (this) allora consegue un risultato (that); una volta soddisfatte le condizioni descritte nel codice si attivano automaticamente delle specifiche azioni che non possono essere interrotte.
Pertanto, a differenza dei contratti tradizionali, che offrono la possibilità di adempiere le prestazioni come stabilito nel contratto stesso o di rendersi inadempienti ed andare incontro alle relative conseguenze (ad esempio, sospensione della controprestazione, risoluzione per inadempimento, ecc.), tale opzione non è disponibile in uno smart contract dove l’adempimento del contratto è automatizzato e subordinato unicamente al verificarsi di determinati eventi sottratti alla volontà delle parti. Gli smart contract, in altri termini, non possono rimanere inadempiuti: lo loro è una esecuzione a prova di manomissione, tamper proof.
Natura e interpretazione dello smart contract
In primo luogo, ci si interroga circa la relazione che intercorre tra l’accordo contrattuale e il protocollo informatico o codice sotteso allo smart contract. Si potrebbe sostenere che gli smart contract siano in grado di sostituirsi completamente ai contratti tradizionalmente intesi e che il codice che si traduce nello smart contract costituisca, in toto, il contratto. D’altra parte, ridurre uno smart contract al codice determinerebbe l’eliminazione di qualsivoglia spazio per l’interpretazione.
Formazione del contratto
Altro tema che merita attenzione è quello relativo alla fase di formazione del contratto. Se, infatti, lo smart
contract fa salva l’autonomia delle parti nella fase di formazione del consenso e, al pari di qualsiasi contratto, consiste in una manifestazione di tale volontà, può verificarsi che la formalizzazione di tale volontà manifestata esternamente non corrisponda al vero intento negoziale del dichiarante.
Il nostro ordinamento, infatti, disciplina i casi in cui il consenso sia stato dato per errore, estorto con violenza o carpito con dolo, determinando la nullità del contratto stesso; occorre, invece, interrogarsi circa la possibile applicazione della predetta disciplina anche agli smart contract, qualora ricorrano le condizioni all’uopo previste dall’ordinamento. Ulteriori problemi in relazione alla capacità di agire e corretta formazione della volontà contrattuale riguardano la possibilità di verificare l’identità della parte contraente. Infatti, considerate le caratteristiche degli smart contract, è evidente che gli stessi non possano essere ricondotti facilmente a una persona fisica o giuridica, considerata la possibilità di agire in via anonima o sotto pseudonimi.
Forma del contratto
Un ulteriore tema da considerare in merito all’utilizzo degli smart contract è quello relativo ai requisiti formali (ad substantiam o ad probationem) dettati dal nostro ordinamento. Il D.Lgs. 7 marzo 2005, n. 82 in relazione ai documenti informatici riconosce valore legale ai contratti sottoscritti, inter alia, con firma digitale basata su un sistema di chiavi crittografiche, una pubblica e una privata, integrando il requisito della forma scritta e l’efficacia probatoria prevista dall’art. 2702 c.c.
Parimenti, si potrebbe far leva sull’utilizzo del meccanismo di crittografia a chiave asimmetrica ad opera dei fruitori del blockchain per riconoscere anche allo smart contract il requisito della forma scritta e l’efficacia di piena prova sino a querela di falso.
Adempimento del contratto
Nonostante l’adempimento nei contratti intelligenti sia automatizzato, si pone il problema in merito all’esattezza dell’adempimento, poiché in presenza di talune circostanze, anche un’esecuzione perfettamente aderente alla lettera del contratto (come nel caso dell’esecuzione automatica dello smart contract) potrebbe costituire nei fatti un inadempimento perché contraria al canone generale della buona fede ex art. 1375 c.c. In generale, tali questioni devono essere risolte, anche con riferimento agli smart contract, attraverso i metodi tradizionali di risoluzione delle controversie.
Integrazione e esecuzione forzata del contratto
Com’è noto, nel nostro ordinamento le norme cogenti trovano applicazione indipendentemente dalla volontà dei singoli qualora le singole clausole del contratto si pongano in contrasto con norme di ordine pubblico o norme imperative. Allo stesso modo, in caso di controversie relative al contratto, l’esecuzione può essere ottenuta attraverso l’intervento di organi giudiziari che, definita la controversia, possono altresì imporre l’esecuzione in forma specifica delle obbligazioni ovvero il risarcimento dei danni.
Considerato che gli smart contract non sono modificabili e l’adempimento è automatico, si può ritenere che le fasi patologiche del rapporto si possano affrontare traducendo nel codice anche le ‘reazioni’ ad azioni/inadempimenti predefiniti. In questo modo, l’automazione dell’esecuzione del contratto intelligente è euritmica ai casi di autotutela previsti dal codice civile, con il solo limite che è difficile immaginare che si riescano a prevedere e a codificare in anticipo tutte le possibili reazioni. D’altronde occorre rilevare come il ricorso agli organi giurisdizionali per ottenere l’esecuzione di uno smart contract possa rivelarsi estremamente complesso, a causa della lentezza di adeguamento del sistema alle nuove tecnologie. Per tale motivo, le parti ben potrebbero considerare di ricorrere ai sistemi di risoluzione alternativa delle controversie come l’arbitrato: strumento flessibile, che ben si adatta alle caratteristiche dei contratti intelligenti.
Mediante l’inserimento di una clausola compromissoria, lo smart contract potrebbe attivare automaticamente il meccanismo di risoluzione della lite utilizzando l’infrastruttura blockchain: il lodo verrebbe registrato a sua volta nel digitalized ledger ed eseguito sulla stessa blockchain, tramite l’esecuzione di un codice che preveda il trasferimento delle somme riconosciute come dovute dal lodo arbitrale dal conto riconducibile alla parte condannata a quello riconducibile alla parte vincitrice.
Conclusioni
Da quanto sin qui esposto, si può concludere dicendo che gli smart contract devono essere visti come strumenti che possono integrarsi con il sistema giuridico tradizionale con le dovute integrazioni del sistema normativo tradizionale in un settore che si caratterizza per la decentralizzazione delle funzioni di controllo ove le parti si incontrano in completo anonimato e non ci sono forme di controllo da parte di terzi intermediari istituzionali che possano garantire, altresì, l’esecuzione del contratto.
I meccanismi idonei a garantire forme di tutela alle parti contraenti possono avanzare nella direzione di innalzare gli standard di identificazione delle parti che possono accedere al blockchain, scoraggiando la semi-anonimia e dall’assenza di controlli da parte di una autorità centrale, e valorizzando l’autonomia negoziale, attraverso l’elaborazione di meccanismi di garanzia da tradursi direttamente nel codice, volti a porre rimedio a determinate inefficienze che possono conseguire dall’esecuzione automatica del contratto.
Ecco alcuni esempi in cui è possibile creare uno Smart contract:
- La spedizione in contrassegno: Si potrebbe prevedere uno Smart contract che incameri le somme del bene venduto, e che verificando continuamente lo stato del pacchetto (magari su un’altra Blockchain di dati immodificabile che contenga i dati delle spedizioni), trasferisca automaticamente la somma al venditore quando risulti “consegnato”, escludendo quindi la custodia della somma da parte del vettore.
- Cambio valute/Exchange: l’agente di cambio acquista la valuta direttamente dal fornitore attraverso uno Smart contract che, al ricevimento di una determinata somma, converta automaticamente la valuta in un’altra valuta, oppure la scambi con un’altra valuta di un altro portafoglio a cui ha accesso.
- Acquisto di titoli in borsa: in questo caso è sufficiente uno Smart contract molto semplice a cui sia permesso di analizzare un andamento di un titolo, e che al raggiungimento della cifra impostata acquisti o venda il titolo e lo trasferisca al portafoglio a cui ha accesso.
- Cambiale o assegno circolare: basterebbe che lo Smart contract fosse impostato per congelare un importo trasferito (nel caso dell’assegno circolare), e rilasciarlo a una determinata data futura impostata nel codice, evitando anche il rischio di scoperto per il creditore; oppure che fosse impostato per trasferire il determinato importo alla scadenza della cambiale.