Che cos'è uno Smart Contract?

Uno smart contract è un algoritmo che esiste su Blockchain e permette la gestione automatizzata delle Criptovalute con le quali interagisce, che diventano valore programmabile.

Che cos'è uno Smart Contract?

La nascita degli Smart Contract

L’idea di smart contract nasce insieme a Ethereum, prima blockchain finalizzata proprio allo sviluppo ed all’esecuzione di DApp. Ne abbiamo parlato a fondo nell’articolo su Ethereum.
Il concetto su cui si basa è quello di permettere una gestione automatizzata e programmabile del valore, colonna portante sulla quale sono costruiti tutti i servizi finanziari disintermediati e decentralizzati.

I primi smart contract

I primi smart contract erano estremamente semplici, col tempo si è iniziato poi a combinarli tra loro e farli interagire per costruire le cosiddette DApp (applicazioni decentralizzate, di cui la DeFi è un esempio).

Una delle prime funzioni espletate dagli smart contract riguardavano 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).

Servivano due smart contract: uno per creare il token ed uno 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 e il nome.
Quello del crowdfunding, invece, contiene 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).

Questi primi esperimenti, per quanto semplici, hanno posto le basi per la maggior parte dei progetti attualmente esistenti, che si basano sui cosiddetti token ERC-20, lo standard introdotto da Ethereum.

Da Smart Contract a DApp

Lo step successivo è stato combinare diversi contratti tra loro, per creare logiche più complesse. Nasce 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à “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.

Essa 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.
Per ognuna di queste funzioni c’è uno contratto che, oltre a svolgerla, comunica con gli altri per coordinarsi.

L’utente non sa tutto questo ovviamente: lo scopo è rendergli la vita facile.
Pertanto, interagirà con una pagina web che, a sua volta, parlerà con Metamask, interfaccia che permette al browser di interfacciarsi con la blockchain Ethereum.
Con clic e digitazioni, l’utente inizializzerà le operazioni richieste, che verranno inoltrate agli smart contract ed eseguite.

L’utente avrà poi un feedback su quello che ha fatto. Rimanendo nell’esempio del lending, saprà quanta liquidità ha depositato, quanto sta guadagnando ecc.

Smart Contract, DApp e sicurezza

Con il crescere della complessità delle DApp, cresce anche il rischio di bug e comportamenti indesiderati.

Gli smart contract Ethereum sono scritti in Solidity, un linguaggio definito Turing Complete: può essere programmato per fare pressoché qualsiasi cosa.
Di conseguenza, diventa difficile formalizzarne la sicurezza e assicurare che la DApp non presenterà nessun bug 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.

La sicurezza di una DApp dipende, più che dal numero di audit ricevuti, dalla sua storia e longevità: se gestisce alto capitale e lo fa da tanto tempo senza aver mai subito hack, è molto più probabile che sia sicura.
Tuttavia, possiamo affermare con certezza che il rischio zero, per ora, non esiste.

Conclusione

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.


bitcoin
Bitcoin (BTC) $ 19,383.77
ethereum
Ethereum (ETH) $ 1,066.27
tether
Tether (USDT) $ 1.00
usd-coin
USD Coin (USDC) $ 1.00
bnb
BNB (BNB) $ 216.67
binance-usd
Binance USD (BUSD) $ 1.00
cardano
Cardano (ADA) $ 0.448225
xrp
XRP (XRP) $ 0.312662
solana
Solana (SOL) $ 32.68
dogecoin
Dogecoin (DOGE) $ 0.066339
polkadot
Polkadot (DOT) $ 6.74
dai
Dai (DAI) $ 1.00
tron
TRON (TRX) $ 0.064896
shiba-inu
Shiba Inu (SHIB) $ 0.000010
leo-token
LEO Token (LEO) $ 5.96
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 19,389.27
avalanche-2
Avalanche (AVAX) $ 16.08
staked-ether
Lido Staked Ether (STETH) $ 1,026.56
matic-network
Polygon (MATIC) $ 0.461203
litecoin
Litecoin (LTC) $ 50.96
ftx-token
FTX (FTT) $ 24.67
okb
OKB (OKB) $ 12.25
crypto-com-chain
Cronos (CRO) $ 0.113418
chainlink
Chainlink (LINK) $ 6.07
stellar
Stellar (XLM) $ 0.110157
near
NEAR Protocol (NEAR) $ 3.31
cosmos
Cosmos Hub (ATOM) $ 8.00
uniswap
Uniswap (UNI) $ 4.81
algorand
Algorand (ALGO) $ 0.306877
monero
Monero (XMR) $ 112.48
ethereum-classic
Ethereum Classic (ETC) $ 14.58
bitcoin-cash
Bitcoin Cash (BCH) $ 101.09
theta-fuel
Theta Fuel (TFUEL) $ 0.047584
chain-2
Chain (XCN) $ 0.085613
vechain
VeChain (VET) $ 0.022228
flow
Flow (FLOW) $ 1.48
frax
Frax (FRAX) $ 1.00
the-sandbox
The Sandbox (SAND) $ 1.08
apecoin
ApeCoin (APE) $ 4.51
hedera-hashgraph
Hedera (HBAR) $ 0.062044
internet-computer
Internet Computer (ICP) $ 5.26
decentraland
Decentraland (MANA) $ 0.841964
tezos
Tezos (XTZ) $ 1.37
filecoin
Filecoin (FIL) $ 5.31
true-usd
TrueUSD (TUSD) $ 1.00
theta-token
Theta Network (THETA) $ 1.17
axie-infinity
Axie Infinity (AXS) $ 13.96
elrond-erd-2
Elrond (EGLD) $ 51.02
bitcoin-sv
Bitcoin SV (BSV) $ 51.85
helium
Helium (HNT) $ 9.21