Secondo la definizione dell’art. 1321 del codice civile un contratto è “l’accordo tra due o più parti per costituire, modificare o estinguere un rapporto giuridico patrimoniale”. Uno smart contract è invece un “pezzo di codice” – un software - che esegue un accordo tra le sue parti se determinate condizioni sono soddisfatte.
Sulla base di queste semplici definizioni è facile rilevare che mentre i contratti intesi nel senso giuridico del termine richiedono alle parti un ruolo attivo – cioè il compimento di azioni specifiche per l’adempimento delle obbligazioni - i contratti smart sono “self- executing” poiché, una volta che le condizioni sono soddisfatte, l'esito della transazione desiderata è automaticamente ottenuta sulla base dei termini incorporati nel codice. E’ possibile pertanto constatare che in uno smart contract – a differenza di quanto potrebbe accadere in un contratto legale - un ritardo o un mancato adempimento delle obbligazioni è tecnicamente impossibile.
Sulla base di tali considerazioni si può sostenere che in uno smart contract non è necessario che sussista una pregressa fiducia tra le parti e che vi sia un soggetto terzo a cui venga affidato il potere di imporre coercitivamente l'adempimento in caso di violazione. Tutto questo è possibile perché alla componente fiduciaria – al centro del contratto legale - è sostituita la trasparenza implicita dell’infrastruttura Blockchain sulla quale sono posti e operano gli smart contract.
Blockchain: trasparenza e mancanza di autorità
La Blockchain può essere definita come un insieme di blocchi collegati tra loro in modo immutabile e che registrano informazioni utilizzando un sistema crittografico. Tale infrastruttura consente a soggetti tra cui non sussistono pregressi rapporti contrattuali (e quindi di fiducia) di effettuare transazioni in modo sicuro e senza la supervisione o il controllo di un'autorità centralizzata.
Lo sviluppo della tecnologia blockchain ha contribuito alla diffusione degli smart contract esaltandone alcune loro fondamentali caratteristiche.
Essendo memorizzate nel sistema pubblico e distribuito, le transazioni che avvengono in Blockchain possono essere verificate e convalidate da tutti i partecipanti al network. Da ciò consegue che la sicurezza del sistema è notevolmente aumentata, poiché qualsiasi modifica, alterazione, cancellazione di una transazione dovrebbe essere replicata in ogni registro distribuito. Pertanto, gli smart contact implementati sulla Blockchain sono praticamente immutabili e non sono soggetti ad alcuna interferenza esterna.
Questi meccanismi consentono anche a soggetti sconosciuti di effettuare transazioni senza la necessità di un terzo fidato su cui i partecipanti alla rete dovrebbero altrimenti fare affidamento per eseguire e far rispettare gli obblighi reciproci. La mancanza di una terza parte centralizzata comporta anche una riduzione dei costi di transazione, in quanto non vengono trattenute commissioni da nessun intermediario (si pensi ad esempio agli istituti finanziari).
Ricorrere a smart contract implementati su blockchain è ormai una realtà in molti settori, tra cui i mercati finanziari e assicurativi, il settore immobiliare, gli accordi commerciali e la gestione dei diritti d'autore.
Anche contratti di locazione potrebbero beneficiare della tecnologia blockchain: il locatore potrebbe fornire al locatario una chiave digitale da consegnare in cambio di un pagamento elettronico. L’operazione sarebbe da considerarsi estramamente sicura poiché solo nel caso in cui sia la chiave elettronica che il pagamento vengano effettivamente resi disponibili (come verificato da centinaia di partecipanti al sistema blockchain) la transazione sarà effettuata.
Oracle: ponte tra virtuale e reale
Nella maggior parte dei casi, l'esecuzione degli smart contract viene attivata attraverso la ricezione di informazioni raccolte da fonti istituzionali collocate nel mondo reale e che vengono immesse nel sistema Blockchain attraverso un “ponte” – chiamato oracle.
L’oracle è una struttura che collega ciò che è nella catena di blocchi da ciò che invece è fuori da essa, fungendo da ponte tra eventi off-chain e on-chain. I dati esterni utilizzati da un oracle possono derivare sia da eventi nel mondo "reale” (ad esempio, il tracciamento di una spedizione) che dall'ambiente digitale (dati di borsa e altri indici pubblici).
Per comprendere il funzionamento degli “oracle” è interessante analizzare l’impiego che viene fatto degli smart contract nel mercato assicurativo. Una polizza volta a garantire la copertura delle perdite derivanti da terremoti potrebbe beneficiare di una componente di contratto smart. In questa situazione l’oracle avrebbe la funzione di reperire le informazioni rilevanti nel mondo reale - ad esempio il valore relativo alla magnitudo sismica direttamente fonti governative ufficiali - e le farebbe confluire in Blockchain. In questo modo, l'importo dell'indennità da pagare all’assicurato potrebbe essere determinato automaticamente senza la necessità che alcuna documentazione venisse prodotta dal soggetto assicurato. Tale meccanismo è idoneo ad essere riprodotto anche in altri contesti come quello dell'assicurazione per i voli ritardati o cancellati.
Blockchain, Smart Contract e GDPR
Tutti i dati immessi in Blockchain sono pseudonimizzati (idonei a rivelare l'identità degli utenti attraverso un processo di reidentificazione) e pertanto rientrano nell'ambito di applicazione del considerando 26 del GDPR, che impone l'applicazione del regolamento europeo a tutte le informazioni relative a persone identificabili.
Nonostante le previsioni della normativa è facilmente rilevabile che l'effettiva applicazione delle disposizioni GDPR all’infrastruttura Blockhchain solleva una serie di problematiche.
Uno degli aspetti principali della Blockchain è la mancanza di un'autorità centralizzata: ogni partecipante infatti ha la possibilità di creare, verificare e avere accesso al registro pubblico delle transazioni e a tutti i dati pertinenti. In un contesto decentralizzato come quello della Blockchain è pertanto impossibile definire i ruoli di titolare e responsabile del trattamento (figure cardine della normativa europea).
Inoltre è da rilevare che i dati immessi in Blockchain sono per natura immutabili, mentre il GDPR presuppone che ogni dato possa essere modificato o cancellato su istanza dell’interessato, quando voglia esercitare il diritto alla rettifica delle informazioni o il diritto all'oblio, ai sensi degli articoli 16 e 17.
Neanche il principio della minimizzazione dei dati può essere facilmente applicato al sistema blockchain: i registri infatti includono i dati relativi a tutte le transazioni precedenti che sono in continua espansione e che sono memorizzate nei device di tutti partecipanti al network. Ciò è in aperto contrasto con le disposizioni del GDPR che prevedono che i dati personali siano trattati solo quando necessari per scopi specifici preventivamente individuati.