Gli Smart Contract sono protocolli informatici che facilitano, verificano, o fanno rispettare, la negoziazione e/o l’esecuzione di un contratto.
Gli smart contract trovano la propria ragione di esistere principalmente quando considerati all’interno della tecnologia blockchain.
Di fatto, gli smart contract esistono già dagli anni 90 ma hanno raggiunto una valenza applicativa solo nell’ultimo decade grazie proprio al loro utilizzo nella blockchain. Tale connubio da allo smart contract “moderno” tre principali forze: automatismo, trasparenza e sicurezza.
Un esempio pratico ed utile per capire l’utilizzo di uno smart contract è l’applicazione ai contratti di assicurazione.
Lo smart contract interroga delle API (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, senza il bisogno di alcun intervento “umano”(sicurezza).
Sia il contratto di acquisto del biglietto che il suo rimborso sono visualizzabili da chiunque sulla rete blockchain (trasparenza).
I “termini” dell'accordo di scambio tra le due parti sono sempre memorizzati sulla blockchain e quindi presentano sia la caratteristica di rintracciabilità che quella di non modificabilità.
Il vantaggio dell’utilizzo di uno smart contract rispetto ad un contratto tradizionale quindi è il fatto che le specifiche del contratto vengono memorizzate su blockchain rendendo superfluo l’intervento di una terza parte intermediaria o validante.
Gli smart contract presentano quindi indubbi e significativi vantaggi rispetto ai contratti tradizionali sia dal punto di vista pratico che legale:
Ci sono enormi risparmi finanziari sulle spese legali e c’è anche un maggiore livello di sicurezza e guadagno di tempo.
La blockchain più utilizzata per fare smart contract è la rete Ethereum ma nel corso degli ultimi anni sono nate moltissime altre blockchain, avvolte più convenienti e all’avanguardia.
I contratti di Ethereum (ad esempio) sono gestiti peer to peer. Gli utenti non pagano quindi un intermediario affinché convalidi la transazione ma piuttosto “pagano” l’uso della sua potenza computazionale tramite la propria cryptovaluta “ether”.
Ma come funziona uno smart contract?
Tecnicamente possiamo sintetizzare il suo funzionamento in 7 passaggi:
1) L’accordo: Due parti concordano i dettagli del contratto e lo stipulano.
2) La verifica: Lo smart contract viene inserito nella blockchain e reso esecutivo dall’insieme dei partecipanti (nodi + miners).
3) Il blocco: Lo smart contract entra a far parte di un blocco (identificabile grazie al suo “hash code”) validato dagli stessi partecipanti alla blockchain.
4) Il mining: Il meccanismo di validazione può essere “proof-of-work” o “Proof-of-stake”. Nel prof of work, risolvendo un enigma matematico connesso ad un codice di blocco, i validatori ricevono una remunerazione nella cryptovaluta di riferimento della blockchain.
5) La catena: Il blocco a questo punto viene aggiunto alla catena. L’operazione è pubblica e visibile dalla piattaforma blockchain.
6) L’oracolo: Per far si che la Blockchain acceda ai dati esterni alla rete interviene un agente terzo (in gergo chiamato oracolo).
Si occupa del controllo degli eventi esterni alla blockchain, ovvero ad esempio nel caso delle assicurazioni aeree, controlla gli orari di partenza per verificare o meno il verificarsi di un ritardo o altre variabili significative per lo specifico smart contract.7) L’esecuzione: Una volta ricevuto l’input dall’oracolo, scatta automaticamente la clausola if/then scritta nel linguaggio informato caratterizzante lo smart contract.