Read this article in English
Che cos'è uno smart contract
Di Luca Boiardi
Gli smart contracts sono degli algoritmi operanti su blockchain. Grazie a essi è possibile dar vita a numerose applicazioni e piattaforme: scopriamoli!
Come funzionano gli smart contracts? 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 basano gli smart contracts è 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
Che cos'è uno smart contract
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 contracts ethereum 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 in blockchain: 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 di Ethereum smart contract gettarono le fondamenta per la maggior parte dei progetti attualmente esistenti, basati sui cosiddetti token ERC-20, lo standard introdotto da Ethereum.
Se vuoi approfondire, ecco un articolo dedicati agli smart contract 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 fu quello di 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 pensò 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’utenteinizializzerà 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.
Attenzione però perché non ci limitamo al mondo della finanza: gli smart contracts consentono di esistere ad esempio a marketplace NFT come OpenSea.
"Il concetto di DApp, cuore della DeFi, nasce dalla combinazione di svariati smart contract"
In che modo gli smart contracts eliminano la necessità di intermediazione?
Gli smart contracts sono algoritmi che girano su blockchain. Essi sono programmati per svolgere le più svariate funzioni, pensati per funzionare senza alcun intervento umano.
Perciò, uno smart contract, oppure un’applicazione formata da una pluralità, si muove in autonomia ed elimina qualsiasi tipo di intermediario, proprio perché non è necessario l’essere umano in questa procedura.
Come si fa uno smart contract?
La creazione di un contratto smart richiede approfondite competenze in materia di programmazione, imprescindibili per riuscire nell’impresa.
In ogni caso, in rete sono disponibili tutorial guidato che permettono di creare semplici smart contract, molto interessanti per chiunque fosse incuriosito da questa tecnologia. Non sarà una passeggiata, ma con pazienza e studio sarà possibile programmare il proprio contratto intelligente.
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, Nord VPN può venire in nostro soccorso.
Come funziona lo 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:
- Su quale tecnologia sono basati gli smart contracts? È la blockchain a essere la protagonista, nonché la diversità più notevole rispetto a un software tradizionale.
- 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 i contract smart? Questo video è fatto apposta per te!