Vai al contenuto principale

Introduzione agli smart contract

Gli smart contract sono i mattoni fondamentali del livello applicativo di Ethereum. Sono programmi informatici archiviati sulla che seguono la logica "se accade questo, allora fai quello" (if this then that) e la cui esecuzione è garantita secondo le regole definite dal loro codice, che non può essere modificato una volta creato.

Nick Szabo ha coniato il termine "smart contract". Nel 1994, ha scritto un'introduzione al concetto (opens in a new tab) e nel 1996 ha scritto un'esplorazione di ciò che gli smart contract potrebbero fare (opens in a new tab).

Szabo immaginava un mercato digitale in cui processi automatici e consentissero lo svolgimento di transazioni e funzioni aziendali senza intermediari fidati. Gli smart contract su Ethereum mettono in pratica questa visione.

Guarda Finematics che spiega gli smart contract:

Code is law? Smart contracts explained

Exploring the concept of 'code is law' through the lens of smart contracts on Ethereum and DeFi.

Watch with transcript 

La fiducia nei contratti convenzionali

Uno dei problemi principali di un contratto tradizionale è la necessità di individui fidati che portino a termine i risultati del contratto.

Ecco un esempio:

Alice e Bob stanno facendo una gara in bicicletta. Supponiamo che Alice scommetta 10 $ con Bob che vincerà la gara. Bob è sicuro di vincere e accetta la scommessa. Alla fine, Alice finisce la gara con molto anticipo rispetto a Bob ed è la chiara vincitrice. Ma Bob si rifiuta di pagare la scommessa, sostenendo che Alice deve aver barato.

Questo stupido esempio illustra il problema di qualsiasi accordo non "smart". Anche se le condizioni dell'accordo vengono soddisfatte (cioè, sei il vincitore della gara), devi comunque fidarti di un'altra persona affinché adempia all'accordo (cioè, paghi la scommessa).

Un distributore automatico digitale

Una semplice metafora per uno smart contract è un distributore automatico, che funziona in modo un po' simile a uno smart contract: input specifici garantiscono output predeterminati.

  • Selezioni un prodotto
  • Il distributore automatico mostra il prezzo
  • Paghi il prezzo
  • Il distributore automatico verifica che tu abbia pagato l'importo corretto
  • Il distributore automatico ti consegna l'articolo

Il distributore automatico erogherà il prodotto desiderato solo dopo che tutti i requisiti saranno stati soddisfatti. Se non selezioni un prodotto o non inserisci abbastanza denaro, il distributore automatico non ti darà il prodotto.

Esecuzione automatica

Il vantaggio principale di uno smart contract è che esegue in modo deterministico un codice inequivocabile quando vengono soddisfatte determinate condizioni. Non c'è bisogno di aspettare che un essere umano interpreti o negozi il risultato. Questo elimina la necessità di intermediari fidati.

Ad esempio, potresti scrivere uno smart contract che trattiene dei fondi in garanzia (escrow) per un bambino, consentendogli di prelevarli dopo una data specifica. Se cerca di prelevarli prima di tale data, lo smart contract non verrà eseguito. Oppure potresti scrivere un contratto che ti fornisce automaticamente una versione digitale del certificato di proprietà di un'auto quando paghi il concessionario.

Risultati prevedibili

I contratti tradizionali sono ambigui perché si affidano agli esseri umani per interpretarli e implementarli. Ad esempio, due giudici potrebbero interpretare un contratto in modo diverso, il che potrebbe portare a decisioni incoerenti e risultati disuguali. Gli smart contract eliminano questa possibilità. Al contrario, gli smart contract vengono eseguiti in modo preciso in base alle condizioni scritte all'interno del codice del contratto. Questa precisione significa che, date le stesse circostanze, lo smart contract produrrà lo stesso risultato.

Registro pubblico

Gli smart contract sono utili per gli audit e il tracciamento. Poiché gli smart contract di Ethereum si trovano su una blockchain pubblica, chiunque può tracciare istantaneamente i trasferimenti di asset e altre informazioni correlate. Ad esempio, puoi verificare che qualcuno abbia inviato denaro al tuo indirizzo.

Protezione della privacy

Gli smart contract proteggono anche la tua privacy. Poiché Ethereum è una rete pseudonima (le tue transazioni sono legate pubblicamente a un indirizzo crittografico univoco, non alla tua identità), puoi proteggere la tua privacy dagli osservatori.

Termini visibili

Infine, come per i contratti tradizionali, puoi controllare cosa c'è in uno smart contract prima di firmarlo. A differenza di un contratto tradizionale, la trasparenza onchain di uno smart contract consente a chiunque di esaminarlo e revisionarlo prima di interagirvi.

Tuttavia, sebbene chiunque possa visualizzare i termini di uno smart contract, i dati grezzi della transazione sono progettati per essere interpretati da applicazioni e portafogli, non dagli esseri umani. Poiché questi dati sono così difficili da leggere, gli utenti affrontano spesso un grave rischio per la sicurezza chiamato "firma alla cieca" (blind signing), ovvero l'approvazione di una transazione che interagisce con uno smart contract senza capire effettivamente cosa farà.

L'ecosistema di Ethereum sta passando agli standard di Firma in chiaro (Clear Signing) (opens in a new tab) (nello specifico ERC-7730 (opens in a new tab)). La firma in chiaro traduce i dati opachi degli smart contract in descrizioni delle transazioni semplici e leggibili dall'uomo, garantendo che chiunque possa comprendere il vero intento di un contratto prima di firmare.

Casi d'uso degli smart contract

Gli smart contract possono fare essenzialmente tutto ciò che possono fare i programmi informatici.

Possono eseguire calcoli, creare valuta, archiviare dati, coniare , inviare comunicazioni e persino generare grafica. Ecco alcuni esempi popolari nel mondo reale:

Letture consigliate

Metti alla prova la tua conoscenza di Ethereum

Ultimo aggiornamento della pagina: 26 maggio 2026