approfondimento: cosa sono gli smart contract

smart contract

Gli smart contract. Se ne parla molto. Quasi come la panacea di tutti i problemi della burocrazia italiana. Come la soluzione per snelline i processi, lenti e onerosi, della Pubblica Amministrazione. Ma è davvero tutto questo? Forse. E forse è anche di più.

Gli smart contract. Cosa sono? Introduciamo il concetto con la definizione data da Wikipedia:

Gli smart contract sono protocolli informatici che facilitano, verificano, o fanno rispettare, la negoziazione o l’esecuzione di un contratto, permettendo talvolta la parziale o la totale esclusione di una clausola contrattuale.

Sono contatti. Affidati, però, non ad un legale, ad un notaio. Ma ad un protocollo informatico. Che esegue tutti i controlli ed azioni previste dal contratto stesso per verificare e finalizzare le clausole di impegno tra i contraenti.

Lo vedremo più avanti, lo smart contract è molto di più di quello che oggi conosciamo nella forma cartacea come contratto. Perché gli smart contract consentono l’implementazione di transazioni, secondo i tempi e le regole stabilite dal contratto stesso, senza la necessità di alcun tipo di terze parti. E le transazioni di uno smart contract, una stata effettuate, sono da un lato pienamente tracciabili. Dall’altro, non possono essere in alcun modo annullate.

Un esempio concreto.

Un contratto che, più o meno, tutti abbiamo imparato a conoscere. Il contratto di mutuo per l’acquisto di una casa.

Semplificando, il contratto cartaceo stabilisce l’impegno per l’acquirente di pagare regolarmente la rata, calcolata secondo un preciso piano di ammortamento. In caso contrario, la proprietà della casa, in ipoteca, passa alla banca. Per la banca, l’impegno è quello di erogare subito all’acquirente l’importo pattuito.

Tutte le azioni collaterali – ad esempio ritardo nei pagamenti da parte dell’acquirente, errori di redazione dell’atto da parte del notaio o accertamento successivo di ipoteche pregresse all’immobile, passaggio di proprietà dell’immobile alla banca in caso di insolvenza e via dicendo – vanno gestite, per così dire, “manualmente”. Tramite azioni legali, generalmente. Azioni, cioè, non automatiche. Onerose sia in termini di costi che di tempi accessori.

Ecco, lo smart contract azzera tutto ciò.

Perché è più di un semplice atto pubblico firmato e registrato. Lo smart contract compie, in modo automatico e con costi irrisori, sia le azioni dirette del notaio che quelle che abbiamo definito collaterali. Ossia:

  • registra in modo pubblico e tracciabile l’impegno inderogabile tra i soggetti, come banca e acquirente
  • compie automaticamente le azioni dirette, come l’erogazione del mutuo all’acquirente
  • esegue automaticamente le verifiche dirette, come l’esistenza di pregresse ipoteche all’immobile
  • compie automaticamente le azioni collaterali inevitabili, come la riscossione della rata di mutuo
  • verifica puntualmente il rispetto delle condizioni previste dal contratto, ed attiva le azioni collaterali conseguenti, come il passaggio di proprietà dell’immobile in caso di irregolarità da parte dell’acquirente.

Il concetto è che, dopo la stipula di uno smart contract, non servono altre azioni da parte dei contraenti, Non servono altri avvocati. Non servono altre figure, come notai o giudici o funzionari dello Stato. Mettiamola in modo ancora più brutale: una volta registrato uno smart contract, non serve nulla di più perché quanto pattuito si svolga come previsto.

funzionamento di un generico smart contract
funzionamento di un generico smart contract – fonte internet

Un po’ di storia. I contratti intelligenti non esistono come funzionalità accessoria delle criptovalute. Anzi, sono nati prima delle criptovalute. Sono stati ideati nel 1994. Da tale Nick Szabo, un informatico americano che poi creò anche una moneta virtuale, denominata “Bit Gold”, nel 1998. Pensate, dieci anni prima che il modo conoscesse il Bitcoin. Peccato per Szabo, però, l’idea del Bit Gold non ha attratto il voluto interesse. A differenza del Bitcoin, evidentemente.

Ma torniamo ai tempi nostri.

Prima di vedere come realizzarli, chiariamo un concetto generale. Sono tantissime, potenzialmente tutte, le monete virtuali con una piattaforma che consente la stipula ed esecuzione di uno smart contract. Quella certamente più utilizzata, in cui cioè è registrato il maggior numero di smart contract, è Ethereum. A seguire, troviamo NEO, Stellar e Waves. E, man mano, tante altre criptovalute.

Le applicazioni sono davvero infinite. Prima abbiamo fatto l’esempio di un contratto di erogazione di un mutuo. Qui a seguire ne elenchiamo altre:

  • Registrazioni fiscali, con pagamenti automatici gestiti da smart contract che, di fatto, evitano di essere multati e impediscono ogni forma di crimine fiscale. Inoltre, la trasparenza delle transazioni rende immediata l’azione degli organi di controllo.
  • transazioni immobiliari, con la possibilità di realizzare il registro centralizzato delle proprietà e di finalizzare acquisti e vendite di immobili senza intermediari, trasferendo i diritti di proprietà in modo praticamente istantaneo. In pochi click, senza uscire di casa, la proprietà di interesse si identifica, si paga e si ottiene l’attestazione di proprietà. Senza alcun contatto diretto con il venditore.
  • giochi d’azzardo, a cautela sia della società di gestione che del giocatore. Lo smart contract, infatti, gestirebbe in modo automatico ed inarrestabile sia le vincite che le perdite, senza possibilità di evitare il pagamento che di riscuotere il premio. Soprattutto, tutto avverrebbe in modo trasparente. Anche verso gli organi di controllo. Fisco compreso.

Va bene, gli smart contract sono opportunità molto interessanti per i cittadini come per le amministrazioni.

Ma sono sicuri?

Di per sé, gli smart contract sono eseguiti sulla blockchain della relativa moneta virtuale. Quindi la sicurezza del contratto è quella della sua piattaforma. Ethereum, tipicamente. In realtà, la debolezza dello smart contract non sta nella sicurezza della relativa piattaforma, che è generalmente altissima.

Sta nelle regole scritte nel contratto. Tipicamente, il problema per uno smart contract è lo stesso di un contratto cartaceo contenente clausole che non contemplano tutti i casi possibili. O clausole che non sono univocamente interpretabili. E quindi lasciano spazio ad usi fuori dagli intenti originari pattuiti tra i contraenti. Parlando col linguaggio degli informatici, bisogna scrivere smart contract privi di “bug”.

I bug di uno smart contract sono sempre importanti. E sempre pericolosi. Perché, diversamente da un contratto cartaceo, uno smart contract non può essere fermato: va avanti ed esegue le sue azioni in modo inesorabile. Qualunque modifica alle sue regole è soggetto al meccanismo del consenso. Lo stesso meccanismo che regola l’aggiunta di nuovi blocchi alla blockchain delle monete virtuali.

Proprio per questo, gli hacker sono molto attenti ad identificate questo genere di debolezze negli smart contract più redditizi. Prima, allora, di scendere in aspetti puramente tecnici, ribadiamo questo concetto molto importante.

Scrivere uno smart contract richiede certamente due tipi di professionalità.

La prima è quella legale e fiscale. Si tratta pur sempre di un atto pubblico che contempla passaggi di proprietà, fossero pure un versamento di monete virtuali di poco valore da un utente ad un altro.

La seconda, necessariamente, è quella informatica. Perché le logiche con cui “tradurre” i codici di un contratto in smart contract sono inevitabilmente simili a quelli di chi scrive programmi informatici.

codice Solidity e Visual Studio Code
codice Solidity scritto con Visual Studio Code – fonte blockgeeks.com

Come per chi scrive programmi informatici, chi scrive smart contract utilizza un apposito software. Una piattaforma, più precisamente, che risponde a linguaggi di programmazione altamente evoluti e vicini alle logiche del linguaggio umano, come il noto linguaggio Turing.

La regola generale è quella KISS. Acronimo per “Keep It Simple, Stupid”, ossia rendi le cose semplici. Perché più un contratto è semplice, meno è affetto da errori ed interpretazioni non volute. Tipicamente, uno smart contract diventa una lista di condizioni ed azioni conseguenti. Tipo “se succede X, allora esegui Y”. Ancora, uno smart contract deve essere possibile ed inconfutabile. Insomma, la condizione “X” di sopra deve essere oggettivamente, numericamente verificabile. E l’azione Y deve essere sempre possibile ed univocamente interpretabile.

Ribadiamo, poi, un concetto finora vagamente espresso.

Lo smart contract è un oggetto informatico.

Un ordine dato ad una rete di computer. I quali eseguono lo smart contract indipendentemente dalla legge in vigore. E rispondono solo a logiche e regole della infrastruttura sottostante, quella delle criptomonete.

E non della legislazione. Ecco quindi che torniamo al punto iniziale: lo smart contract deve essere scritto bene all’inizio. Da un team di professionisti, anche legali e fiscalisti. Altrimenti diventa un oggetto informatico illegale ed inarrestabile.

Uno smart contract, poi, abilita tante funzionalità utilissime. Come gestire i conti “multi-firma”. Dei fondi, cioè, che possono generare pagamenti quando una fissata percentuale di persone le autorizza. O come fornire utilità e risultati per altri contratti, un po’ come le funzioni di una libreria software. Ma anche interagire con un’applicazione, per esempio registrando un utente in un dominio o un database.

Insomma, gli smart contract sono un po’ come le funzioni di un programma.

Possono interagire, utilizzare risultati di uno smart contract come input per ottenere risultati ulteriori o attivare azioni condizionate. Alla fine, il concetto di “smart” è proprio nella flessibilità del loro impiego. Idoneo a qualunque azione consentita dalla infrastruttura della blockchain.

Ad esempio, se si vuole gestire una scommessa sulle previsioni meteo – si vince una certa somma se si indovina il tempo che farà domani – ecco che uno smart contract si occuperà di estrapolare i dati meteo. Un’altra, di gestire il libro di scommesse. Un’altra, leggendo i risultati di questi due smart contract, si occuperà di assegnare i premi in relazione al meteo che si verificherà e le scommesse raccolte.

Abbiamo detto, all’inizio, che i costi di uno smart contract sono irrisori. Nel senso che costano molto meno delle spese ordinarie per gestire un contratto cartaceo. Ossia, meno di marche da bollo. Tasse di registrazione. Spese per notaio o per avvocato. Costi di contenziosi, eccetera.

Nel caso dello smart contract, l’esecuzione di ciascun contratto richiede solo commissioni di transazione sulla blockchain della moneta virtuale, diciamo Ethereum. Richiede quindi gas, come si chiama la moneta di Ethereum che “paga” i costi di utilizzo della piattaforma. Tali costi, in dettaglio, dipendono dalla quantità di potenza di calcolo richiesta. In dettaglio, gli smart contract vengono tradotti in codice binario – bytecode – dalla Ethereum Virtual Machine (EVM), e così letti ed eseguiti sulla blockchain.

Più elaborazioni da compiere, più gas da pagare.

Il motivo è semplice: la blockchain elabora qualunque informazione, compresi gli smart contract, a spese di precisi soggetti. I miner, nel meccanismo di consenso Proof of Work. Ecco, vediamo il gas come l’incentivo per far lavorare i miner.

Come detto, le applicazioni dirette degli smart contract sicuramente includono processi finanziari, amministrativi e legali oggi lenti, farraginosi e onerosi. Come la gestione di derivati finanziari o di premi assicurativi. Piuttosto che contratti di violazione o diritto di proprietà. Ma anche applicazione del credito o servizi finanziari. Oppure processi legali e accordi di crowdfunding.

Ma non è tutto. Facciamo allora qualche esempio meno banale.

Cominciamo dal settore governativo. Oggi è lento e molto costoso. Oltreché scomodo. Uno smart contract, viceversa, fornirebbe una soluzione da casa, che aumenterebbe l’affluenza ai seggi (virtuali). Ma sarebbe anche una soluzione immediata, a costi minimi e soprattutto trasparente e sicura. Altro che riconta dei voti per sospetto di brogli.

Passiamo alla gestione di processi, legali, amministrativi o di qualunque altra sorta. Uno smart contract, attraverso la blockchain, rende tutto automatico ed interoperante, trasparente e di assoluta fiducia. Addio certificazioni, autorizzazioni firmate, pareri di concordanza e, alla fine, ritardi e scarico delle responsabilità.

E arriviamo alle catene di fornitura di prodotti o servizi.

Dove la logica tipica degli smart contract, “se si verifica la condizione X, avvia l’azione Y altrimenti l’azione Z”, dà il meglio di sé. Usiamo le parole di Jeff Garzik, CEO di Bloq. Un’azienda operante nel settore della blockchain.

UPS può eseguire contratti che dicono quanto segue.

‘Se ricevo il contante alla consegna in un luogo in un mercato emergente in via di sviluppo, questo altro [prodotto] creerà molti altri collegamenti nella catena di fornitura. E farà attivare un nuovo fornitore. Che creerà, a sua volta, un nuovo articolo che verrà consegnato a sua volta.

Viceversa, le catene di approvvigionamento attuali sono ostacolate dai sistemi cartacei. Con processi soggetti ad approvazione esplicita, spesso cartacea. Con rischi, oltretutto, di perdite o truffe. Tutti problemi risolti a monte dai meccanismi automatici e nativi della blockchain.

Anche il settore automobilistico si presta alla rivoluzione degli smart contract. Già oggi è un settore automatizzato. Robot nei processi produttivi, per aumentare l’efficienza e la precisione oltre i limiti umani. AI a bordo dei veicoli, ad aiutare chi guida, come nel caso di parcheggio o frenata di emergenza. Ebbene, lo smart contract è l’anello (oggi) mancante. Che potrebbe rivelare eventuali errori e relative responsabilità. Ed intervenire di conseguenza, in automatico. Basandosi su dati messi a disposizione dagli infiniti sensori già presenti a bordo. Pensate con il punto di vista della compagnia assicuratrice, ad esempio.

Le applicazioni nel settore immobiliare, poi, vanno ben oltre i compiti del notaio.

Gli smart contract possono essere utili per gestire i processi di chi desidera affittare il proprio appartamento. Sostituendo in automatico le funzioni di un intermediario. O un’agenzia di pubblicità. Tutto verrebbe gestito in modo sicuro, istantaneo ed a costi minimi. Ma soprattutto trasparente verso istituti di credito, catasto e fisco.

Infine, ci vengono in mente applicazioni in campo sanitario. Tramite smart contract si possono conservare e gestire le cartelle sanitarie dei cittadini sulla blockchain. Informazioni accessibili solo agli utenti voluti, tramite il possesso della specifica chiave privata. Tra cui chi si occupa dell’assistenza sanitaria generale. Del controllo dei farmaci. Della conformità alle normative. Dei risultati dei test. E della gestione delle forniture sanitarie.

Globalmente, lo stesso impiego è possibile per gestire l’accesso ad ogni tipo di informazione coperta da privacy o destinata ad un solo gruppo di utenti autorizzati.

FONTE: https://www.lecriptovalute.org

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *