Smart Contract: cos'è e come funziona
Di Luca Boiardi
Smart contract: un tipo di algoritmo che esiste su Blockchain e permette la gestione automatizzata delle criptovalute con le quali interagisce.

Smart Contract: le origini
L’idea di smart contract nasce insieme a Ethereum, prima blockchain finalizzata proprio allo sviluppo e all’esecuzione di DApp (applicazioni decentralizzate). Ne abbiamo parlato a fondo nell’articolo dedicato a Ethereum: consultalo per saperne di più.
Il concetto su cui si basa uno smart contract è quello di permettere la gestione automatizzata e programmabile del valore, colonna portante sulla quale sono costruiti tutti i servizi finanziari disintermediati e decentralizzati.
Cerchiamo di approfondire e chiarire il funzionamento in questo approfondimento.
Indice
I primi smart contract Ethereum
I primi smart contract erano estremamente semplici e si limitavano alle funzioni di base. Col tempo si è poi iniziato a combinarli tra loro e farli interagire, così da poter costruire le cosiddette DApp (applicazioni decentralizzate, di cui la DeFi è un esempio).
Una delle prime funzioni espletate dagli smart contract riguardava crowdfunding e tokenizzazione: l’emissione di nuovi token in cambio di un contributo, meglio conosciuta come ICO.
In questo modo si permetteva a chiunque di partecipare a raccolte fondi di nuovi progetti Crypto, diventandone inoltre “azionisti” (lo metto tra virgolette perché spesso i token erogati non davano benefici diretti, ma solo utilità sulla piattaforma del progetto in questione).
Per raggiungere l’obiettivo servivano due smart contract: uno per creare il token e un altro per erogarlo ai contributori.
Lo smart contract di creazione del token conteneva i suoi dati economici di base come la supply (quantità di token esistenti), il simbolo (ticker) e il nome.
Quello del crowdfunding, invece, ne disciplinava le sue regole: il tasso di cambio, quanti token occorre distribuire al massimo, quant’è il minimo sotto il quale si annulla la vendita in caso di insuccesso e altro ancora.
Bisogna fare molta attenzione quando si crea un contratto, poiché una volta caricato su blockchain non è più possibile modificarlo (l’unico modo è crearne un altro).
Per quanto semplici, questi primi esperimenti hanno gettato le fondamenta per la maggior parte dei progetti attualmente esistenti, basati sui cosiddetti token ERC-20, lo standard introdotto da Ethereum.
Ora che i concetti elementari sono chiari, possiamo proseguire.
"Lo standard di token introdotto da Ethereum prende il nome di ERC-20"
Da Smart Contract blockchain a DApp
Lo step successivo è stato combinare diversi contratti tra loro, così da creare logiche più complesse. Nasce quindi il concetto di DApp.
Con la crescita dell’ecosistema Ethereum si è iniziato a pensare alle prime piattaforme di servizi finanziari decentralizzati (la cosiddetta DeFi).
Esse non si potevano sviluppare con dietro un solo smart contract, le cui funzionalità sarebbero state troppo limitate.
Pertanto, si è pensato a logiche diverse, ottenute combinandone vari tra loro, ottimizzandone l’esecuzione e permettendo operazioni prima impensabili quali il prestito, la gestione della liquidità e la collateralizzazione.
Prendiamo come esempio una “banale” piattaforma di lending, come può essere AAVE.
Il suo scopo è mettere in contatto chi ha liquidità crypto “parcheggiata” da prestare e chi ha bisogno di essa ed è disposto a pagare un interesse per prenderla in prestito, depositando inoltre a garanzia un collaterale sotto forma di crypto.
La piattaforma avrà bisogno di sapere il prezzo in tempo reale delle coin che gestisce, di conoscere il tasso di collateralizzazione dei prestiti, di gestire eventuali liquidazioni e di modificare i tassi d’interesse al fine di incentivare sempre l’utilizzo della piattaforma stessa. Un bel lavoro.
Per ognuna di queste funzioni c’è uno contratto che, oltre a svolgerla, comunica con gli altri per coordinarsi.
Ovviamente l’utente non nota né è a conoscenza di tutto ciò: lo scopo è rendergli la vita facile e avvicinare quante più persone possibili ai servizi della finanza decentralizzata.
Pertanto, l’individuo interagirà con una pagina web che, a sua volta, parlerà con Metamask (o altro wallet crypto), interfaccia che permette al browser di comunicare con la blockchain Ethereum.
Con clic e digitazioni, l’utente inizializzerà le operazioni richieste, che verranno inoltrate agli smart contract ed eseguite.
L’utilizzatore avrà poi un feedback su quello che ha appena eseguito. Rimanendo nell’esempio del lending, saprà quanta liquidità ha depositato, quanto sta guadagnando ecc.
"Il concetto di DApp, cuore della DeFi, nasce dalla combinazione di svariati smart contract"
Smart Contract, DApp e sicurezza
Con il crescere della complessità delle DApp aumenta anche il rischio di bug e comportamenti indesiderati.
Gli smart contract Ethereum sono scritti in Solidity, un linguaggio definito Turing Complete. Tradotto: può essere programmato per fare pressoché qualsiasi cosa.
Di conseguenza, diventa difficile formalizzarne la sicurezza e assicurare che la DApp non presenterà nessun errore o veicolo utilizzabile in maniera malevola per danneggiare gli utenti.
Nascono quindi gli auditor, il cui compito è esaminare il codice e trovare eventuali difetti.
Per quanto detto poco fa, neanche un audit garantisce sicurezza completa su uno smart contract, motivo per cui spesso se ne fa più di uno. Come in ogni cosa, non si è mai totalmente al riparo dagli imprevisti.
Più che dal numero di audit ricevuti, la sicurezza di una DApp dipende dalla sua storia e longevità. Infatti, se essa gestisce alto capitale e lo fa da tanto tempo senza aver mai subito hack, è molto più probabile che sia sicura.
Tuttavia, ripetiamo con certezza che il rischio zero, almeno per ora, non esiste.
Anche noi dobbiamo fare la nostra parte per evitare i pericoli presenti nelle applicazioni decentralizzate.
Innanzitutto, lo studio è imprescindibile. Per aiutare anche i meno esperti a comprendere le basi del settore blockchain, ho scritto un libro dal titolo Investire in Bitcoin e criptovalute.
Il testo è acquistabile su Amazon (link affiliato, se lo utilizzi guadagnerò una commissione), sul sito ufficiale Hoepli Editore, in tutti i principali siti di editoria online e nelle librerie. È disponibile sia in versione cartacea che in versione ebook.
Non scordiamo poi l’importanza della privacy e della sicurezza da malware e altre minacce della rete. Su questo, NordVPN può venire in nostro soccorso.
Smart contract: considerazioni finali
Per concludere, possiamo dire che uno smart contract è un algoritmo eseguito su blockchain che riceve specifici input, li elabora a seconda delle regole che contiene ed eventualmente restituisce degli output.
Rispetto ad un classico programma informatico, le differenze sono evidenti:
- La prima è che gli input e output di uno smart contract sono transazioni finanziarie su Blockchain contenenti dati e criptovalute.
- Inoltre, l’esecuzione è decentralizzata: non c’è un server centrale su cui il programma viene eseguito, ma esso è distribuito su una moltitudine di nodi.
- Infine, Ethereum ha un linguaggio di programmazione creato appositamente per lo sviluppo degli smart contract, di nome Solidity.
Chiunque può scrivere un contratto e caricarlo sulla blockchain Ethereum. Una volta fatto, non può più essere modificato né cancellato, ed eseguirà per sempre i comandi programmati al suo interno, o almeno fintanto che riceverà le interazioni necessarie come input.
Gli smart contract hanno permesso tutto quello che adesso conosciamo con il nome di DeFi, una delle innovazioni più grandi non solo del settore criptovalute, ma senza dubbio anche tecnologico e finanziario.
Vuoi saperne di più su Ethereum e gli smart contract? Questo video è fatto apposta per te!