Cosa sono gli smart-contracts?



Cos’è lo smart-contract?

Come molte idee nel settore della blockchain e della Fintech, il termine smart-contract (contratto intelligente) genera confusione e curiosità. Se un contratto standard è rafforzato dalla legge, un contratto intelligente è rafforzato dall’immutabilità e la oggettività dei codici crittografici.

Un contratto intelligente è essenzialmente un programma che esegue inevitabilmente le condizioni postulate precedentemente dagli sviluppatori. O meglio, un contratto tradizionale i cui effetti sono garantiti da un codice, un algoritmo.

Come funziona?

Attraverso lo smart contract è possibile garantire che al verificarsi di alcune condizioni poste in precedenza inevitabilmente si spieghino gli effetti concordati previamente dalle parti. Il fondamento logico che viene eseguito è facilmente trascrivibile con la sentenza “if-this-then-that” , se questo accade allora succede.

Il primo software che ha permesso l’esecuzione di una condizione determinata dalla sentenza logica “if-this-then-that” è stato inserito nei distributori automatici. Inserendo la moneta, automaticamente il software legge la stessa e se soddisfatta l’importo chiesto, permette di ricevere l’acqua.

Nel 1993 è stato concepito idealmente da un programmatore e crittografico, Nick Szabo, come una tipologia di un distributore automatico digitale (digital vending machine). Egli lo descrisse come

“un insieme di promesse, specificatamente sotto forma digitale, attraverso un protocollo tra un numero non determinante di parti, che esegue esattamente quello richiesto in partenza”.

Per protocollo Szabo intendeva un algoritmo che permettesse la imperturbabilità di un insieme di regole nel tempo. La semplicità offerta da Ethereum sta nel fatto che un qualsiasi utente può inserire degli input data, sotto forma di regole e codici, e ottenere dalla macchina ricevente periodicamente l’esatto corrisposto, tutto questo automaticamente.

L’anatomia di uno smart-contract può essere espressa in questi sei punti

  1. Due o più parti identificano un interesse comune
  2. Scrivono insieme uno smart contract ponendo le condizioni e gli effetti desiderati
  3. Inseriscono lo smart contract nella Blockchain di Ethereum
  4. La stessa Blockchain di Ethereum diventa il garante del contratto
  5. Quando nella rete si ottiene il consenso, il contratto esegue le sue condizioni
  6. Dopo che le condizioni sono state eseguite, la Blockchain verrà aggiornata dalla modifica di stato del sistema.



ESEMPIO:

A deve corrispondere mensilmente l’affitto di 400 euro a B. I due utenti scrivono uno smart contract garantendo che dal conto di A  -ogni 30 giorni- verrà erogata la somma di 400 verso il conto di B. Automaticamente, il programma svolgerà l’operazione, seguendo le regole e i comandi preimpostati. Inoltre, non c’è un limite di controparti nella operazioni. (Cosa sono le dApps?)

Quando due utenti scrivono uno smart contract, entrambi devo porre su questo la loro firma privata in modo che il contratto possa ottenere il consenso dai full nodes di Ethereum.

Tornando all’esempio precedente, le transazioni di 400€ verranno costantemente verificate dagli utenti attraverso la solita catena di blocchi: se l’utente A non dispone di sufficiente denaro per pagare B, l’operazione verrà bloccata senza creare debito nel sistema. Tutte le operazioni e transazioni sono sempre pubbliche e mostrate nella piattaforma Blockchain. Ovviamente, come abbiamo spiegato qui, ogni operazione richiede una transaction fees, che dipende dalla potenza computazionale richiesta (GASPRICE).

Il linguaggio utilizzato per programmare i Contratti Intelligenti su Ethereum, che non è l’unica piattaforma che fornisce questa possibilità (vd. qui), è il “Turing-complete”.

Leave a Comment

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

*