Smart Contract: cos'è e come funziona

Smart contract: un tipo di algoritmo che esiste su Blockchain e permette la gestione automatizzata delle criptovalute con le quali interagisce.

Smart Contract: cos'è e come funziona

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.

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!


bitcoin
Bitcoin (BTC) $ 16,996.87
ethereum
Ethereum (ETH) $ 1,254.52
tether
Tether (USDT) $ 0.999382
bnb
BNB (BNB) $ 288.70
usd-coin
USD Coin (USDC) $ 0.998997
binance-usd
Binance USD (BUSD) $ 1.00
xrp
XRP (XRP) $ 0.389438
dogecoin
Dogecoin (DOGE) $ 0.100273
cardano
Cardano (ADA) $ 0.317336
matic-network
Polygon (MATIC) $ 0.906651
polkadot
Polkadot (DOT) $ 5.48
staked-ether
Lido Staked Ether (STETH) $ 1,238.39
litecoin
Litecoin (LTC) $ 79.58
shiba-inu
Shiba Inu (SHIB) $ 0.000009
okb
OKB (OKB) $ 21.21
dai
Dai (DAI) $ 0.999626
solana
Solana (SOL) $ 14.01
tron
TRON (TRX) $ 0.053240
uniswap
Uniswap (UNI) $ 6.20
avalanche-2
Avalanche (AVAX) $ 13.60
leo-token
LEO Token (LEO) $ 3.88
chainlink
Chainlink (LINK) $ 7.24
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 16,965.08
cosmos
Cosmos Hub (ATOM) $ 10.11
ethereum-classic
Ethereum Classic (ETC) $ 19.47
the-open-network
The Open Network (TON) $ 1.79
monero
Monero (XMR) $ 142.64
stellar
Stellar (XLM) $ 0.086009
bitcoin-cash
Bitcoin Cash (BCH) $ 111.12
quant-network
Quant (QNT) $ 123.72
crypto-com-chain
Cronos (CRO) $ 0.066296
algorand
Algorand (ALGO) $ 0.234028
filecoin
Filecoin (FIL) $ 4.58
apecoin
ApeCoin (APE) $ 4.13
near
NEAR Protocol (NEAR) $ 1.76
vechain
VeChain (VET) $ 0.019138
internet-computer
Internet Computer (ICP) $ 4.47
hedera-hashgraph
Hedera (HBAR) $ 0.048277
flow
Flow (FLOW) $ 1.10
eos
EOS (EOS) $ 0.967060
elrond-erd-2
MultiversX (Elrond) (EGLD) $ 43.83
terra-luna
Terra Luna Classic (LUNC) $ 0.000172
axie-infinity
Axie Infinity (AXS) $ 8.99
frax
Frax (FRAX) $ 0.998749
trust-wallet-token
Trust Wallet (TWT) $ 2.32
the-sandbox
The Sandbox (SAND) $ 0.615295
tezos
Tezos (XTZ) $ 1.01
aave
Aave (AAVE) $ 63.33
theta-token
Theta Network (THETA) $ 0.889604
huobi-token
Huobi (HT) $ 6.64