Tutto ciò che c'è da sapere sugli smart contracts

Tutto ciò che c'è da sapere sugli smart contracts

In questo articolo vedremo cosa sono gli smart contracts, come funzionano e come crearne uno, comprendendone il potenziale.
Tutto ciò che c'è da sapere sugli smart contracts
In questo articolo vedremo cosa sono gli smart contracts, come funzionano e come crearne uno, comprendendone il potenziale.
Michelangelo Ricupati
Pubblicato il 12 mag 2022

Gli smart contracts (chiamati anche contratti intelligenti) sono tra i fattori che hanno reso blockchain e criptovalute uno dei settori più in crescita degli ultimi tempi.

I contratti intelligenti consentono infatti di automatizzare i processi, dando vita a protocolli decentralizzati gestiti dalle comunità. Nel giro di poco tempo, tale tecnologia ha reso la cosiddetta finanza decentralizzata un ramo molto importante per il mondo cripto.

Il loro funzionamento è piuttosto semplice: un dato contratto detta delle regole che dovranno essere rispettate obbligatoriamente da due parti al momento di uno scambio.

Lo scambio potrà essere effettuato in maniera peer-to-peer, ossia in modo diretto tra due utenti senza nessun ente o società intermediaria che ne monitora i movimenti. Tutto, infatti, viene registrato sulla blockchain, registro digitale contenente informazioni sui flussi di dati al suo interno.

Per comprendere appieno cosa sono gli smart contract, però, è bene conoscerne meglio la storia e le caratteristiche specifiche.

Smart contract: cosa sono? Significato, storia e caratteristiche

Smart Contract

Il significato di smart contract è stato illustrato per la prima volta da Nick Szabo, informatico e crittografo che nel 1996 aveva già dato una definizione di protocolli digitali che, sfruttando algoritmi e processi automatizzati, riescono a eseguire transazioni nel rispetto di determinate condizioni.

Tuttavia, non essendo presenti ledger distribuiti (gli attuali registri che sfruttano la blockchain per conservare le informazioni in maniera decentralizzata), all’epoca non era possibile utilizzare questa tipologia di contratti.

Cinque anni dopo la nascita di Bitcoin, però, la blockchain Ethereum ha reso possibile l’uso degli smart contracts all’interno del suo ecosistema, dando la possibilità di distribuire contratti su tutta la rete in maniera abbastanza intuitiva per i programmatori di tutto il mondo.

Oggi, infatti, il mercato offre numerose piattaforme DeFi che permettono l’uso di questi strumenti, come all’interno delle dApps nei protocolli di lending e borrowing.

Come anticipato, e come definito da Nick Szabo, il funzionamento è abbastanza intuitivo. Il contratto detta delle regole e, nel momento in cui due parti le soddisfano, eseguirà una transazione in maniera automatizzata.

In questo modo vengono eliminati tutti gli intermediari che, in genere, prevedono anche dei costi elevati e tempistiche più lunghe.

Per fare un esempio di confronto concreto, basti sapere che ecosistemi come Solana riescono a elaborare quasi 2000 transazioni al secondo (con picchi massimi di ben 65.000 operazioni) a un costo medio di circa 0,00025 $.

Come funzionano gli smart contract

Chiarito il significato dell’espressione “smart contract”, possiamo passare all’analisi del loro funzionamento tecnico. Prima di tutto va detto che esistono numerosi smart contracts sulle blockchain, ma quelli più diffusi sono indubbiamente i contratti Ethereum. Questi presentano però delle commissioni più alte di reti come BSC o TRC-10, rinomate proprio per bassissimi costi di transazione e compatibilità.

Anche Ethereum sta cercando di effettuare miglioramenti all’interno della rete, passando a ETH 2.0, ma questi non sono ancora stati ultimati.

Per quanto riguarda il processo di approvazione di un contratto, questo avviene in maniera molto simile a quando si effettuano operazioni su piattaforme di investimento come Bitpanda. Qui, per esempio, si deve decidere l’operazione da effettuare (vendita o acquisto) e si deve confermare la transazione.

Allo stesso tempo, un esempio pratico di approvazione di contratto intelligente consiste nell’uso di una pool di farming su Exchange decentralizzati (DEX) come Pancakeswap, per essere ricompensati in token CAKE. Selezionando la pool desiderata, comparirà un pulsante con scritto “Approva”.

Cliccandoci sopra verrà mostrato il contratto, che potrà essere consultato e approvato. Solitamente è necessario pagare delle commissioni (le cosiddette gas fee) per firmare uno smart contract ERC-20, su rete BSC o su qualsiasi altra blockchain esistente.

Queste possono variare in base alla congestione della rete, dipendendo quindi dal numero di transazioni richieste da tutti gli utenti in un determinato momento. Più è alto il numero di transazioni, maggiori potrebbero essere i costi di commissione necessari per l’approvazione.

Come approvare uno smart contract

smart contract fee

Per “approvare” uno smart contract si intende accettare un accordo col protocollo, e non con un ente o una società. Una volta accettato il contratto, si potranno depositare i propri token all’interno della pool o effettuare una determinata operazione.

Lo stesso processo, infatti, avviene quando si effettua uno scambio, si inviano fondi su altri wallet o si svolgono operazioni di interazione con il protocollo, come quelle di minting di un NFT.

Data la natura puramente tecnica di questi strumenti, i contratti Ethereum e gli altri smart contracts su blockchain vengono definiti trustless, in quanto non hanno bisogno di fiducia come quella che necessiterebbe una società. In altre parole, quando si interagisce con degli smart contract i propri fondi non saranno gestiti da un terzo, ma si troveranno all’interno del protocollo.

Quest’ultimo è gestito interamente dalla comunità, formata dai validatori che approvano le transazioni, dagli staker che alimentano i processi di Proof-of-Stake (PoS), o dai miner che promuovono la creazione di blocchi nella chain tramite il metodo di Proof-of-Work (PoW).

Di conseguenza, bisogna capire se la comunità alle spalle di un protocollo ha delle buone fondamenta per tenerlo attivo nel lungo periodo.

Come creare uno smart contract: breve tutorial

smart contracts

Per creare uno smart contract è sicuramente necessario sottolineare che serve una certa conoscenza dei linguaggi di programmazione come JavaScript e Python. Questo perché il linguaggio dei contratti intelligenti è molto simile, e si possono quindi cogliere diversi aspetti importanti.

Chi desidera sapere come scrivere uno smart contract, però, dovrebbe imparare il linguaggio Solidity. Si tratta infatti di uno dei più utilizzati e serve a implementare contratti tramite un semplice linguaggio con parentesi graffe simile a C++. Supporta anche l’estensione dei contratti e offre la possibilità di usare codici riutilizzabili.

Per quanto riguarda la creazione vera e propria, invece, possiamo riassumere il processo nei seguenti step:

  • creare un wallet Metamask e muoversi su blockchain Ethereum
  • depositare degli ETH sul proprio wallet
  • usare remix.ethereum.org per scrivere uno smart contract
  • distribuire il contratto e visitare etherscan.io per selezionarlo
  • copiare il codice dello smart contract e incollarlo di nuovo Etherscan compilarne il codice e verificarlo definitivamente
  • una volta verificato, lo smart contract può essere usato dagli altri utenti.

È anche utile sottolineare la differenza tra i vari smart contracts. Alcuni possono essere contratti di token presenti sul mercato, mentre altri servono ad approvare processi come quelli di staking, farming e liquidity mining.

Inoltre, è raccomandabile verificare che un eventuale token da aggiungere al proprio wallet sia presente su piattaforme centralizzate come Bitpanda: così facendo si eviterà di interagire con contratti malevoli.

Applicazioni ed esempi di smart contract

Esistono svariati esempi di smart contract, come abbiamo anticipato in precedenza. Basti pensare che esistono smart contract per aggiungere dei token al proprio wallet Metamask o Atomic wallet, come lo smart contract di Cardano o di Ripple.

Ogni criptovaluta funziona su determinate blockchain, quindi bisogna fare attenzione alla rete da utilizzare quando si opera in questo modo. Ecco di seguito alcuni possibili esempi di smart contract nel mondo reale:

  • uso di smart contract per regolamentare il bilancio pubblico
  • utilizzo di contratti intelligenti per processi di voto trasparente e automatizzato
  • smart contract nell’IoT per aggiungere strati di sicurezza
  • utilizzo nei registri per la conservazione delle informazioni.

I campi sopracitati, infatti, possono beneficiare dei contratti intelligenti per ridurre il numero di processi, aumentare il livello di sicurezza e la trasparenza delle operazioni. Trattandosi di processi automatizzati, l’errore umano e le possibilità di corruzione (ad esempio nelle procedure elettorali) vengono portati al minimo.

Anche gli exchange possono sfruttare gli smart contract, convertendo immediatamente le valute quando si riceve una determinata somma. Per quanto riguarda gli investimenti, inoltre, ci si può avvalere dei contratti intelligenti anche per l’acquisto di titoli in borsa, per valutarne l’andamento e procedere con l’acquisto quando questo raggiunge una somma ben precisa.

Naturalmente, però, un rischio minimo non è del tutto nullo: purtroppo non mancano le truffe anche in questo campo, dato che molti smart contract di airdrop si rivelano essere malevoli. Sono tantissimi i casi di utenti truffati da contratti manipolati per prosciugare i fondi all’interno del wallet.

Perché sono importanti? Vantaggi (e limiti) degli smart contract

Partendo dagli aspetti positivi degli smart contract, si può affermare che il livello di sicurezza degli smart contract è decisamente più elevato rispetto alla norma, grazie ai meccanismi di consenso di validazione delle transazioni e alle regole dettate dal contratto stesso. Essendo visibili da tutti, poi, i contratti intelligenti risultano trasparenti e accessibili da qualsiasi parte del mondo e, soprattutto, immutabili.

Altro aspetto importante che caratterizza gli smart contract è il fatto che consentono a due parti di effettuare scambi peer-to-peer, tant’è che si parla spesso di smart contract e peer-to-peer economy. Inoltre, non serve usare nessuna carta per firmare documenti, accordi e testamenti, in quanto tutto è crittografato ed economico, data l’assenza di intermediari.

Quando si parla di smart contract, però, è bene essere consapevoli anche dei loro limiti e dei possibili problemi correlati, da non sottovalutare. È infatti opportuno considerare che al momento non esistono leggi e regolamentazioni ufficiali per l’utilizzo di smart-contract. Per questo specifico motivo, per questioni di sicurezza molti utenti preferiscono – per investire criptovalute – utilizzare piattaforme come quella di Bitpanda.

La stessa immutabilità degli smart contract, citata prima tra i vantaggi, può essere ritenuta anche svantaggiosa da un certo punto di vista. L’impossibilità di modificare i termini contrattuali, infatti, può essere visto come un punto debole nel caso in cui l’aggiornamento sia necessario per restare al passo con eventuali cambiamenti di scenario politici ed economici.

Inoltre, alcuni smart contract rendono le blockchain poco scalabili e costose, causando congestioni della rete e inutilizzabilità da parte di chi ha pochi fondi. Va poi considerato che la presenza di un bug o una falla in uno smart-contract può mettere a rischio diverse migliaia o milioni di utenti, com’è già successo in passato con alcuni protocolli decentralizzati.

Alla luce di quanto detto, quindi, il grado di sicurezza dei contratti intelligenti risulta spesso insufficiente. Per questa ragione i contratti intelligenti non vengono ancora utilizzati nel concreto in alcuni dei settori citati in precedenza.

Conclusione

In questa guida sui contratti intelligenti abbiamo visto cosa sono gli smart contract, come funzionano e come crearne uno in pochi passaggi con il linguaggio Solidity. Trattandosi di strumenti non così semplici da utilizzare, c’è ancora una certa difficoltà nel prendere familiarità con questo tipo di contratti.

Nonostante ciò, moltissimi esperti di Fintech stanno approfondendo gli smart contracts e si interessano sempre di più al mondo della finanza decentralizzata, pur considerandone i rischi.

Come sottolineato più volte anche in questo contesto, quello della sicurezza è un aspetto da non prendere mai sottogamba, soprattutto in questo settore. Consigliamo quindi di ricorrere sempre a delle piattaforme d’investimento sicure come Bitpanda, per non rischiare di commettere errori usando protocolli e approvando contratti intelligenti.

Prima di usare strumenti di questo tipo, infatti, è opportuno approfondirli e comprenderli a fondo, partendo prima di tutto dallo studio di Ethereum, principale blockchain per la distribuzione di smart contracts.

*Questo articolo contiene link di affiliazione: acquisti o ordini effettuati tramite tali link permetteranno al nostro sito di ricevere una commissione.

Domande frequenti sugli smart contracts

Cos'è uno smart contract?

Uno smart contract è un contratto intelligente scritto in linguaggio di programmazione (il più delle volte Solidity). Ogni contratto detta determinate delle regole che, nel momento in cui vengono raggiunte, consentono l’esecuzione automatica dello stesso, eliminando intermediari e favorendo la decentralizzazione.

Come sono nati gli smart contract?

Il termine smart contract è stato usato per la prima volta da Nick Szabo nel 1996, ma il primo vero utilizzo è avvenuto con l’avvento di Ethereum, 5 anni dopo la nascita di Bitcoin. La blockchain Ethereum, infatti, è il più grande ecosistema di contratti intelligenti esistente.

Quali sono i vantaggi dati dagli smart contract?

Tramite gli smart contract è possibile minimizzare i processi, abbattere i costi e aumentare la velocità delle transazioni, senza la necessità di intermediari. Gli utenti possono effettuare scambi peer-to-peer senza dover riporre la propria fiducia su nessuno, in quanto sarà il contratto a garantire il successo della transazione.

Quali blockchain per criptovalute possono eseguire uno smart contract?

Alcune delle blockchain più conosciute per l’utilizzo di contratti intelligenti, oltre Ethereum, sono sicuramente la Binance Smart Chain (BSC), la rete Fantom (FTM), la rete Solana (SOL) e la blockchain Terra (LUNA). Ognuna di esse ha diversi costi di commissione, ma tutte sono decisamente più economiche rispetto a Ethereum, nonostante questa sia la più famosa.

Questo articolo contiene link di affiliazione: acquisti o ordini effettuati tramite tali link permetteranno al nostro sito di ricevere una commissione nel rispetto del codice etico. Le offerte potrebbero subire variazioni di prezzo dopo la pubblicazione.